Skip to main content

A better networking library.

Project description

ButterflyNet - Drawn by Tudor Iacobescu

Build Status PyPI version

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.


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.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ButterflyNet, version 1.1.0
Filename, size & hash File type Python version Upload date
ButterflyNet-1.1.0-py3.4.egg (30.3 kB) View hashes Egg 3.4
ButterflyNet-1.1.0-py3.5.egg (30.3 kB) View hashes Egg 3.5
ButterflyNet-1.1.0-py3-none-any.whl (14.0 kB) View hashes Wheel 3.5
ButterflyNet-1.1.0.tar.gz (10.8 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page