packel

Packet serialization/deserialization in a Pythonic way.


License
Unlicense
Install
pip install packel==1.0.1

Documentation

päckel

Network protocol library. Handles packet serialization/deserialization in a Pythonic way.

Usage

  • Define a basic protocol :
import packel

class Ping(packel.Packet):
    text = packel.String()

class Pong(packel.Packet):
    is_hello = packel.Boolean()

protocol = packel.Protocol([Ping, Pong])
  • Use it to serialize and deserialize data :
request = Ping(text='hello')
serialized_bytes = protocol.serialize(request)

# ...

packet = protocol.deserialize(serialized_bytes)
if isinstance(packet, Ping):
    is_hello = packet.text == 'hello'
    response = Pong(is_hello=is_hello)
    # ...