starlette
Tornado
Our great sponsors
starlette | Tornado | |
---|---|---|
55 | 13 | |
9,510 | 21,512 | |
3.0% | 0.3% | |
9.2 | 7.4 | |
1 day ago | 4 days ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
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.
starlette
- Ask HN: What is your go-to stack for the web?
-
Building Fast APIs with FastAPI: A Comprehensive Guide
Fast Execution: FastAPI is built on top of Starlette and Pydantic, making it one of the fastest Python frameworks for building APIs.
-
Embracing Modern Python for Web Development
The framework's efficiency comes from its use of Starlette for building asynchronous web services and Pydantic for robust data validation and serialization, powered by Python's type hints. Pydantic has recently announced the official release of Pydantic V2 (June 2023), which is a ground-up rewrite that offers many new features and performance improvements, so make sure to be using that instead of V1.
-
FastHttp for Python (64k requests/s)
Uvicorn + Starlette 8k requests/s
- Microdot "The impossibly small web framework for Python and MicroPython"
-
An Introduction to âš¡FastAPI
Starlette documentation
-
Writing a chat application in Django 4.2 using async StreamingHttpResponse
Same here, but without these weird utils it doesn't get any better.
I have 7 YoE with Django. Its great at so many things. You see some code, like middlewares, and immediately understand what's going on.
Now, we also have Starlette. The base of all new, fancy asgi libraries. Here's the base middleware class.
https://github.com/encode/starlette/blob/8d7a1cacfb3e1a30cbb...
In the last couple of years I heard 'we're running fastapi on production. Wanna join us?' so many times... but the reality is that it's still not suitable for prod. Who wants to work with a code like that if you have a readable, stable Django? I'm clueless.
-
Deploying an ML model to Paperspace and creating an API
Set up Starlette, a tool we'll use to make async requests
-
FastAPI middleware doesn't run while making request to websocket endpoint
I never used websockets in FastAPI so I wouldn't know how to guide you more, but Middleware in Websockets are 100% supported by Starlette : https://github.com/encode/starlette/issues/641
-
Chat implementation
Websockets are the way but I would not recommend django as it's still not fully async. I would go for other tools.
Tornado
-
Epoll: The API that powers the modern internet (2022)
I am not expert in these but I thought Tornado's ioloop was readable enough for me to learn more event loops. Mostly, it was being implemented in pure Python.
https://github.com/tornadoweb/tornado/blob/branch4.5/tornado...
(Had to be in 4.5 because the newer versions 5.x and 6.x, it's switched to Python's stdlib asyncio)
-
Tornado web server/framework
I am a bit confused, Tornado is web server like a apache http server, or a framework like django, or both?
- Ask HN: What's the most elegant piece of code you've seen?
-
In your experience, what is the best backend framework for working with websockets?
For Python, I use Tornado.
-
tornado for a complete beginner
tornado? this https://github.com/tornadoweb/tornado ?
-
How to work with an RPC WebSocket Server
I'm writing a Node app that talks to a server that uses Tornado, a Python networking framework. The server uses WebSocket and structured JSON to expose RPCs, like sign_on called with the following message:
-
Ask HN: Web frameworks – which less popular framework are you using and why?
I've been using Python's Tornado (http://www.tornadoweb.org/) for years now.
Now on version 6, it's fast, well maintained, mature, and has good docs with readable code.
@bdarnell has done an excellent job maintaining it.
Here's one example:
Tornado supported async style co-routines before asyncio was a thing. Now it uses asyncio under the hood by default -- and it did so with an exceptionally smooth transition.
-
The Best Python Web Frameworks🤩
Tornado is another micro framework aimed at a specific use case: asynchronous networking applications. Tornado is well-suited for creating services that open a great many network connections and keep them alive that is, anything involving WebSockets or long polling. Moreover, It requires Python 3.5 or higher and drops Python 2 support entirely.
-
TIL : Tornado | Fix "tornado.util.TimeoutError: Operation timed out after 5 seconds"
How to fix tornado.util.TimeoutError: Operation timed out after 5 seconds on tornado test debug?
-
Project brainstorming for real-time data display
Here's an official demo chat app using websocket: https://github.com/tornadoweb/tornado/tree/master/demos/websocket, though you should read the docs on websocket for understanding the code.
What are some alternatives?
Flask - The Python micro framework for building web applications.
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
uvicorn - An ASGI web server, for Python. 🦄
AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python
Django - The Web framework for perfectionists with deadlines.
starlite - Light, Flexible and Extensible ASGI API framework | Effortlessly Build Performant APIs [Moved to: https://github.com/litestar-org/litestar]
CherryPy - CherryPy is a pythonic, object-oriented HTTP framework. https://cherrypy.dev
quart - An async Python micro framework for building web applications.
sanic - Accelerate your web app development | Build fast. Run fast.