Brian #1: Python async frameworks - Beyond developer tribalism
- Tom Christie
- Written on encode.io. encode also encompasses several awesome projects:
- Django REST framework
- HTTPX
- async projects: starlette, uvicorn, orm, databases, broadcaster
- Partly a reaction to “Async Python is not faster”
- Tom would like to see the Python community move beyond polarizing discussions.
- “… we could probably benefit from a bit more recognition of where there is shared ground. And in areas where there’s less clarity, to be able to have constructive conversations around the relative merits in differing approaches.”
- Some points about performance
- You probably shouldn’t care about performance when you start a project. Success of a project is more related to development experience and strength of the surrounding ecosystem.
- We should care enough about performance that people don’t dismiss Python due to performance issues.
- Be careful about the word “performance”. Single async function calls are slightly slower. But as concurrency increases on I/O bound systems, async Python will remain more efficient at interleaving the concurrent tasks.
- There are no good benchmarks.
- There are valid unknowns.
- Should we have hybrid frameworks or have new async frameworks?
- There are different approaches
- asyncio, trio, twisted, curio
- In general, Python async discussions continue to move toward positive discourse, even with this divisive topic and strong opinions.
- “In short this is a call for the benefits of adopting a genuinely collaborative mindset rather than a competitive mindset.
- We may all working on different little corners of the landscape, but we’re can still all appreciate that in the bigger view, we’re all working together.”
#python