一个友好的Python异步并发和I/O库
项目描述
Trio – 一个友好的Python异步并发和I/O库
Trio项目旨在为Python生产一个生产质量的、许可宽松的异步/await-native I/O库。像所有异步库一样,其主要目的是帮助您编写能够通过并行I/O 同时做很多事情的程序。一个想要并行抓取大量网页的蜘蛛,一个需要同时处理大量下载和websocket连接的Web服务器,一个监控多个子进程的进程管理器……等等。与其他库相比,Trio试图通过对其 可用性 和 正确性 的极度关注来区分自己。并发很复杂;我们试图让它变得 容易 做对。
三重奏(Trio)是从底层构建的,以充分利用最新的Python功能,并从Python最新特性中汲取灵感,特别是Dave Beazley的Curio。因此,其设计比像asyncio和Twisted这样的旧竞争对手要简单得多,但同样强大。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。
行为准则
贡献者被要求在所有项目空间中遵守我们的行为准则。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
三组-0.26.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0346c3852c15e5c7d40ea15972c4805689ef2cb8b5206f794c9c19450119f3a4 |
|
MD5 | 8f9ed35c130e802b7561edd7f32fc305 |
|
BLAKE2b-256 | 9a03ab0e9509be0c6465e2773768ec25ee0cb8053c0b91471ab3854bbf2294b2 |
三组-0.26.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c5237e8133eb0a1d72f09a971a55c28ebe69e351c783fc64bc37db8db8bbe1d0 |
|
MD5 | 02269ea88b088fb8d3337f8ab78a9f2b |
|
BLAKE2b-256 | 1c70efa56ce2271c44a7f4f43533a0477e6854a0948e9f7b76491de1fd3be7c9 |