jam.types.base.integers.fixed module

class jam.types.base.integers.fixed.FixedInt(value: int | BaseInteger)[source]

Bases: BaseInteger, Codable

Fixed-width integer type.

byte_size: int = 0
has_sign = False
__init__(value: int | BaseInteger)[source]

Initialize an integer.

_validate(value: int) None[source]

Validate the integer value is within bounds.

jam.types.base.integers.fixed.decodable_int(byte_size: int, has_sign=False) Callable[[Type[FixedInt]], Type[FixedInt]][source]

Decorator to make a class decodable as an integer.

class jam.types.base.integers.fixed.U8(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 1
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

has_sign = False
class jam.types.base.integers.fixed.I8(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 1
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

has_sign = True
class jam.types.base.integers.fixed.U16(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 2
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

has_sign = False
class jam.types.base.integers.fixed.I16(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 2
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

has_sign = True
class jam.types.base.integers.fixed.U32(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 4
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

has_sign = False
class jam.types.base.integers.fixed.I32(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 4
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

has_sign = True
class jam.types.base.integers.fixed.U64(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 8
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

has_sign = False
class jam.types.base.integers.fixed.I64(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 8
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

has_sign = True
class jam.types.base.integers.fixed.U128(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 16
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

has_sign = False
class jam.types.base.integers.fixed.I128(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 16
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

has_sign = True
class jam.types.base.integers.fixed.U256(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 32
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

has_sign = False
class jam.types.base.integers.fixed.I256(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 32
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

has_sign = True
class jam.types.base.integers.fixed.U512(value: int | BaseInteger)[source]

Bases: FixedInt

byte_size: int = 64
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

has_sign = False