$npx skillfedfor your agent

aiotools

Idiomatic asyncio utilities

With conditionsPyPI Software DevelopmentReleased Jul 2026351.7K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — aiotools-2.2.4-py3-none-any.whl
v2.2.4 · released 2026-07-21 · Python >=3.11 · 1 runtime deps: async-lru

Yes, if you are building asyncio applications on Python 3.11+ and want structured concurrency patterns and safer cancellation semantics. The low install friction, active maintenance, MIT license, and zero known vulnerabilities make it a solid choice. Not necessary if you are using trio, anyio, or other async frameworks, or if you prefer managing task lifecycle manually.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.11 or later; relies on asyncio internals so compatibility is tied to CPython versions.
  • Low install friction with a single lightweight runtime dependency (async-lru).
  • Active maintenance with a release within the last month and consistent Python 3.11+ support.

License · maintenance · safety

MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.

last release 2026-07-21 (24 days) · last repo commit 2026-07-21 · 167 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 351,681 downloads/mo, #7,321 on PyPI

Verify before relying

pip install aiotools

import asyncio
import aiotools

async def main():
    task = asyncio.create_task(asyncio.sleep(1))
    await aiotools.cancel_and_wait(task)

asyncio.run(main())
  • Whether TaskScope exception handling is suitable for production long-running servers without manual result tracking.
  • Performance characteristics when managing hundreds or thousands of concurrent tasks.
  • Compatibility with asyncio subclasses or alternative event loop implementations.
Same gist for agents: .md · .json

What it is and what it does

aiotools is a collection of utilities designed to make asyncio programming more ergonomic and safer. It provides structured cancellation primitives (cancel_and_wait), async context manager decorators (@actxmgr), task lifecycle management (TaskScope), and server daemon patterns with automatic signal handling. The package targets vanilla asyncio and couples tightly with asyncio internals, making it most suitable for projects already committed to the standard library's async ecosystem.

The library addresses common pain points in asyncio code: coordinating cancellation without ambiguity about whether to re-raise CancelledError, writing async context managers without boilerplate classes, managing groups of concurrent tasks that complete even when siblings fail, and launching multi-process server daemons with proper lifecycle and signal handling. It depends only on async-lru and requires Python 3.11+, keeping the dependency footprint minimal.

Use it for

  • Implement safe task cancellation in asyncio applications without manual CancelledError handling logic.
  • Build async context managers and resource cleanup patterns using the @actxmgr decorator.
  • Manage concurrent task groups where all tasks must run to completion unless explicitly cancelled.
  • Launch multi-process asyncio server daemons with automatic SIGINT/SIGTERM handling.
  • Create repeating async timers that can be cleanly cancelled and awaited to completion.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are building asyncio applications on Python 3.11+ and want structured concurrency patterns and safer cancellation semantics.

The low install friction, active maintenance, MIT license, and zero known vulnerabilities make it a solid choice. Not necessary if you are using trio, anyio, or other async frameworks, or if you prefer managing task lifecycle manually.

Install

aiotools on PyPI

Before you install

Low install friction with a single lightweight runtime dependency (async-lru). Active maintenance with a release within the last month and consistent Python 3.11+ support.

Requires Python 3.11 or later; relies on asyncio internals so compatibility is tied to CPython versions.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.

Quickstart

pip install aiotools

import asyncio
import aiotools

async def main():
    task = asyncio.create_task(asyncio.sleep(1))
    await aiotools.cancel_and_wait(task)

asyncio.run(main())

Verify before relying

  • Whether TaskScope exception handling is suitable for production long-running servers without manual result tracking.
  • Performance characteristics when managing hundreds or thousands of concurrent tasks.
  • Compatibility with asyncio subclasses or alternative event loop implementations.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.11
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
async-lru
MaintenanceActively maintained 24 days since the last release
Last repo commit
First released
Downloads351,681 / month, #7,321 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableFramework :: AsyncIOIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development

Evidence: aiotools-2.2.4-py3-none-any.whl

Tags

Capabilities
asyncio utilitiesstructured concurrencysafe task cancellationasync context managersasyncio server patternstaskscope taskgroupasync defer cleanup
Topics
asynciostructured-concurrencytask-management
PyPI keywords
asyncio

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 › “asyncio utilities”

  • aiotoolsaiotools provides idiomatic asyncio utilities for structured…
  • aiodebugaiodebug provides monitoring and testing utilities for asyncio…
  • asynctestExtends Python's unittest module with test utilities and mocks…

Give your agent the search over MCP, or paste the wish link into any chat.

More Software Development packages

typing-extensions Worth it
PyPI · Software Development · released Jul 2026

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.

PSF-2.0pure Python · 3.9+
1.9Bdownloads / mo
numpy Worth it
PyPI · Software Development · released Aug 2026

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.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

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.

MITpure Python · 3.9+
456.2Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

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.

MITpure Python · 3.10+
369.3Mdownloads / mo
distlib With conditions
PyPI · Software Development · released Jun 2026

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.

permissive licensepure Python
323.3Mdownloads / mo

See also aiojobs · aiometer · aiorun · aiomonitor · async-timeout · wait-for2 · async-exit-stack · aiologic · taskgroup · aiomcache