跳转到主要内容

Python的响应式扩展(Rx)

项目描述

https://img.shields.io/travis/ReactiveX/RxPY.svg https://img.shields.io/coveralls/ReactiveX/RxPY.svg https://img.shields.io/pypi/v/rx.svg Documentation Status

一个库,用于使用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 (196.2 kB 查看哈希值)

上传时间 Python 3

支持