Skip to main content
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 is an server-side batteries-included secure networking framework built upon asyncio.

All code in ButterflyNet is designed to be asynchronous by default, with special cases made for non-async code such as external libraries.
Because of the heavy usage of asyncio, this module does not officially support Python versions before 3.4. It may be possible to run it with a backported tulip library, but no official support will be given for this.

Why ButterflyNet?

ButterflyNet was designed for a few main reasons:

  • Sockets are low-level; personally, I dislike them because they’re not the friendliest thing to use.

  • Twisted has a steep learning curve, and has a lot of cruft.

  • asyncio networking is good, but it’s very hands-off - ButterflyNet comes with everything needed for a full networking suite.

All the existing libraries are not, by design, secure. You can work around this with SSLContexts - however, ButterflyNet forces TLS with secure settings on your server by default.

Getting Started

ButterflyNet is available to download off of PyPI: pip install ButterflyNet

Documentation can be found here.
Examples can be found here.

Limitations

You have a choice of TCP or UDP in most networking frameworks. However, ButterflyNet is designed upon persistent, TLS-authenticated and secured connections, of which UDP has:

  • No persistent connections

  • Unreliable TLS security

This means ButterflyNet is locked to TCP for the future. OpenSSL does support DTLS, but no support for this is planned.

Metadata

Release files for ButterflyNet 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ButterflyNet 1.1.0
File Size Uploaded Provenance
ButterflyNet-1.1.0.tar.gz 10.8 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for ButterflyNet 1.1.0
File Interpreter ABI Platform
ButterflyNet-1.1.0-py3.5.egg Legacy Egg format - - Details
ButterflyNet-1.1.0-py3.4.egg Legacy Egg format - - Details
ButterflyNet-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 85.4 kB

Release files / ButterflyNet-1.1.0.tar.gz

Download URL ButterflyNet-1.1.0.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8cbd20a4ab5fc2a3dbd02b5d1d6bcab908886dca54a70706b2fd7a6e7906f083
BLAKE2b-256 checksum
How to use checksums
e1aa2a1e06f5ef24a2c327b54463d427f29b4218c0d363f6651af1f91ba74d4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ButterflyNet-1.1.0-py3.5.egg

Download URL ButterflyNet-1.1.0-py3.5.egg
Size 30.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
7c63bf681e2befdccbe2dc1276a7a430ec50d856fa699dfce8b74f220e1f4bcb
BLAKE2b-256 checksum
How to use checksums
a0e54d2b0a52441fd3d8d02e0b9ff8d9be356ecfa10308855dcf57e65a928a1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ButterflyNet-1.1.0-py3.4.egg

Download URL ButterflyNet-1.1.0-py3.4.egg
Size 30.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
d60f85944bc670cd9aee70441edfc5b5286243d7e2e4ac3a6346b0b6a0c3c3f9
BLAKE2b-256 checksum
How to use checksums
cd86d70f39611b5b6f5f84048b0f35551b65f933ef2aa8c22c0c581bc2609598
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ButterflyNet-1.1.0-py3-none-any.whl

Download URL ButterflyNet-1.1.0-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06a0ad1ecb2addfa563f0b4db3c6189a33808b22aea780d411d9f3e9bc03613b
BLAKE2b-256 checksum
How to use checksums
c512dc64296fca6aebfe3af4f2c4e0e7367cf5827a4c51f0f964353d5d0ab4d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for ButterflyNet 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page