jam.types.base.sequences.bytes package

Submodules

Module Contents

class jam.types.base.sequences.bytes.ByteArray8(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray16(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray32(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray64(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray96(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray128(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray144(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray256(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.ByteArray784(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.BitArray(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: Array

Fixed-length bit sequence implementation that supports codec operations.

A BitSequence represents a fixed-length sequence of bits, where each bit is represented as a Boolean value. The sequence is encoded as a compact bit array.

__init__(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Initialize bit sequence.

Parameters:

value – Initial values. Must match the fixed length. All elements must be Boolean instances.

Raises:
  • TypeError – If elements are not Boolean instances

  • ValueError – If initial values don’t match fixed length

classmethod from_json(data: Any) BitArray[source]

Deserialize from JSON.

jam.types.base.sequences.bytes.decodable_bit_array(length: int, bitorder: Literal['msb', 'lsb'] | None = 'msb') Callable[[Type[BitArray]], Type[BitArray]][source]

Extend existing decodable_array to be array of Bits

class jam.types.base.sequences.bytes.Byte(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: BitArray

A single byte value that supports codec operations. Array uses BitSequenceCodec.

A Byte represents an 8-bit array that is encoded as a single byte.

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[BitArray, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.Bytes(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: Vector[Byte]

Variable-length byte sequence type.

__init__(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Initialize Bytes.

Parameters:

value – Bytable which is either int, bytes, str, bytearray, memoryview, Sequence[Byte]

hex() str[source]

Get hex representation of Bytes.

classmethod from_json(data: Any) Bytes[source]

Create from JSON representation.

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Vector[T], int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing