arxiv.canonical.register.core module

Core structures of the canonical register.

class arxiv.canonical.register.core.Base(name, domain, record, integrity, members=None)[source]

Bases: typing.Generic

Generic base class for all register classes.

This defines the abstract structure of a register class. It specifies thatpecifically that instances of a register class are composed of a domain object, a record object, an integrity object, and a set of members. This allows us to define register classes that align domain, record, and integrity classes at a specific level of the record hierarchy.

add_events(s, sources, *events)[source]

Add events to this register.

Return type

None

domain = None

The domain object on a register instance.

domain_type = None

The type of the domain object on a register instance.

integrity = None

The integrity object on a register instance.

integrity_type = None

The type of the integrity object on a register instance.

iter_members()[source]

Get an iterator over members in this register.

Return type

Iterable[~_Member]

classmethod load(s, sources, name, checksum=None)[source]

Load an instance of the register class from storage.

Return type

~_Self

member_type = None

The type of members contained by an instance of a register class.

property members

Accessor for the members of a register instance.

Return type

MutableMapping[~_MemberName, ~_Member]

property number_of_events

Number of events contained within a register instance.

Return type

int

property number_of_versions

Number of e-print versions contained within a register instance.

Return type

int

record = None

The record object on a register instance.

record_type = None

The type of the record object on a register instance.

save(s)[source]

Store changes to the integrity manifest for this register.

Return type

str

save_members(s, members)[source]

Save members that have changed, and update our manifest.

Return type

None