iofree.schema module¶
-
class
iofree.schema.
BinarySchema
(*args)[source]¶ Bases:
object
The main class for users to define their own binary structures
-
classmethod
get_parser
() → iofree.Parser[source]¶
-
classmethod
parse
(data: bytes, *, strict=True) → iofree.schema.BinarySchema[source]¶
-
classmethod
-
class
iofree.schema.
Bytes
(length)[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
Convert
(unit: Union[iofree.schema.BinarySchemaMetaclass, iofree.schema.Unit], *, encode: Callable = None, decode: Callable = None)[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
EndWith
(bytes_)[source]¶ Bases:
iofree.schema.Unit
-
iofree.schema.
Group
(**fields: Dict[str, Union[iofree.schema.BinarySchemaMetaclass, iofree.schema.Unit]]) → iofree.schema.BinarySchema[source]¶
-
class
iofree.schema.
IntUnit
(length: int, byteorder: str, signed: bool = False)[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
LengthPrefixedBytes
(length_unit: iofree.schema.StructUnit)[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
LengthPrefixedObject
(length_unit: iofree.schema.StructUnit, object_unit: Union[iofree.schema.BinarySchemaMetaclass, iofree.schema.Unit])[source]¶
-
class
iofree.schema.
LengthPrefixedObjectList
(length_unit: iofree.schema.StructUnit, object_unit: Union[iofree.schema.BinarySchemaMetaclass, iofree.schema.Unit])[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
LengthPrefixedString
(length_unit: iofree.schema.StructUnit, encoding='utf-8')[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
MustEqual
(unit, value)[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
SizedIntEnum
(size_unit: iofree.schema.StructUnit, enum_class)[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
String
(length, encoding='utf-8')[source]¶ Bases:
iofree.schema.Bytes
-
class
iofree.schema.
StructUnit
(format_: str)[source]¶ Bases:
iofree.schema.Unit
-
class
iofree.schema.
Switch
(ref: str, cases: Mapping[Any, Union[iofree.schema.BinarySchemaMetaclass, iofree.schema.Unit]])[source]¶ Bases:
iofree.schema.Unit