trio-typing
Static type checking support for Trio and related projects
Decision gist · record as of 2026-08-14
Yes, if you are actively developing Trio code and want static type checking. The package is stable, permissively licensed, and has no known vulnerabilities. However, maintenance is dormant (last release 2023-12-01), so verify that the type stubs remain accurate for your Trio version before relying on it for new projects. The mypy plugin requires mypy 1.0+ and CPython for type checking.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Type checking requires mypy on CPython; install trio-typing[mypy] and add 'plugins = trio_typing.plugin' to mypy.ini to enable the plugin.
- PyPy is supported at runtime but not for type checking.
- Low install friction with a pure-wheel distribution.
License · maintenance · safety
MIT -or- Apache License 2.0 (permissive) — Dual-licensed under MIT or Apache License 2.0 (permissive), so you may choose either license when incorporating this package into your own projects.
last release 2023-12-01 (987 days) · last repo commit 2024-10-24 · 29 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,402,157 downloads/mo, #3,946 on PyPI
Alternatives
Verify before relying
pip install trio-typing
from trio_typing import TaskStatus
async def my_task(*, task_status: TaskStatus[str]):
task_status.started("ready")- Whether the mypy plugin remains compatible with mypy versions beyond 1.0 given the dormant maintenance status.
- Whether the type stubs remain accurate for recent Trio releases (last release 2023-12-01).
What it is and what it does
trio-typing is a collection of PEP 561 type stubs and typing utilities for the Trio async ecosystem. It provides type information for trio, outcome, and async_generator packages so that mypy can type-check code using these libraries. The package also exports runtime types like TaskStatus[T] and AsyncGenerator[YieldT, SendT] that Trio programs often need to reference in their own type annotations.
The package includes an optional mypy plugin that enhances type checking by inferring specific return types for trio.open_file() based on mode and buffering arguments, reducing boilerplate for functions that take callable-and-args patterns, and providing full type support for @async_generator decorated functions. Runtime dependencies include trio, typing-extensions, mypy-extensions, async-generator, packaging, and importlib-metadata.
Use it for
- Add static type checking to an existing Trio application by installing the stubs and mypy plugin to catch type errors before runtime.
- Define task status types in Trio nursery.start() calls using TaskStatus[T] to ensure type safety across async task boundaries.
- Type-check @async_generator decorated functions with full yield, send, and return type inference when using the mypy plugin.
- Provide type hints for async generator functions that yield and accept values, using the backported AsyncGenerator type on older Python versions.
- Reduce type-checking boilerplate in Trio libraries by using the @takes_callable_and_args decorator to validate variadic function signatures.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are actively developing Trio code and want static type checking.
The package is stable, permissively licensed, and has no known vulnerabilities. However, maintenance is dormant (last release 2023-12-01), so verify that the type stubs remain accurate for your Trio version before relying on it for new projects. The mypy plugin requires mypy 1.0+ and CPython for type checking.
Install
trio-typing on PyPI
Before you install
Low install friction with a pure-wheel distribution. Maintenance is dormant—last release was 2023-12-01 and no commits since 2024-10-24—but the package remains archived-free and has no known vulnerabilities, making it stable for existing Trio codebases.
Type checking requires mypy on CPython; install trio-typing[mypy] and add 'plugins = trio_typing.plugin' to mypy.ini to enable the plugin. PyPy is supported at runtime but not for type checking.
License in practice
Dual-licensed under MIT or Apache License 2.0 (permissive), so you may choose either license when incorporating this package into your own projects.
Quickstart
pip install trio-typing
from trio_typing import TaskStatus
async def my_task(*, task_status: TaskStatus[str]):
task_status.started("ready")
Verify before relying
- Whether the mypy plugin remains compatible with mypy versions beyond 1.0 given the dormant maintenance status.
- Whether the type stubs remain accurate for recent Trio releases (last release 2023-12-01).
Package facts
| License | MIT -or- Apache License 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagestriotyping-extensionsmypy-extensionsasync-generatorpackagingimportlib-metadata |
| Maintenance | Dormant 987 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,402,157 / month, #3,946 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaFramework :: TrioIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: BSDOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: trio_typing-0.10.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “trio type stubs mypy”
- trio-typingProvides PEP 561 type stubs and typing utilities for Trio async…
- openpyxl-stubsProvides type stubs for openpyxl to enable static type checking with…
- types-auth0-pythonProvides type stubs for auth0-python 4.10.x, enabling type checkers…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also types-Werkzeug · types-Flask · outcome · types-SQLAlchemy · types-backports · types-click · types-atomicwrites · types-dataclasses · types-cryptography · types-futures