跳转到主要内容

适用于AsyncIO和混合迭代器的itertools和内置函数

项目描述

aioitertools

itertools、内置函数及其他内容的AsyncIO和混合类型迭代器实现。

documentation version changelog license

安装

aioitertools需要Python 3.8或更高版本。您可以从PyPI安装它

$ pip install aioitertools

使用方法

aioitertools在可能的情况下将标准库进行阴影处理,以提供您已知的模块和函数的异步版本。它与标准迭代器和异步迭代器完全兼容,为您提供了与可迭代对象交互的统一、熟悉的接口

from aioitertools import iter, next, map, zip

something = iter(...)
first_item = await next(something)

async for item in iter(something):
    ...


async def fetch(url):
    response = await aiohttp.request(...)
    return response.json

async for value in map(fetch, MANY_URLS):
    ...


async for a, b in zip(something, something_else):
    ...

aioitertools模拟了整个itertools模块,提供相同的函数签名,但作为异步生成器。所有函数都支持标准可迭代和异步可迭代,可以接受函数或协程

from aioitertools import chain, islice

async def generator1(...):
    yield ...

async def generator2(...):
    yield ...

async for value in chain(generator1(), generator2()):
    ...

async for value in islice(generator1(), 2, None, 2):
    ...

请参阅builtins.pyitertools.pymore_itertools.py以获取函数和功能的完整文档。

许可

aioitertools 版权所有归 Amethyst Reese 所有,并采用 MIT 许可协议。我在此仓库中向您提供代码,属于开源许可。这是我的个人仓库;您获得的代码许可来自我,而不是我的雇主。有关详细信息,请参阅 LICENSE 文件。

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

aioitertools-0.12.0.tar.gz (19.4 kB 查看哈希值)

上传时间 源代码

构建分发

aioitertools-0.12.0-py3-none-any.whl (24.3 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面