跳转到主要内容

更好的网络库。

项目描述

ButterflyNet - Drawn by Tudor Iacobescu

Build Status PyPI version https://img.shields.io/pypi/l/ButterflyNet.svg https://img.shields.io/pypi/dw/ButterflyNet.svg

ButterflyNet是一个基于asyncio构建的服务器端安全网络框架,内置所有功能。

ButterflyNet中的所有代码都默认设计为异步的,为非异步代码(如外部库)做出了特殊处理。
由于大量使用asyncio,此模块不支持Python 3.4之前的版本。使用回溯tulip库可能运行它,但不会提供官方支持。

为什么选择ButterflyNet?

ButterflyNet的设计有以下主要原因

  • 套接字是低级别的;我个人不喜欢它们,因为它们不是最容易使用的。

  • Twisted的学习曲线很陡峭,有很多冗余。

  • asyncio网络很好,但它非常放手 - ButterflyNet附带了一个完整的网络套件所需的所有内容。

所有现有的库都不是设计安全的。您可以通过SSLContexts来解决这个问题 - 然而,ButterflyNet默认通过服务器上的安全设置强制使用TLS。

入门指南

ButterflyNet可以从PyPI下载: pip install ButterflyNet

文档可以在此找到:这里
示例可以在此找到:这里

限制

在大多数网络框架中,您可以选择TCP或UDP。然而,ButterflyNet设计为基于持久、TLS认证和加密的连接,其中UDP具有以下特点:

  • 没有持久连接

  • 不可靠的TLS安全性

这意味着ButterflyNet将锁定在TCP上。OpenSSL 确实 支持 DTLS,但尚未计划提供支持。

支持者

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