- As easy as built-ins - but asynchronous;
- Early returns never cause unawaited coroutine warnings;
- Nearly the same API as the Python 3.13 standard blocking API.
The library is available as aioplus
on PyPI:
pip install aioplus
For more, see the documentation.
import asyncio
from aioplus import aall, arange
async def main() -> None:
"""Run the program."""
aiterable = (num > 0 async for num in arange(2304))
flg = await aall(aiterable)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import aany, arange
async def main() -> None:
"""Run the program."""
aiterable = (num % 2 == 0 async for num in arange(2304))
flg = await aany(aiterable)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import abatched, arange
async def main() -> None:
"""Run the program."""
async for batch in abatched(arange(23), n=4):
print(batch)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import acount
async def main() -> None:
"""Run the program."""
async for num in acount(start=23, step=4):
print(num)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import aenumerate, arange
async def main() -> None:
"""Run the program."""
async for index, num in aenumerate(arange(2304)):
print(index, num)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import aislice, arange
async def main() -> None:
"""Run the program."""
async for num in aislice(arange(23), 4):
print(num)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import alen, arange
async def main() -> None:
"""Run the program."""
aiterable = arange(2304)
length = await alen(aiterable)
print(f"len(aiterable) == {length}")
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import arange
async def main() -> None:
"""Run the program."""
async for num in arange(2304):
print(num)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import arepeat
async def main() -> None:
"""Run the program."""
async for num in arepeat(23, times=4):
print(num)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import arange, areversed
async def main() -> None:
"""Run the program."""
async for num in areversed(arange(2304)):
print(num)
if __name__ == "__main__":
asyncio.run(main())
For more, see the documentation.
import asyncio
from aioplus import awaitify
def func(num: int) -> None:
"""Print the number."""
print(f"Num: {num}")
async def main() -> None:
"""Run the program."""
afunc = awaitify(func)
await afunc(num=2304)
if __name__ == "__main__":
asyncio.run(main())
MIT License, Copyright (c) 2025 Sergei Y. Bogdanov. See LICENSE file.