aiostream
Generator-based operators for asynchronous iteration
Decision gist · record as of 2026-08-14
Yes, if you work with async code and need composable stream operators. The low install friction, active maintenance, and lack of security issues make it a sound choice. However, the GPL-3.0-or-later copyleft license is a blocker for proprietary code unless you can satisfy its terms; verify licensing compatibility before committing.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; async/await syntax and event loop management required.
- Low install friction; pure Python wheel with only typing-extensions as a runtime dependency.
- Actively maintained with recent commits and no known vulnerabilities.
License · maintenance · safety
GPL-3.0-or-later (copyleft) — GPL-3.0-or-later copyleft license requires derivative works to be distributed under compatible terms; consider licensing implications if integrating into proprietary code.
last release 2025-10-13 (305 days) · last repo commit 2026-05-24 · 919 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,013,870 downloads/mo, #2,398 on PyPI
Alternatives
Verify before relying
import asyncio
from aiostream import stream, pipe
async def main():
xs = stream.count(interval=0.2)
ys = xs | pipe.map(lambda x: x**2)
async with ys.stream() as streamer:
async for z in streamer:
print(z)
asyncio.run(main())- Performance characteristics and memory overhead compared to manual async iteration or other stream libraries.
- Completeness of operator coverage relative to itertools for specific async use cases.
What it is and what it does
aiostream is a library for building asynchronous data pipelines using composable stream operators. It brings the functional programming style of itertools to async code, letting you chain operations like map, filter, zip, and reduce on asynchronous iterables using a pipe syntax. Streams are repeatable (each iteration creates a fresh iterator), support slicing and indexing, and can be awaited to extract their final value.
The library organizes operators into categories—creation, transformation, selection, combination, aggregation, advanced (flatten, switch, concatmap), timing (delay, timeout), and miscellaneous—making it straightforward to express complex async workflows. It requires Python 3.9+ and depends only on typing-extensions, keeping the install footprint minimal.
Use it for
- Build async data pipelines that transform, filter, and combine streams from multiple async sources.
- Process time-series or event data with operators like spaceout, timeout, and delay for rate-limiting and scheduling.
- Compose async generators into reusable, readable workflows using pipe syntax instead of nested async comprehensions.
- Aggregate or reduce async sequences (e.g., accumulate values from a stream of async results).
- Implement reactive-style async workflows where operations are chained declaratively rather than imperatively.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with async code and need composable stream operators.
The low install friction, active maintenance, and lack of security issues make it a sound choice. However, the GPL-3.0-or-later copyleft license is a blocker for proprietary code unless you can satisfy its terms; verify licensing compatibility before committing.
Install
aiostream on PyPI
Before you install
Low install friction; pure Python wheel with only typing-extensions as a runtime dependency. Actively maintained with recent commits and no known vulnerabilities.
Requires Python 3.9 or later; async/await syntax and event loop management required.
License in practice
GPL-3.0-or-later copyleft license requires derivative works to be distributed under compatible terms; consider licensing implications if integrating into proprietary code.
Quickstart
import asyncio
from aiostream import stream, pipe
async def main():
xs = stream.count(interval=0.2)
ys = xs | pipe.map(lambda x: x**2)
async with ys.stream() as streamer:
async for z in streamer:
print(z)
asyncio.run(main())
Verify before relying
- Performance characteristics and memory overhead compared to manual async iteration or other stream libraries.
- Completeness of operator coverage relative to itertools for specific async use cases.
Package facts
| License | GPL-3.0-or-later copyleft |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagetyping-extensions |
| Maintenance | Actively maintained 305 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,013,870 / month, #2,398 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: aiostream-0.7.1-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 › “async stream operators”
- aiostreamaiostream provides composable stream operators for building…
- aeventkitaeventkit provides event-driven data pipelines and loosely-coupled…
- kubernetesProvides a Python interface to the Kubernetes API, enabling…
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 aeventkit · Rx · aioitertools · reactivex · pipe · eventkit · aioconsole · flupy · sentence-stream · django-activity-stream