Sniffio is a small Python library that detects which async I/O framework your code is running under, such as Trio or asyncio. It is useful for library authors who want to select the right async integration logic based on the active async environment.
Project status
- Maintenance status: The repo shows an upstream push on 2026-03-06, which suggests ongoing activity, but the last published updates tag is v1.3.1 on 2024-02-25, so it appears low-cadence rather than actively churning new versions.
- Update cadence: After v1.3.0 (2022-09-01), the next documented update is v1.3.1 (2024-02-25), indicating multi-year gaps between tagged updates.
AI summary generated
Recent updates
v1.3.1
Version 1.3.1 primarily includes a small runtime API exposure fix around `sniffio.thread_local`, plus build and CI modernization. The diff also removes `setup.py` in favor of a `pyproject.toml` based build configuration, which can affect older build tooling expectations.
Breakingv1.3.0
Version 1.3.0 adds Python 3.9 and 3.10 support and introduces a new mechanism, sniffio.thread_local.name, for coroutine libraries to declare the active async library. It also drops support for Python 3.5 and 3.6 (python requirement raised).
BreakingFeaturesv1.2.0
The publisher did not provide release notes for v1.2.0, so there is no documented information about new features, fixes, or breaking changes. Developers should review the corresponding code changes and changelog/PR history to determine upgrade impact.
v1.1.0
This release updates sniffio to recognize Curio as a supported async library, and bumps the test matrix and version metadata to 1.1.0. The core API behavior change is in how sniffio determines the current async framework at runtime.
Featuresv1.0.0
This release is tagged v1.0.0, but no release notes or change descriptions were provided. As a result, the upgrade impact, including potential breaking changes, cannot be determined from the release notes alone.