Beginners and experts (Batchelder blog post)

justin walters walters.justin01 at gmail.com
Fri Sep 29 10:52:45 EDT 2017


On Fri, Sep 29, 2017 at 2:57 AM, Leam Hall <leamhall at gmail.com> wrote:

> On 09/27/2017 10:33 PM, Stefan Ram wrote:
>
>    Some areas of knowledge follow, a programmer should not be
>>    ignorant in all of them:
>>
>
> ---
>
> Stefan, this is list AWESOME!
>
> I have started mapping skills I have to the list and ways to build skills
> I don't have. Last night I started working on a project that has been on my
> mind for over a year; taking a CSV list of game characters and putting them
> into a MongoDB datastore. Now I need to figure out how to build an
> interface for CRUD operations using Python, pymongo, and maybe Tk.
>
> I appreciate the structure your list provides. Thank you!
>
> Leam
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>

Python web backends just happen to be my specialty. I do mostly Django, but
it doesn't
mesh well with MongoDB. Well, it does if you still use an RDBMS forsome
things.

I can recommend the following:

- Flask: http://flask.pocoo.org/
    Small and light But not tiny. Not really fast, not really slow. Not a
ton of batteries included.
    Tons of third-party extensions.

- ApiStar: https://github.com/encode/apistar
    New kid on the block. Specializes in APIS. No template integrations.
Best for serving
    JSON through a RESTful interface. Fairly quick, but not blazing fast.
Has the upside that any
    web API can be exposed as a CLI API. Not a ton of third party
extensions available. Would
    be a good choice if you don't want to build a desktop application
instead of a web application
    as it will help design the API that something like Tkinter will sit on
top of.

- Sanic: https://github.com/channelcat/sanic
    Another new kid. Python 3.5+ only. Uses the new async capabilities
quite heavilly.
    Based on falcon. Blazing fast. No batteries included. Small number of
fairly high
    quality third-party extensions.

- Django: https://www.djangoproject.com/
    The old workhorse. Mature and proven. Best choice for reliability. Not
fast, not slow.
    Huge collection of third party extensions ranging in quality. Though,
it is pretty heavilly
    integrated with it's relational Db backends. If you decide on this, you
would need to
    use postgres/sqlite/mysql to store all of Django's built in model
classes(tables).

I got through writing all of the above without realizing that you meant you
wanted to build a
desktop application and not a web application. Though, I think the advice
is still helpful.



More information about the Python-list mailing list