Skip to main content

A better networking library.

Project description

ButterflyNet - Drawn by Tudor Iacobescu

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 is a clusterfuck.

  • 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.

Project details


Download files

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

Source Distribution

ButterflyNet-0.0.1.tar.gz (7.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ButterflyNet-0.0.1-py3.5.egg (18.2 kB view details)

Uploaded Egg

ButterflyNet-0.0.1-py3.4.egg (18.4 kB view details)

Uploaded Egg

ButterflyNet-0.0.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file ButterflyNet-0.0.1.tar.gz.

File metadata

  • Download URL: ButterflyNet-0.0.1.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ButterflyNet-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a1d5d3644c3c98a2fa8b166e93315a7e139c09edad9ac8d085c3b0ebe6d0beae
MD5 91540fb58d52c0409f02cf79288138fb
BLAKE2b-256 4248a151bcd964daac9c299fe69fa61d4c316055699a67bd897d46aaa8c28e83

See more details on using hashes here.

File details

Details for the file ButterflyNet-0.0.1-py3.5.egg.

File metadata

File hashes

Hashes for ButterflyNet-0.0.1-py3.5.egg
Algorithm Hash digest
SHA256 192f7ef2195ee9058b7759222c922e4fd2cfd34cae25ec71fa0df47114796c9a
MD5 dc82cf3ec4d648351b3f687a9003d136
BLAKE2b-256 ca367b93e88b9c4239f7a8e2a8b88cbd1ac197ad1a2c384ef948ffc82bf11bf3

See more details on using hashes here.

File details

Details for the file ButterflyNet-0.0.1-py3.4.egg.

File metadata

File hashes

Hashes for ButterflyNet-0.0.1-py3.4.egg
Algorithm Hash digest
SHA256 dc39c479fb768457aa824ef2fb9881217d40086258a12bb791e607eb8be24540
MD5 7ded64bd908c5b1bb5be5c04c8fc3007
BLAKE2b-256 e163c9f6932af746975c7f1e82919f13e59e94a9c0a17144fcab4c8335d9f34b

See more details on using hashes here.

File details

Details for the file ButterflyNet-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ButterflyNet-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 241139a6d6cef7481b759b014b950eb3b9fcff170f32d82710a088ee0f860a99
MD5 6afb089a642e9916e1c6ef91cfdf6f87
BLAKE2b-256 bfe037d698aba5e9cd1eef0526cb0479ca23982e22d33fc60ff630678d7f5037

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page