noob-core (Python)

Python counterparts of the PyO3 structs, due to limitations in the sphinx-rust compatibility and PyO3’s docs generation, all the docstrings for Epoch are in noob_core::epoch

The Scheduler class is excluded to avoid multiple references, three schedulers is confusing enough already.

See

class Epoch(root, path=Ellipsis)

The basic unit of event alignment in Noob: Events emitted within the same epoch are passed to a node’s slots together.

Epochs are hierarchical: by default, all events exist in an integer-valued root epoch. However if a node like Map expands cardinality by emitting multiple events per event taken in, Epochs grow “layers” of subepochs labeled with the ID of the node that emitted them.

static from_wire(wire)
is_root
leaf
make_subepochs(node, n)
parent
parents
root
root_epoch
to_wire()
class SorterState[source]
ready: set[str | tuple[str, str]]
out: set[str | tuple[str, str]]
done: set[str | tuple[str, str]]
disabled: set[str | tuple[str, str]]
ran: set[str | tuple[str, str]]
pending: set[str | tuple[str, str]]
npassedout: int
nfinished: int