ursa.register

User-facing write API for the Ursa catalog.

Four functions register the four Ursa-owned catalog tables:

  • func:

    participantparticipants

  • func:

    recordingrecordings

  • func:

    modalitymodalities

  • func:

    eventevents

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 in ENG-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:modality is catalog-only).

Submodules

Package Contents

Data

API

ursa.register.__all__

[‘event’, ‘modality’, ‘participant’, ‘recording’]