Type-Length-Value8 (TLV8) for python

Type-Length-Value (TLV) are used to encode arbitrary data.
In this case the type and length are represented by 1 byte each.
Hence the name TLV8.

A TLV8 entry consists of the following parts:
    * the type: this 8 bit field denotes the type of information
      that is represented by the data.
    * the length: this 8 bit field denotes the length of the data
      (this does not include the 2 bytes for type and length.
      For data longer than 255 bytes, there is a defined procedure available.
    * the value: these length bytes represent the value of this TLV.
      The different types of data is represented differently:
        * bytes: this is raw binary data and will be used as is, no further
	  interpretation takes place
        * tlv8: this is a specialized case of bytes values. Using this instead
	  of pure bytes enables nesting of data and creating a hierarchy.
        * integer: integers are stored in little-endian byte order and are
	  encoded with the minimal number of bytes possible (1, 2, 4 or 8)
        * float: floats are stored as little-endian ieee754 numbers
        * string: strings are always UTF-8 encoded and do not contain the
	  terminating NULL byte

Homepage:
https://pypi.org/project/tlv8/
