sans-io.readthedocs.io - Network protocols, sans I/O — Sans I/O 1.0.0 documentation

Example domain paragraphs

This page is to provide a single location for people to reference when looking for network protocol implementations written in Python that perform no I/O (this means libraries that operate directly on text or bytes; this excludes libraries that just abstract out I/O).

In a word: reusability . By implementing network protocols without any I/O and instead operating on bytes or text alone, libraries allow for reuse by other code regardless of their I/O decisions. In other words by leaving I/O out of the picture a network protocol library allows itself to be used by both synchronous and asynchronous I/O code. And by not simply abstracting out the I/O it allows users of the library to drive the network interactions themselves, not the network protocol library itself; not forc

Cory Benfield’s PyCon US 2016 talk provides a nice overview as to why designing protocol implementations this way is important and the best way to do so going forward for the Python community.

Links to sans-io.readthedocs.io (3)