semvec/pypi-packages huggingface dataset:
packet 0.5
create classes to (un)pack packets to/from objects with named fields
License: MIT

The packet module is a front-end to the struct module.  It allows the
user to define a packet format, and to create a Python class to represent
those packets with named attributes for each packet field::

    # demo: make an IP packet packer/unpacker

    # IP Prototype
    ipp = Prototype()
    ipp.add_uint8('vhl')
    ipp.add_uint8('tos')
    ipp.add_uint16('len')
    ipp.add_uint16('id')
    ipp.add_uint16('off')
    ipp.add_uint8('ttl')
    ipp.add_uint8('p')
    ipp.add_uint16('sum')
    ipp.add_uint32('src')
    ipp.add_uint32('dst')
    IP = ipp.klass('IP', NETWORK)
    del ipp

    # ....

    # create an IP packet instance from bytes
    packet = IP(bytes)

    # create an empty packet
    packet = IP()

    # access fields
    print(packet.len)

    # pack fields into bytes
    bytes = packet.pack()