列出处理工具和功能实用程序(移植以支持异步/等待)
aiotoolz的Python项目详细描述
一个很棒的pytoolz/toolz库的异步端口。
请参阅位于https://toolz.readthedocs.io的pytoolz文档和位于https://github.com/pytoolz/toolz的github页面。
许可证
新的疯牛病。见License File。
安装
aiotoolz还不在python包索引(pypi)上,但很快您就可以像这样安装:
pip install aiotoolz
目前,您可以像这样安装:
pip install git+https://github.com/eabrouwer3/aiotoolz.git
结构和遗产
toolz分三部分实现:
^{tt3}$,用于iterables上的操作。示例:groupby, unique,interpose,
^{tt7}$,用于高阶函数。示例:memoize, curry,compose,
^{tt11}$,用于字典上的操作。示例:assoc, update-in,merge。
这些函数来自list的函数语言遗产 处理。它们可以很好地互操作以完成常见的复杂任务。
阅读我们的API Documentation了解 更多细节。
示例
这将从toolz:
>>>defstem(word):...""" Stem word to primitive form """...returnword.lower().rstrip(",.!:;'-\"").lstrip("'\"")>>>fromtoolzimportcompose,frequencies,partial>>>fromtoolz.curriedimportmap>>>wordcount=compose(frequencies,map(stem),str.split)>>>sentence="This cat jumped over this other cat!">>>wordcount(sentence){'this':2,'cat':2,'jumped':1,'over':1,'other':1}
依赖关系
aiotoolz使用公共代码库支持python 3.5+。 它是纯python,不需要超出标准的依赖项 图书馆。
简而言之,它是一个轻量级的依赖项。
另请参见
- Underscore.js:类似的库 javascript
- Enumerable:一个 ruby的类似库
- Clojure:一种函数式语言 标准库在toolz
- itertools:这个 用于迭代器工具的python标准库
- functools:这个 函数工具的python标准库
欢迎投稿
aiotoolz旨在成为实用程序函数的存储库,特别是 那些来自函数式编程和列表处理的 传统。我们欢迎属于这一范围的贡献。
我们还尝试保持api小,以使aiotoolz易于管理。理想 贡献与现有功能显著不同。 其他一些功能系统的先例。
请看看我们的 issue page 为了贡献思想。
社区
看我们的toolzmailing list。 我们很友好。