Re:Ask HN: What Python framework would you use to serve up a...
by avinassh on Wednesday November 05, 2014 @02:46AM
(#8560876)
I use Tornado. It's simple, lightweight and very well documentated. It wouldn't take much time to get it up and running. And it also supports asynchronous operations out of box unlike Flask.
However community isn't big as that of Flask and has low bus factor.
Other alternative is Django REST Framework[0]. It's also well documented and get the work done. However code base is large compared to Tornado. Advantage is, it has a bigger community support and it's easy to find a developer.
Re:Ask HN: What Python framework would you use to serve up a...
by mushfiq on Wednesday November 05, 2014 @03:32PM
(#8564092)
I used Django Tastypieapi (http://tastypieapi.org/). Deployed with wsgi, backend was mongodb. Worked perfectly fine. Documentation is also better than average.
Re:Ask HN: What Python framework would you use to serve up a...
by dheera on Wednesday November 05, 2014 @10:21AM
(#8562152)
Thanks!
Any particular points I should be aware of in this setup?
I've deployed many small websites using flask+uwsgi+nginx before, but for a high-volume API, there seem to be a number of "fragile" aspects to this, e.g. processes and threads settings, since WSGI is synchronous.
If I may ask, what's usually the weakest link in this setup, and what's the best way to monitor for problems and scale appropriately and intelligently as users grow? For example, let's say I set processes = 16, it hits the limit, but it turns out that I still have plenty of CPU and RAM to spare and I want it to dynamically make use of that?
However community isn't big as that of Flask and has low bus factor.
Other alternative is Django REST Framework[0]. It's also well documented and get the work done. However code base is large compared to Tornado. Advantage is, it has a bigger community support and it's easy to find a developer.
[0] - http://www.django-rest-framework.org/
I know that SurveyMonkey also uses the pyramid+nginx setup.
Edit: Pyramid Documentation: http://docs.pylonsproject.org/en/latest/docs/pyramid.html#py...
It's new, not fully baked yet, and yet it is amazingly powerful and simple to use.
[1] http://python-eve.org/
I've deployed many small websites using flask+uwsgi+nginx before, but for a high-volume API, there seem to be a number of "fragile" aspects to this, e.g. processes and threads settings, since WSGI is synchronous.
If I may ask, what's usually the weakest link in this setup, and what's the best way to monitor for problems and scale appropriately and intelligently as users grow? For example, let's say I set processes = 16, it hits the limit, but it turns out that I still have plenty of CPU and RAM to spare and I want it to dynamically make use of that?