Skip to content

Session#

session #

__semver__ module-attribute #

__semver__ = pep440_to_semver(__version__)

DefaultAwareDatetime module-attribute #

DefaultAwareDatetime = AwareDatetime

SchemaVersionedModel pydantic-model #

Bases: BaseModel

Fields:

Validators:

aind_behavior_services_pkg_version pydantic-field #

aind_behavior_services_pkg_version = __semver__

version pydantic-field #

version

schema version

coerce_version pydantic-validator #

coerce_version(v, ctx)
Source code in .venv/lib/python3.13/site-packages/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)

Session pydantic-model #

Bases: SchemaVersionedModel

Fields:

Validators:

version pydantic-field #

version = __semver__

experiment pydantic-field #

experiment = None

Name of the experiment

experimenter pydantic-field #

experimenter = []

Name of the experimenter

date pydantic-field #

date

Date of the experiment

session_name pydantic-field #

session_name = None

Name of the session. This will be used to create a folder in the root path. If not provided, it will be generated using subject and date.

subject pydantic-field #

subject

Name of the subject

notes pydantic-field #

notes = None

Notes about the experiment

commit_hash pydantic-field #

commit_hash = None

Commit hash of the repository

allow_dirty_repo pydantic-field #

allow_dirty_repo = False

Allow running from a dirty repository

skip_hardware_validation pydantic-field #

skip_hardware_validation = False

Skip hardware validation

aind_behavior_services_pkg_version pydantic-field #

aind_behavior_services_pkg_version = __semver__

generate_session_name_default pydantic-validator #

generate_session_name_default()
Source code in .venv/lib/python3.13/site-packages/aind_behavior_services/session/__init__.py
28
29
30
31
32
@model_validator(mode="after")
def generate_session_name_default(self) -> Self:
    if self.session_name is None:
        self.session_name = f"{self.subject}_{aind_behavior_services.utils.format_datetime(self.date)}"
    return self

coerce_version pydantic-validator #

coerce_version(v, ctx)
Source code in .venv/lib/python3.13/site-packages/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)