circuitmatter.tlv ================= .. py:module:: circuitmatter.tlv Attributes ---------- .. autoapisummary:: circuitmatter.tlv.TAG_LENGTH circuitmatter.tlv.INT_SIZE Exceptions ---------- .. autoapisummary:: circuitmatter.tlv.ArrayEncodingError Classes ------- .. autoapisummary:: circuitmatter.tlv.ElementType circuitmatter.tlv.Container circuitmatter.tlv.Structure circuitmatter.tlv.Member circuitmatter.tlv.NumberMember circuitmatter.tlv.IntMember circuitmatter.tlv.EnumMember circuitmatter.tlv.BitmapMember circuitmatter.tlv.FloatMember circuitmatter.tlv.BoolMember circuitmatter.tlv.StringMember circuitmatter.tlv.OctetStringMember circuitmatter.tlv.UTF8StringMember circuitmatter.tlv.StructMember circuitmatter.tlv.ArrayMember circuitmatter.tlv.List circuitmatter.tlv.ListMember circuitmatter.tlv.AnythingMember Functions --------- .. autoapisummary:: circuitmatter.tlv.decode_tag circuitmatter.tlv.decode_element Module Contents --------------- .. py:data:: TAG_LENGTH :value: b'\x00\x01\x02\x04\x02\x04\x06\x08' .. py:data:: INT_SIZE :value: 'BHIQ' .. py:class:: ElementType Bases: :py:obj:`enum.IntEnum` Enum where members are also (and must be) ints .. py:attribute:: SIGNED_INT :value: 0 .. py:attribute:: UNSIGNED_INT :value: 4 .. py:attribute:: BOOL :value: 8 .. py:attribute:: FLOAT :value: 10 .. py:attribute:: UTF8_STRING :value: 12 .. py:attribute:: OCTET_STRING :value: 16 .. py:attribute:: NULL :value: 20 .. py:attribute:: STRUCTURE :value: 21 .. py:attribute:: ARRAY :value: 22 .. py:attribute:: LIST :value: 23 .. py:attribute:: END_OF_CONTAINER :value: 24 .. py:function:: decode_tag(control_octet, buffer, offset=0) .. py:function:: decode_element(control_octet, buffer, offset, depth) .. py:class:: Container .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: Structure Bases: :py:obj:`Container` .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: Member(tag, *, optional: _OPT = False, nullable: _NULLABLE = False, default=None) Bases: :py:obj:`abc.ABC`, :py:obj:`Generic`\ [\ :py:obj:`_T`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: max_value_length :type: int :value: 0 .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __set__(obj: Structure, value: _T | None) -> None __set__(obj: Structure, value: _T) -> None .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: decode_member(control_octet: int, buffer: memoryview, offset: int = 0) -> (_T, int) :abstractmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: encode_element_type(value: _T) -> int :abstractmethod: Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value: _T | None, buffer: bytearray, offset: int) -> int encode_value_into(value: _T, buffer: bytearray, offset: int) -> int :abstractmethod: Encode ``value`` into ``buffer`` and return the new offset .. py:method:: print(value: _T) -> str :abstractmethod: Return string representation of ``value`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: NumberMember(tag, _format: str, optional: _OPT = False, nullable: _NULLABLE = False, minimum: int | None = None, maximum: int | None = None, **kwargs) Bases: :py:obj:`Member`\ [\ :py:obj:`_NT`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ], :py:obj:`Generic`\ [\ :py:obj:`_NT`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: format .. py:attribute:: integer .. py:attribute:: signed .. py:attribute:: max_value_length .. py:method:: __set__(obj, value) .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[_NT, int] :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer, offset) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: IntMember(tag, *, signed: bool = True, octets: Literal[1, 2, 4, 8] = 1, optional: _OPT = False, nullable: _NULLABLE = False, **kwargs) Bases: :py:obj:`NumberMember`\ [\ :py:obj:`int`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: uformat .. py:attribute:: format .. py:attribute:: integer .. py:attribute:: signed .. py:attribute:: max_value_length .. py:method:: __set__(obj, value) .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[_NT, int] :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer, offset) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: EnumMember(tag, enum_class, **kwargs) Bases: :py:obj:`IntMember` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: enum_class .. py:method:: __set__(obj, value) .. py:method:: __get__(obj, objtype=None) -> enum.Enum | None .. py:method:: print(value) Return string representation of ``value`` .. py:attribute:: uformat .. py:attribute:: format .. py:attribute:: integer .. py:attribute:: signed .. py:attribute:: max_value_length .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[_NT, int] :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer, offset) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: BitmapMember(tag, enum_class, **kwargs) Bases: :py:obj:`EnumMember` Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: print(value) Return string representation of ``value`` .. py:attribute:: enum_class .. py:method:: __set__(obj, value) .. py:method:: __get__(obj, objtype=None) -> enum.Enum | None .. py:attribute:: uformat .. py:attribute:: format .. py:attribute:: integer .. py:attribute:: signed .. py:attribute:: max_value_length .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[_NT, int] :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer, offset) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: FloatMember(tag, *, octets: Literal[4, 8] = 4, optional: _OPT = False, nullable: _NULLABLE = False, **kwargs) Bases: :py:obj:`NumberMember`\ [\ :py:obj:`float`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: format .. py:attribute:: integer .. py:attribute:: signed .. py:attribute:: max_value_length .. py:method:: __set__(obj, value) .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[_NT, int] :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer, offset) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: BoolMember(tag, *, optional: _OPT = False, nullable: _NULLABLE = False, default=None) Bases: :py:obj:`Member`\ [\ :py:obj:`bool`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: max_value_length :value: 0 .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer, offset) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __set__(obj: Structure, value: _T | None) -> None __set__(obj: Structure, value: _T) -> None .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: StringMember(tag, max_length: int, *, optional: _OPT = False, nullable: _NULLABLE = False, min_length: int = 0, **kwargs) Bases: :py:obj:`Member`\ [\ :py:obj:`AnyStr`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ], :py:obj:`Generic`\ [\ :py:obj:`AnyStr`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: max_length_encoding .. py:attribute:: max_length_format .. py:attribute:: length_length .. py:attribute:: min_length .. py:attribute:: max_value_length .. py:method:: print(value) Return string representation of ``value`` .. py:method:: __set__(obj, value) .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer: bytearray, offset: int) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:method:: parse_length(control_octet, buffer, offset=0) :staticmethod: .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: decode_member(control_octet: int, buffer: memoryview, offset: int = 0) -> (_T, int) :abstractmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: OctetStringMember(tag, max_length: int, *, optional: _OPT = False, nullable: _NULLABLE = False, min_length: int = 0, **kwargs) Bases: :py:obj:`StringMember`\ [\ :py:obj:`bytes`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:attribute:: max_length_encoding .. py:attribute:: max_length_format .. py:attribute:: length_length .. py:attribute:: min_length .. py:attribute:: max_value_length .. py:method:: print(value) Return string representation of ``value`` .. py:method:: __set__(obj, value) .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer: bytearray, offset: int) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:method:: parse_length(control_octet, buffer, offset=0) :staticmethod: .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: UTF8StringMember(tag, max_length: int, *, optional: _OPT = False, nullable: _NULLABLE = False, min_length: int = 0, **kwargs) Bases: :py:obj:`StringMember`\ [\ :py:obj:`str`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: encode_value_into(value: str, buffer, offset) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:method:: print(value) Return string representation of ``value`` .. py:attribute:: max_length_encoding .. py:attribute:: max_length_format .. py:attribute:: length_length .. py:attribute:: min_length .. py:attribute:: max_value_length .. py:method:: __set__(obj, value) .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: parse_length(control_octet, buffer, offset=0) :staticmethod: .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: StructMember(tag, substruct_class: type[_TLVStruct], *, optional: _OPT = False, nullable: _NULLABLE = False, **kwargs) Bases: :py:obj:`Member`\ [\ :py:obj:`_TLVStruct`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: substruct_class .. py:attribute:: max_value_length .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer: bytearray, offset: int) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __set__(obj: Structure, value: _T | None) -> None __set__(obj: Structure, value: _T) -> None .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:exception:: ArrayEncodingError(index, offset) Bases: :py:obj:`Exception` Common base class for all non-exit exceptions. .. py:attribute:: index First index not encoded .. py:attribute:: offset .. py:class:: ArrayMember(tag, substruct_class: type[_TLVStruct, Member], *, max_length: int | None = None, optional: _OPT = False, nullable: _NULLABLE = False, **kwargs) Bases: :py:obj:`Member`\ [\ :py:obj:`_TLVStruct`\ , :py:obj:`_OPT`\ , :py:obj:`_NULLABLE`\ ] Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: substruct_class .. py:attribute:: max_value_length :value: 1280 .. py:attribute:: max_items .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer: memoryview, offset: int) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __set__(obj: Structure, value: _T | None) -> None __set__(obj: Structure, value: _T) -> None .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: List Bases: :py:obj:`Container` .. py:attribute:: items :value: [] .. py:attribute:: values .. py:method:: __iter__() .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: from_value(value) :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:method:: copy() .. py:method:: max_length() :classmethod: .. py:class:: ListMember(tag, substruct_class: type[_TLVList], *, optional: _OPT = False, nullable: _NULLABLE = False, **kwargs) Bases: :py:obj:`Member` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: substruct_class .. py:attribute:: max_value_length .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) :staticmethod: Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer: bytearray, offset: int) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __set__(obj: Structure, value: _T | None) -> None __set__(obj: Structure, value: _T) -> None .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: () .. py:class:: AnythingMember(tag, *, optional: _OPT = False, nullable: _NULLABLE = False, default=None) Bases: :py:obj:`Member` Stores a TLV encoded value. .. py:method:: decode_member(control_octet, buffer, offset=0) Return the decoded value at ``offset`` in ``buffer``. ``offset`` is after the tag (but before any length) .. py:method:: print(value) Return string representation of ``value`` .. py:method:: encode_element_type(value) Return Element Type Field as defined in Appendix A in the spec .. py:method:: encode_value_into(value, buffer: bytearray, offset: int) -> int Encode ``value`` into ``buffer`` and return the new offset .. py:attribute:: max_value_length :type: int :value: 0 .. py:attribute:: tag .. py:attribute:: optional .. py:attribute:: nullable .. py:attribute:: tag_length :value: 0 .. py:method:: __set_name__(owner, name) .. py:property:: max_length .. py:method:: __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T | None __get__(obj: Structure, objtype: type[Structure] | None = None) -> _T .. py:method:: __set__(obj: Structure, value: _T | None) -> None __set__(obj: Structure, value: _T) -> None .. py:method:: __delete__(obj) .. py:method:: encode(value) .. py:method:: encode_into(obj: Container, buffer: bytearray | memoryview, offset: int, anonymous_ok=False) -> int .. py:method:: decode(buffer: memoryview, offset: int = 0) -> _T Return the decoded value at ``offset`` in ``buffer`` .. py:method:: from_value(value) .. py:attribute:: __slots__ :value: ()