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