ursa.register¶
User-facing write API for the Ursa catalog.
Four functions register the four Ursa-owned catalog tables:
- func:
participant→participants
- func:
recording→recordings
- func:
modality→modalities
- func:
event→events
Each function takes keyword-only args, validates them through the
corresponding ursa.catalog.*Row Pydantic schema, and inserts the row
via a :class:CatalogWriter (the module-private write boundary with the
catalog backend — see ENG-886).
.. note:: Phase 1a (M2) is intentionally non-idempotent: re-registering a row whose primary key already exists raises
- class:
ursa.catalog.CatalogRowExists. Idempotent re-register is tracked inENG-1074 <https://linear.app/constellationlab/issue/ENG-1074>_. On partial-failure paths the caller is responsible for retry; there are no blob-side resources to compensate (Phase 1a :func:modalityis catalog-only).
Submodules¶
Package Contents¶
Data¶
API¶
- ursa.register.__all__¶
[‘event’, ‘modality’, ‘participant’, ‘recording’]