Nginx
Flask
Our great sponsors
Nginx | Flask | |
---|---|---|
97 | 135 | |
20,165 | 66,287 | |
1.2% | 0.7% | |
8.9 | 8.7 | |
7 days ago | 8 days ago | |
C | Python | |
- | 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.
Nginx
-
How to securely reverse-proxy ASP.NET Core web apps
However, it's very unlikely that .NET developers will directly expose their Kestrel-based web apps to the internet. Typically, we use other popular web servers like Nginx, Traefik, and Caddy to act as a reverse-proxy in front of Kestrel for various reasons:
- Ask HN: Is nginx.org (the domain-name itself) gone?
-
Freenginx: Core Nginx Developer Announces Fork of Popular Web Server
> I actually don't understand why I am seeing arguments like this all the time.
Have a look at:
https://github.com/nginx/nginx/blob/master/src/http/modules/...
It's got the whole checklist: nginx idiosyncratic module system, inline parsing, custom utf conversion, buffer preallocation and adjustments, linked lists, comments about side effects of custom allocator, and probably other things.
It's not easy to deal with source like that and any serious improvement to that area would effectively be a rewrite anyway.
Since anything doing work in nginx is a module anyway, it wouldn't even have to be a full rewrite in one go.
-
The Internet is Maintained by 1 Software Developer
According to this article, nGinx is being used to serve 34% of all websites in the world. I checked out who's contributing to nGinx, and just like I thought, the project has 8,208 commits, and 5,366 of those commits was made by 2 software developers; igorsoev and mdounin.
- [06/52] Accessible Kubernetes with Terraform and DigitalOcean
- Freenginx.org
-
Performance benchmark of PHP runtimes
Nginx + Roadrunner (fcgi mode)
-
Web CGI programs aren't particularly slow these days
Apache’s mod_fastcgi’s last commit was 2 weeks ago:
https://svn.apache.org/viewvc/httpd/httpd/trunk/
It’s a fork of what you linked (and was more popular afaik back when fastcgi was state of the art, and apache was the undisputed champion of web servers).
These days, nginx has more market share than apache, and its fastcgi module is one of the more recently updated ones in its source tree (5 months vs multiple years):
https://github.com/nginx/nginx/tree/master/src/http/modules
If I was going to build an embedded web server, I’d start with nostd rust, probably with though axum + tokio, since thats already memory safe-ish.
If I needed fastcgi for some reason (dynamically loadable endpoints, or os-level isolation), there are at least four implementations of fastcgi for it. No idea if any are decent though.
-
Five Apache projects you probably didn't know about
APISIX is an API Gateway. It builds upon OpenResty, a Lua layer built on top of the famous nginx reverse-proxy. APISIX adds abstractions to the mix, e.g., Route, Service, Upstream, and offers a plugin-based architecture.
-
Nginx is Probably Fine
I suppose you could read the code. https://github.com/nginx/nginx
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?
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
envoy - Cloud-native high-performance edge/middle/service proxy
Django - The Web framework for perfectionists with deadlines.
Squid - Squid Web Proxy Cache
AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python
nestjs-monorepo-microservices-proxy - Example of how to implement a Nestjs monorepo with no shared folder
quart - An async Python micro framework for building web applications.
Hiawatha - Hiawatha is an open source webserver with security, easy to use and lightweight as the three key features. Hiawatha supports among others (Fast)CGI, IPv6, URL rewriting and reverse proxy. It has security features no other webserver has, like blocking SQL injections, XSS and CSRF attacks and exploit attempts. The built-in monitoring tool makes it perfect for large scale deployments.
starlette - The little ASGI framework that shines. 🌟
YARP - A toolkit for developing high-performance HTTP reverse proxy applications.
Tornado - Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.