Back to Explore

python-trio/sniffio

GitHub
1 watchersOpen source

Last release:

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/activity: The upstream repo has a recent push on 2026-03-06, but the most recent tagged updates shown here are v1.3.1 (2024-02-25), suggesting continued but relatively low-visibility maintenance.
  • Update cadence: Published updates appear infrequent, with a long gap from v1.3.0 (2022-09-01) to v1.3.1 (2024-02-25), and no additional tagged updates listed between 2024-02-25 and today (2026-09-10).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

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.

    Breaking
  • v1.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).

    BreakingFeatures
  • v1.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.

    Features
  • v1.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.