Thanks to visit codestin.com
Credit goes to github.com

Skip to content

youxiawar/ButterflyNet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

ButterflyNet - A simpler networking library

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%