Python的响应式扩展(Rx)
项目描述
一个库,用于使用Python中的可观察集合和查询操作符函数来组合异步和基于事件的程序
RxPY v3.0
有关v1.X,请访问 v1分支。
RxPY v3.x 在 Python 3.6或更高版本上运行。要安装RxPY
pip3 install rx
关于ReactiveX
Python的响应式扩展(RxPY)是一组库,用于使用Python中的可观察序列和可管查询操作符来组合异步和基于事件的程序。使用Rx,开发者可以用Observables表示异步数据流,用操作符查询异步数据流,并用调度器使用参数化数据/事件流中的并发。
import rx
from rx import operators as ops
source = rx.of("Alpha", "Beta", "Gamma", "Delta", "Epsilon")
composed = source.pipe(
ops.map(lambda s: len(s)),
ops.filter(lambda i: i >= 5)
)
composed.subscribe(lambda value: print("Received {0}".format(value)))
学习RxPY
阅读 文档 以了解RxPY的原则并获得可用操作符的完整参考。
如果您需要将代码从RxPY v1.x迁移,请阅读 迁移 部分。
还有一份第三方文档列表可供参考 在此处。
社区
加入Slack上的讨论!
PySlackers上的慷慨人士 PySlackers 在 #rxpy Slack频道为我们提供了一个家。请加入我们,在#rxpy频道提问、交谈以及所有与RxPy相关的事情。
要加入,请访问上面的页面以接收电子邮件邀请。注册后,加入我们的#rxpy频道。
请遵循社区指南和服务条款。
与 .NET 和 RxJS 的区别
RxPY 是一个相当完整的 Rx 实现,拥有超过 Rx 的 120 多个操作符,以及超过 1300 个通过单元测试。RxPY 主要直接移植自 RxJS,同时也借鉴了 RxNET 和 RxJava 的线程和阻塞操作符。
RxPY 遵循 PEP 8,因此所有函数和方法名称都是小写,必要时用下划线分隔以提高可读性。
因此,像 .NET 代码
var group = source.GroupBy(i => i % 3);
需要用 Python 中的 _ 来编写
group = source.pipe(ops.group_by(lambda i: i % 3))
当操作符有多个可选参数时,应使用 命名关键字参数 而不是位置参数。RxPY 不会尝试检测您提供给操作符的参数(或没有提供)。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建分发
Rx3-3.0.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f1b7da5463786764e78ef4cbdd0a42bd50152c72f6e7477517f917656e7a3def |
|
MD5 | 14a14320a8a46b26d0a40c953163df1b |
|
BLAKE2b-256 | 1fcf2a00a918fa49160f28ee72516041c004a513cfec50bb576f3a687a41e72a |