Skip to content

Data Types#

data_types #

__semver__ module-attribute #

__semver__ = pep440_to_semver(__version__)

_sgen_namespace module-attribute #

_sgen_namespace = SgenNamespace(
    "AllenNeuralDynamics.AindBehaviorServices.DataTypes"
)

TData module-attribute #

TData = TypeVar('TData', bound=Any)

SchemaVersionedModel pydantic-model #

Bases: BaseModel

Fields:

aind_behavior_services_pkg_version pydantic-field #

aind_behavior_services_pkg_version = __semver__

version pydantic-field #

version

schema version

coerce_version classmethod #

coerce_version(v, ctx)
Source code in src/aind_behavior_services/base.py
34
35
36
37
@field_validator("aind_behavior_services_pkg_version", "version", mode="before", check_fields=False)
@classmethod
def coerce_version(cls, v: str, ctx) -> str:
    return coerce_schema_version(cls, v, ctx.field_name)

SgenNamespace #

SgenNamespace(namespace)
Source code in src/aind_behavior_services/schema/__init__.py
379
380
def __init__(self, namespace: str):
    self._namespace = namespace

namespace property #

namespace

sgen_typename #

sgen_typename(*, typename=None)
Source code in src/aind_behavior_services/schema/__init__.py
386
387
def sgen_typename(self, *, typename: str | None = None) -> Callable[[Type[T]], Type[T]]:
    return sgen_typename(typename=typename, namespace=self._namespace)

DataType #

Bases: StrEnum

STRING class-attribute instance-attribute #

STRING = 'string'

NUMBER class-attribute instance-attribute #

NUMBER = 'number'

OBJECT class-attribute instance-attribute #

OBJECT = 'object'

ARRAY class-attribute instance-attribute #

ARRAY = 'array'

NULL class-attribute instance-attribute #

NULL = 'null'

BOOLEAN class-attribute instance-attribute #

BOOLEAN = 'boolean'

TimestampSource #

Bases: StrEnum

NULL class-attribute instance-attribute #

NULL = 'null'

HARP class-attribute instance-attribute #

HARP = 'harp'

RENDER class-attribute instance-attribute #

RENDER = 'render'

SoftwareEvent pydantic-model #

Bases: BaseModel, Generic[TData]

A software event is a generic event that can be used to track any event that occurs in the software.

Fields:

name pydantic-field #

name

The name of the event

timestamp pydantic-field #

timestamp = None

The timestamp of the event

timestamp_source pydantic-field #

timestamp_source = TimestampSource.NULL

The source of the timestamp

frame_index pydantic-field #

frame_index = None

The frame index of the event

frame_timestamp pydantic-field #

frame_timestamp = None

The timestamp of the frame

data pydantic-field #

data = None

The data of the event

data_type pydantic-field #

data_type = DataType.NULL

The data type of the event

data_type_hint pydantic-field #

data_type_hint = None

The data type hint of the event

RenderSynchState pydantic-model #

Bases: BaseModel

Fields:

sync_quad_value pydantic-field #

sync_quad_value = None

The synchronization quad value

frame_index pydantic-field #

frame_index = None

The frame index of the event

frame_timestamp pydantic-field #

frame_timestamp = None

The timestamp of the frame

StartExperimentPayload pydantic-model #

Bases: BaseModel

Fields:

timestamp pydantic-field #

timestamp

The start time of the session

EndExperimentPayload pydantic-model #

Bases: BaseModel

Fields:

timestamp pydantic-field #

timestamp

The end time of the session

DataTypes pydantic-model #

Bases: SchemaVersionedModel

Config:

  • json_schema_extra: {'x-abstract': 'True'}

Fields:

version pydantic-field #

version = __semver__

software_event pydantic-field #

software_event

render_synch_state pydantic-field #

render_synch_state

start_payload pydantic-field #

start_payload

end_payload pydantic-field #

end_payload

model_config class-attribute instance-attribute #

model_config = ConfigDict(
    json_schema_extra={"x-abstract": "True"}
)

aind_behavior_services_pkg_version pydantic-field #

aind_behavior_services_pkg_version = __semver__

coerce_version classmethod #

coerce_version(v, ctx)
Source code in src/aind_behavior_services/base.py
34
35
36
37
@field_validator("aind_behavior_services_pkg_version", "version", mode="before", check_fields=False)
@classmethod
def coerce_version(cls, v: str, ctx) -> str:
    return coerce_schema_version(cls, v, ctx.field_name)