uproot_custom.readers package#
Submodules#
uproot_custom.readers.cpp module#
Type stubs for ROOT C++ reader classes.
This file contains only type hints without implementations.
- class uproot_custom.readers.cpp.IReader#
Bases:
pybind11_object- name(self: uproot_custom.cpp.IReader) str#
Get the name of the reader
- uproot_custom.readers.cpp.read_data(data: typing.Annotated[numpy.typing.ArrayLike, numpy.uint8], offsets: typing.Annotated[numpy.typing.ArrayLike, numpy.uint32], cursor_offset: typing.SupportsInt | typing.SupportsIndex, reader: uproot::IReader) object#
Read data from a binary stream
uproot_custom.readers.python module#
- class uproot_custom.readers.python.AnyClassReader(name: str, element_readers: list[IReader])[source]#
Bases:
IReader- read(stream: BinaryStream)[source]#
- class uproot_custom.readers.python.AnyPointerReader(name: str, element_reader: IReader)[source]#
Bases:
IReaderReads objects stored via ROOT’s read_object_any protocol.
This handles both: - True pointers (kObjectP=64, kAnyP=69): full read_object_any with null/reference support - Object headers (kNewClassTag + classname before object data)
- Binary format (read_object_any):
- bcnt (uint32) — if kByteCountMask set: versioned, then read tag (uint32)
otherwise: unversioned, tag = bcnt
tag: - tag == 0: null pointer - tag & kClassMask == 0 (nonzero): reference to previously-read object (skip bytes) - tag == kNewClassTag: null-terminated classname + object data - tag & kClassMask != 0: reference to known class, new object data
- uproot_custom.readers.python.BinaryBuffer#
alias of
BinaryStream
- class uproot_custom.readers.python.BinaryStream(data: ndarray[tuple[Any, ...], dtype[uint8]], offsets: ndarray[tuple[Any, ...], dtype[uint32]], initial_cursor_position: int, repr_nbytes: int = 50)[source]#
Bases:
object- property entries#
- property remaining_data#
- class uproot_custom.readers.python.CStyleArrayReader(name: str, flat_size: int, element_reader: IReader)[source]#
Bases:
IReader
- class uproot_custom.readers.python.GroupReader(name: str, element_readers: list[IReader])[source]#
Bases:
IReader
- class uproot_custom.readers.python.IReader(name: str)[source]#
Bases:
object- read(stream: BinaryStream) None[source]#
- read_many(stream: BinaryStream, count: int) int[source]#
- read_many_memberwise(stream: BinaryStream, count: int) int[source]#
- read_until(stream: BinaryStream, end_pos: int) int[source]#
- class uproot_custom.readers.python.ObjectHeaderReader(name: str, element_reader: IReader)[source]#
Bases:
IReader
- class uproot_custom.readers.python.PrimitiveReader(name: str, dtype: Literal['bool', 'uint8', 'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64', 'float32', 'float64'])[source]#
Bases:
IReader
- class uproot_custom.readers.python.STLMapReader(name: str, with_header: bool, objwise_or_memberwise: Literal['auto', 'obj-wise', 'member-wise'], key_reader: IReader, value_reader: IReader)[source]#
Bases:
IReader- read_body(stream: BinaryStream, is_memberwise: bool)[source]#
- read_element_version(stream: BinaryStream)[source]#
- class uproot_custom.readers.python.STLSeqReader(name: str, with_header: bool, objwise_or_memberwise: Literal['auto', 'obj-wise', 'member-wise'], element_reader: IReader)[source]#
Bases:
IReader- read_body(stream: BinaryStream, is_memberwise: bool)[source]#
- read_element_version(stream: BinaryStream)[source]#
- class uproot_custom.readers.python.STLStringReader(name: str, with_header: bool)[source]#
Bases:
IReader- read_body(stream: BinaryStream)[source]#
- class uproot_custom.readers.python.TArrayReader(name: str, dtype: Literal['int8', 'int16', 'int32', 'int64', 'float32', 'float64'])[source]#
Bases:
IReader
- class uproot_custom.readers.python.TObjectReader(name: str, keep_data: bool = False)[source]#
Bases:
IReader