跳转到主要内容

一个友好的Python异步并发和I/O库

项目描述

Join chatroom Join forum Documentation Latest PyPi version Latest conda-forge version Test coverage

Trio – 一个友好的Python异步并发和I/O库

https://raw.githubusercontent.com/python-trio/trio/9b0bec646a31e0d0f67b8b6ecc6939726faf3e17/logo/logo-with-background.svg

Trio项目旨在为Python生产一个生产质量的、许可宽松的异步/await-native I/O库。像所有异步库一样,其主要目的是帮助您编写能够通过并行I/O 同时做很多事情的程序。一个想要并行抓取大量网页的蜘蛛,一个需要同时处理大量下载和websocket连接的Web服务器,一个监控多个子进程的进程管理器……等等。与其他库相比,Trio试图通过对其 可用性正确性 的极度关注来区分自己。并发很复杂;我们试图让它变得 容易 做对。

三重奏(Trio)是从底层构建的,以充分利用最新的Python功能,并从Python最新特性中汲取灵感,特别是Dave Beazley的Curio。因此,其设计比像asyncioTwisted这样的旧竞争对手要简单得多,但同样强大。Trio是我一直想要的Python I/O库;我发现它使得构建面向I/O的程序更加容易、错误更少、更有趣。也许你会发现同样如此

这个项目还比较年轻,仍处于实验阶段:整体设计是稳固的,现有功能已完全测试和文档化,但你可能会遇到缺少的功能或粗糙的边缘。我们确实鼓励你使用它,但你应该阅读并订阅问题#1以获得警告,并有机会就任何破坏兼容性的更改提供反馈。

下一步是什么?

我想试试看!太好了!我们有一个友好的教程可以帮助你开始;无需有异步编程的先验经验。

哎呀,我不想看那么多——给我看看一些代码!如果你不耐烦,那么这里有一个简单的并发示例、一个回声客户端和一个回声服务器

三重奏如何使程序比竞争方法更容易阅读和推理?三重奏基于一种新的思维方式,我们称之为“结构化并发”。最佳的理论介绍是文章结构化并发笔记,或者:Go语句有害。或者,看看这个PyCon 2018的演讲,演示在旧库与三重奏中实现“快乐眼球”算法。

酷,但它在我的系统上能工作吗?可能吧!只要你有某种形式的Python 3.8或更高版本(CPython或当前维护的PyPy3版本都行),并且使用Linux、macOS、Windows或FreeBSD,那么三重奏就可以工作。其他环境也可能行得通,但我们测试的是这些。而且,我们所有的依赖项都是纯Python,除了Windows上的CFFI,它有可用的wheel,所以安装应该很简单(不需要C编译器)。

我试了,但不起作用。很抱歉听到这个!你可以在我们的聊天室论坛中寻求帮助,提交一个错误报告,或者在StackOverflow上发帖提问,我们将尽力帮助你。

三重奏很棒,我想帮助让它变得更棒!你太棒了!还有很多工作要做——填补缺失的功能、构建三重奏使用库的生态系统、可用性测试(例如,也许你可以尝试教自己或朋友使用三重奏,并制作一个你遇到的每个错误消息和困惑的地方的列表?)、改进文档……查看我们的贡献者指南

我目前没有使用它的计划,但我非常喜欢探讨I/O库的设计! 这有点奇怪?但是说真的,你在这里会很合群的。我们有一个专门的子论坛来讨论结构化并发(欢迎其他系统的开发者加入!)或者查看我们的设计选择讨论阅读清单以及标记为设计讨论的问题

我想确保我的公司的律师不会生气! 请放心,Trio根据您选择,以MIT或Apache 2许可方式授权。详情请参阅LICENSE

行为准则

贡献者被要求在所有项目空间中遵守我们的行为准则

项目详情


下载文件

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

源分布

trio-0.26.2.tar.gz (561.2 kB 查看哈希值)

上传时间

构建分布

trio-0.26.2-py3-none-any.whl (476.0 kB 查看哈希值)

上传时间 Python 3

由以下支持

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