Superfunctions: A universal solution against sync/async fragmentation in Python

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
  1. transfunctions

    Say NO to Python fragmentation on sync and async

  2. Sevalla

    Deploy and host your apps and databases, now with $50 credit! Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!

    Sevalla logo
  3. asgiref

    ASGI specification and utilities

    Certainly an interesting approach compared to asgiref or synchronicity but I have doubts about the approach.

    Does this not add further function colors - that of a transfunction, tiddle superfunction and non-tilde superfunction? Now every time you call one from another you need to use both the context managers and know what variant you are calling.

    asgiref provides the simple wrappers sync_to_async() and async_to_aync(). Easy to understand and to slowly transition. Caveat is the performance impact if overused.

    synchronicity uses a different approach - write 100% async code and expose both a sync and async interface. async def foo() becomes def foo() and async def foo.aio().

    https://github.com/django/asgiref

  4. synchronicity

    Synchronicity lets you interoperate with asynchronous Python APIs.

  5. httpx

    A next generation HTTP client for Python. 🦋

    For an http API (say something like boto3 or a client for arangodb) you might want to use the API from either a sync or async application. Since the code is almost all the same you can code generate a version of the API for both sync and async which is particularly easy if you use

    https://www.python-httpx.org/

    since you can use basically the same http client for both sides. One way to do it is write code like the sample I showed and use

    https://docs.python.org/3/library/ast.html

    to scan the tree and either remove the maybe_await() or replace it with an await accordingly. You could either do this transformation when the application boots or have some code that builds both sync and async packages and packs the code up in PyPi. There are lots of ways to do it.

  6. go

    The Go programming language

    > at giving work out to multiple cores once the IO finishes

    The IO (read, write) doesn't need to finish, just the poll call. That's a very different thing in terms of core utilization, and while it's a serialization point, it's not the only serialization point in Go's architecture; it falls out from Go having a single, global run queue.

    But thank you for pointing that out. TIL, there's a single epoll queue for the whole Go process: https://github.com/golang/go/issues/65064

  7. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Microdot "The impossibly small web framework for Python and MicroPython"

    6 projects | news.ycombinator.com | 5 Nov 2023
  • Uvicorn

    1 project | news.ycombinator.com | 31 Aug 2025
  • Implementing CurrencyAgent with A2A Python SDK

    4 projects | dev.to | 22 May 2025
  • A2A Python Tutorial - Comprehensive Guide

    2 projects | dev.to | 2 May 2025
  • Python: Why Quart Might Be the Better Choice over FastAPI

    3 projects | dev.to | 18 Apr 2025

Did you know that Python is
the 2nd most popular programming language
based on number of references?