gunicorn
Flask
Our great sponsors
gunicorn | Flask | |
---|---|---|
17 | 135 | |
9,494 | 66,287 | |
- | 0.7% | |
8.1 | 8.7 | |
7 days ago | 9 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gunicorn
-
Nginx Unit – Universal web app server
I'm hoping so – gunicorn has a long-open pull request that would fix `--reuse-port`, which currently does nothing
https://github.com/benoitc/gunicorn/pull/2938
- SynchronousOnlyOperation from celery task using gevent execution pool on django orm
-
Deploying Django when using python-socketio
However, I'm curious about the best way to deploy, specifically with regard to WSGI. I've tried using the raw eventlet WSGI server (`eventlet.wsgi.server(eventlet.listen(("", 8000)), application)`). I then start it with `python manage.py runserver`. This has worked okay, but I'm unsure about how scalable it is. It seems like the standard stack is Django + Gunicorn + NGINX. Based on `python-socketio` documentation, this should be possible. I tried django + eventlet + gunicorn, but it seems like gunicorn a) [doesn't play nice with eventlet](https://github.com/benoitc/gunicorn/pull/2581) and b) only supports one worker. Gevent + Gunicorn doesn't have this bug, but still only supports one worker. Also, I'm not sure how actively maintained gevent is. So I'm not sure how scalable either Gunicorn + eventlet or Gunicorn + geventlet is as a WSGI server. So I'm not sure if Gunicorn is my best bet, or if it's too limited.
- The Django ecosystem is not so good
-
3 cool project ideas for Python programmers
For building your API, I recommend using the Flask library. It is very beginner-friendly, and you will be able to build a simple API in a matter of minutes! Keep in mind that, for a more serious project, you should definitely use something like gunicorn to run you API as a production server.
-
Django 4.1 Released
Interesting looks like it might actually be a python bug. Somehow just changing from sys.exit(0) -> os._exit(0) apparently fixes it.
https://github.com/benoitc/gunicorn/pull/2820
-
Serverless Templates for AWS and Python
The cool thing is that you can easily migrate your WSGI- application such as Flask, Django, or Gunicorn to AWS.
-
Scope of database threads + connections + sessions
Yeah, that's kind of the impression I was getting. I stumbled across a github issue for gunicorn along these lines.
-
Running Django with Gunicorn - Best Practice
Taking a glimpse at gunicorn's code it looks like they pretty much all do the same: 2. seems to be creating a wsgi app using django's internals, and 3. uses 2.
Flask
-
Ask HN: High quality Python scripts or small libraries to learn from
I'd suggest Flask or some of the smaller projects in the Pallets ecosystem:
https://github.com/pallets/flask
-
Rapid Prototyping with Flask, Bootstrap and Secutio
#!/usr/bin/python # # https://flask.palletsprojects.com/en/3.0.x/installation/ # from flask import Flask, jsonify, request contacts = [ { "id": "1", "firstname": "Lorem", "lastname": "Ipsum", "email": "[email protected]", }, { "id": "2", "firstname": "Mauris", "lastname": "Quis", "email": "[email protected]", }, { "id": "3", "firstname": "Donec Purus", "lastname": "Purus", "email": "[email protected]", } ] app = Flask(__name__, static_url_path='', static_folder='public',) @app.route("/contact//save", methods=["PUT"]) def save_contact(id): data = request.json contacts[id - 1] = data return jsonify(contacts[id - 1]) @app.route("/contact/", methods=["GET"]) @app.route("/contact//edit", methods=["GET"]) def get_contact(id): return jsonify(contacts[id - 1]) @app.route('/') def root(): return app.send_static_file('index.html') if __name__ == '__main__': app.run(debug=True)
- Microdot "The impossibly small web framework for Python and MicroPython"
-
Why do all the popular projects use relative imports in __init__ files if PEP 8 recommends absolute?
I was looking at all the big projects like numpy, pytorch, flask, etc.
-
10 Github repositories to achieve Python mastery
Explore here.
-
Ask HN: What would you use to build a mostly CRUD back end today?
I may use Flask-Admin initially to offload the "CRUD" operations to have an initial prototype fast but then drop it ASAP because I don't want to write a "flask-admin application" to fight against later on. If the application is mainly "CRUD", then Flask-Admin is suitable.
Now...
Would you do a breakdown/list of all the jobs you've done by sector/vertical and by function/role and by application functionality?
- [0]: https://flask.palletsprojects.com
- [1]: https://flask-admin.readthedocs.io/en/latest
- [2]: https://flask.palletsprojects.com/en/2.3.x/patterns/celery
- [3]: https://sentry.io
- [4]: https://posthog.com
- [5]: https://www.docker.com
-
Implementing continuous delivery pipelines with GitHub Actions
In the lab to follow, we will be setting up an end-to-end DevOps workflow for a Flask microservice with GitHub Actions, using a self-managed custom runner for maximal control over the pipeline execution environment and automating deployments to a local Kubernetes cluster. Furthermore, we will construct separate pipelines for our "development" and "production" environments to further elaborate on the concepts of continuous deployment and delivery.
- How do you iterate on a library built locally?
-
Flask Application Load Balancing using Docker Compose and Nginx
Flask Micro web Framework: You will use Flask to build a Flask web application.
-
Open Source Flask-based web applications
In an earlier post I mentioned a bunch of Open Source web applications. Let's now focus on the ones written in Python using Flask the light-weight web framework.
What are some alternatives?
waitress - Waitress - A WSGI server for Python 3
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
Werkzeug - The comprehensive WSGI web application library.
Django - The Web framework for perfectionists with deadlines.
bjoern - A screamingly fast Python 2/3 WSGI server written in C.
AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python
uwsgi - Official uWSGI docs, examples, tutorials, tips and tricks
quart - An async Python micro framework for building web applications.
meinheld - Meinheld is a high performance asynchronous WSGI Web Server (based on picoev)
starlette - The little ASGI framework that shines. 🌟
hypercorn - Hypercorn is an ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.
Tornado - Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.