diff --git a/README.md b/README.md index cc355687..b3d6da5e 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,15 @@ A repository containing code for data acquisition and processing for AIND behavi --- -## Deployment +## Installation -Install the [prerequisites](#prerequisites) mentioned below. -From the root of the repository, run `./scripts/deploy.ps1` to bootstrap both python and bonsai environments. +The python package can be installed from pypi using the following command: ---- +```bash +pip install aind-behavior-services +``` + +However, to use all the tasks and hardware that this package supports, you should over over the [prerequisites](#prerequisites) and [deployment](#deployment) sections. ## Prerequisites @@ -24,6 +27,13 @@ These should only need to be installed once on a fresh new system, and are not r --- +## Deployment + +Install the [prerequisites](#prerequisites) mentioned below. +From the root of the repository, run `./scripts/deploy.ps1` to bootstrap both python and bonsai environments. + +--- + ## Generating valid JSON input files One of the core principles of this repository is the strict adherence to [json-schemas](https://json-schema.org/). We use [Pydantic](https://pydantic.dev/) as a way to write and compile our schemas, but also to generate valid JSON input files. These files can be used by Bonsai (powered by [Bonsai.SGen](https://github.com/bonsai-rx/sgen) code generation tool) or to simply record metadata. Examples of how to interact with the library can be found in the `./examples` folder. @@ -58,4 +68,56 @@ Where possible, adhere to [Semantic Versioning](https://semver.org/). ## Project dependency tree -![Dependency tree](https://github.com/AllenNeuralDynamics/Aind.Behavior.Services/raw/main/assets/dependency_tree.drawio.svg) + +```mermaid +classDiagram + class aind_behavior_curriculum { + +Task + +Curriculum + } + + class aind_behavior_services { + +Task (Subclasses) + +Rig (maintains hardware library) + +Session + +Calibration (maintains device/calibration library) + +Deployment instructions + +Ecosystem documentation + } + + class aind_behavior_experiment_launcher { + +Launch experiment + +Interfaces with external applications (e.g. Bonsai) + +Interfaces with aind-services + } + + class aind_behavior_some_task { + +Concrete implementation of a task + +Rig (Subclasses for some task) + +Session + +Task Logic (Subclasses for some task) + +Maintains a task data-schema + +Saves data in standard format + } + + class aind_behavior_some_task_analysis { + +Analysis code for some task + } + + class aind_behavior_core_analysis { + +Data ingestion + +Data contract definition + +Core analysis primitives + +QC + } + + aind_behavior_curriculum --|> aind_behavior_services : Subclasses Task + aind_behavior_services --|> aind_behavior_some_task + aind_behavior_some_task --|> aind_behavior_some_task_analysis : Analysis + aind_behavior_core_analysis --|> aind_behavior_some_task_analysis : Imports core analysis methods + aind_behavior_some_task_analysis --|> aind_behavior_curriculum : Metrics[Task] + + aind_behavior_experiment_launcher --|> aind_behavior_some_task : Launches + +``` + diff --git a/assets/dependency_tree.drawio b/assets/dependency_tree.drawio deleted file mode 100644 index 67f7f552..00000000 --- a/assets/dependency_tree.drawio +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/dependency_tree.drawio.svg b/assets/dependency_tree.drawio.svg deleted file mode 100644 index b3a836d8..00000000 --- a/assets/dependency_tree.drawio.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
aind-behavior-curriculum
Base classes for Tasks and Curriculum:
- Task
- Stage[TTask]
- Metrics[TTask]
- Policy/Transitions[TTask]
- Curriculum

aind-behavior-services
- Base classes for:
- Task (Subclasses)
- Session
- Rig
- Calibration classes and code
- Task Launcher/LauncherCli
- Deployment instructions
Subclasses
Task
Imports
Core analysis methods
Subclasses
Metrics
vr-foraging
- Instantiated by subclassing:
- Rig
- Session
- Task Logic

- Subclasses Launcher
- Maintains task data-schema
- Saves data in standard format

information-foraging
- Instantiated by subclassing:
- Rig
- Session
- Task Logic

- Subclasses Launcher
- Maintains task data-schema
- Saves data in standard format

bci-no-movement
- Instantiated by subclassing:
- Rig
- Session
- Task Logic

- Subclasses Launcher
- Maintains task data-schema
- Saves data in standard format

force-foraging
- Instantiated by subclassing:
- Rig
- Session
- Task Logic

- Subclasses Launcher
- Maintains task data-schema
- Saves data in standard format

vr-foraging-analysis
Analysis of vr-foraging
data-ingestion-primitives
Core analysis primitives
Data ingestion
QC
...
analysis
Analysis repo
analysis
Analysis repo
analysis
Analysis repo
aind-behavior-curriculum
Metrics[TTask]
Pinned version
WIP
Subclasses
Task
Rig
Session
Launcher
\ No newline at end of file diff --git a/docs/_static/AindBehaviorSessionModel.svg b/docs/_static/AindBehaviorSessionModel.svg index 06202f53..61e9d648 100644 --- a/docs/_static/AindBehaviorSessionModel.svg +++ b/docs/_static/AindBehaviorSessionModel.svg @@ -19,7 +19,7 @@ aind_behavior_services_pkg_version -Literal['0.8.0'] +Literal['0.8.1'] version diff --git a/src/Extensions/AindBehaviorSession.cs b/src/Extensions/AindBehaviorSession.cs index b030893e..08982abb 100644 --- a/src/Extensions/AindBehaviorSession.cs +++ b/src/Extensions/AindBehaviorSession.cs @@ -15,7 +15,7 @@ namespace AindBehaviorServices.AindBehaviorSession public partial class AindBehaviorSessionModel { - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private string _version = "0.3.0"; diff --git a/src/Extensions/AindManipulatorCalibrationLogic.cs b/src/Extensions/AindManipulatorCalibrationLogic.cs index 1eb42234..62982d91 100644 --- a/src/Extensions/AindManipulatorCalibrationLogic.cs +++ b/src/Extensions/AindManipulatorCalibrationLogic.cs @@ -17,7 +17,7 @@ public partial class CalibrationParameters private double? _rngSeed; - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; public CalibrationParameters() { diff --git a/src/Extensions/AindManipulatorCalibrationRig.cs b/src/Extensions/AindManipulatorCalibrationRig.cs index fa90cdd3..2cbe7f8f 100644 --- a/src/Extensions/AindManipulatorCalibrationRig.cs +++ b/src/Extensions/AindManipulatorCalibrationRig.cs @@ -897,7 +897,7 @@ public enum MotorOperationMode public partial class CalibrationRig { - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private string _version = "0.1.0"; diff --git a/src/Extensions/LoadCellsCalibrationLogic.cs b/src/Extensions/LoadCellsCalibrationLogic.cs index c2fa1656..daf7a2c5 100644 --- a/src/Extensions/LoadCellsCalibrationLogic.cs +++ b/src/Extensions/LoadCellsCalibrationLogic.cs @@ -17,7 +17,7 @@ public partial class CalibrationParameters private double? _rngSeed; - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private System.Collections.Generic.List _channels = new System.Collections.Generic.List(); diff --git a/src/Extensions/LoadCellsCalibrationRig.cs b/src/Extensions/LoadCellsCalibrationRig.cs index c4e80015..f6094d6d 100644 --- a/src/Extensions/LoadCellsCalibrationRig.cs +++ b/src/Extensions/LoadCellsCalibrationRig.cs @@ -892,7 +892,7 @@ public override string ToString() public partial class CalibrationRig { - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private string _version = "0.0.0"; diff --git a/src/Extensions/OlfactometerCalibrationLogic.cs b/src/Extensions/OlfactometerCalibrationLogic.cs index 6f2509cd..2fecac85 100644 --- a/src/Extensions/OlfactometerCalibrationLogic.cs +++ b/src/Extensions/OlfactometerCalibrationLogic.cs @@ -17,7 +17,7 @@ public partial class CalibrationParameters private double? _rngSeed; - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private System.Collections.Generic.IDictionary _channelConfig; diff --git a/src/Extensions/OlfactometerCalibrationRig.cs b/src/Extensions/OlfactometerCalibrationRig.cs index fda23f14..0d7cefe1 100644 --- a/src/Extensions/OlfactometerCalibrationRig.cs +++ b/src/Extensions/OlfactometerCalibrationRig.cs @@ -979,7 +979,7 @@ public enum OlfactometerChannelType public partial class CalibrationRig { - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private string _version = "0.0.0"; diff --git a/src/Extensions/TreadmillCalibrationLogic.cs b/src/Extensions/TreadmillCalibrationLogic.cs index 2d4b570a..6bda9711 100644 --- a/src/Extensions/TreadmillCalibrationLogic.cs +++ b/src/Extensions/TreadmillCalibrationLogic.cs @@ -17,7 +17,7 @@ public partial class CalibrationParameters private double? _rngSeed; - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; public CalibrationParameters() { diff --git a/src/Extensions/TreadmillCalibrationRig.cs b/src/Extensions/TreadmillCalibrationRig.cs index fd69f170..11b2b10c 100644 --- a/src/Extensions/TreadmillCalibrationRig.cs +++ b/src/Extensions/TreadmillCalibrationRig.cs @@ -550,7 +550,7 @@ public override string ToString() public partial class CalibrationRig { - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private string _version = "0.0.0"; diff --git a/src/Extensions/WaterValveCalibrationLogic.cs b/src/Extensions/WaterValveCalibrationLogic.cs index 9f530026..c9b94724 100644 --- a/src/Extensions/WaterValveCalibrationLogic.cs +++ b/src/Extensions/WaterValveCalibrationLogic.cs @@ -17,7 +17,7 @@ public partial class CalibrationParameters private double? _rngSeed; - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private System.Collections.Generic.List _valveOpenTime = new System.Collections.Generic.List(); diff --git a/src/Extensions/WaterValveCalibrationRig.cs b/src/Extensions/WaterValveCalibrationRig.cs index f791dca4..5dcbbc61 100644 --- a/src/Extensions/WaterValveCalibrationRig.cs +++ b/src/Extensions/WaterValveCalibrationRig.cs @@ -15,7 +15,7 @@ namespace AindBehaviorServices.WaterValveCalibrationRig public partial class CalibrationRig { - private string _aindBehaviorServicesPkgVersion = "0.8.0"; + private string _aindBehaviorServicesPkgVersion = "0.8.1"; private string _version = "0.0.0"; diff --git a/src/aind_behavior_services/__init__.py b/src/aind_behavior_services/__init__.py index 8db62255..9175c112 100644 --- a/src/aind_behavior_services/__init__.py +++ b/src/aind_behavior_services/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.8.0" +__version__ = "0.8.1" from .rig import AindBehaviorRigModel # noqa: F401 from .session import AindBehaviorSessionModel # noqa: F401 diff --git a/src/aind_behavior_services/base.py b/src/aind_behavior_services/base.py index 13c9f9c1..1c9d7fc8 100644 --- a/src/aind_behavior_services/base.py +++ b/src/aind_behavior_services/base.py @@ -20,7 +20,7 @@ class SchemaVersionedModel(BaseModel): ) version: str = Field(..., pattern=SEMVER_REGEX, description="schema version", title="Version", frozen=True) - @field_validator("aind_behavior_services_pkg_version", mode="before", check_fields=False) + @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) @@ -72,14 +72,11 @@ def coerce_schema_version(cls: type[SchemaVersionedModel], v: str, version_strin semver = Version.parse(v) if semver > _default_schema_version: raise ValueError( - f"Deserialized schema version ({semver}) \ - is greater than the current version({_default_schema_version})." + f"Error deserializing versioned field {version_string} (v{semver} > v{_default_schema_version})" ) elif semver < _default_schema_version: warnings.warn( - f"Deserialized schema version ({semver}) \ - is less than the current version({_default_schema_version}). \ - Will attempt to coerce the conversion." + f"Coercing deserialized versioned field {version_string} (v{semver} < v{_default_schema_version})" ) return str(_default_schema_version) else: diff --git a/src/aind_behavior_services/rig/__init__.py b/src/aind_behavior_services/rig/__init__.py index 58e14dc8..d58ba6dd 100644 --- a/src/aind_behavior_services/rig/__init__.py +++ b/src/aind_behavior_services/rig/__init__.py @@ -6,7 +6,7 @@ from pydantic import BaseModel, Field, RootModel, field_validator -from aind_behavior_services.base import SchemaVersionedModel, coerce_schema_version +from aind_behavior_services.base import SchemaVersionedModel class Device(BaseModel): @@ -275,8 +275,3 @@ class Screen(Device): class AindBehaviorRigModel(SchemaVersionedModel): computer_name: str = Field(default_factory=lambda: os.environ["COMPUTERNAME"], description="Computer name") rig_name: str = Field(..., description="Rig name") - - @field_validator("version", mode="before") - @classmethod - def coerce_version(cls, v: str) -> str: - return coerce_schema_version(cls, v) diff --git a/src/aind_behavior_services/session/__init__.py b/src/aind_behavior_services/session/__init__.py index 523b17d8..a3de8393 100644 --- a/src/aind_behavior_services/session/__init__.py +++ b/src/aind_behavior_services/session/__init__.py @@ -2,10 +2,10 @@ import datetime from typing import List, Literal, Optional, Self -from pydantic import Field, field_validator, model_validator +from pydantic import Field, model_validator import aind_behavior_services.utils -from aind_behavior_services.base import SchemaVersionedModel, coerce_schema_version +from aind_behavior_services.base import SchemaVersionedModel __version__ = "0.3.0" @@ -28,11 +28,6 @@ class AindBehaviorSessionModel(SchemaVersionedModel): allow_dirty_repo: bool = Field(default=False, description="Allow running from a dirty repository") skip_hardware_validation: bool = Field(default=False, description="Skip hardware validation") - @field_validator("version", mode="before") - @classmethod - def coerce_version(cls, v: str, ctx) -> str: - return coerce_schema_version(cls, v) - @model_validator(mode="after") def generate_session_name_default(self) -> Self: if self.session_name is None: diff --git a/src/aind_behavior_services/task_logic/__init__.py b/src/aind_behavior_services/task_logic/__init__.py index c571bc3d..4cf14866 100644 --- a/src/aind_behavior_services/task_logic/__init__.py +++ b/src/aind_behavior_services/task_logic/__init__.py @@ -19,11 +19,12 @@ def coerce_version(cls, v: str, ctx) -> str: return coerce_schema_version(cls, v, ctx.field_name) +# This class should be inherited from but do not add extra parameters. Instead, add them to TaskParameters class AindBehaviorTaskLogicModel(curriculum_task.Task): task_parameters: TaskParameters = Field(..., description="Parameters of the task logic", validate_default=True) version: str = Field(..., pattern=curriculum_task.SEMVER_REGEX, description="task schema version") - @field_validator("version", mode="before") + @field_validator("version", mode="before", check_fields=False) @classmethod def coerce_version(cls, v: str) -> str: return coerce_schema_version(cls, v) diff --git a/src/schemas/aind_behavior_data_types.json b/src/schemas/aind_behavior_data_types.json index d30872a4..852ae1b8 100644 --- a/src/schemas/aind_behavior_data_types.json +++ b/src/schemas/aind_behavior_data_types.json @@ -162,7 +162,7 @@ }, "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/aind_behavior_session.json b/src/schemas/aind_behavior_session.json index f79580ff..e900c6a3 100644 --- a/src/schemas/aind_behavior_session.json +++ b/src/schemas/aind_behavior_session.json @@ -1,7 +1,7 @@ { "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/aind_behavior_subject_database.json b/src/schemas/aind_behavior_subject_database.json index bea25092..adbe1589 100644 --- a/src/schemas/aind_behavior_subject_database.json +++ b/src/schemas/aind_behavior_subject_database.json @@ -17,7 +17,7 @@ }, "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/aind_manipulator_calibration_logic.json b/src/schemas/aind_manipulator_calibration_logic.json index 811de749..9f598045 100644 --- a/src/schemas/aind_manipulator_calibration_logic.json +++ b/src/schemas/aind_manipulator_calibration_logic.json @@ -17,7 +17,7 @@ "title": "Rng Seed" }, "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/aind_manipulator_calibration_rig.json b/src/schemas/aind_manipulator_calibration_rig.json index 4f415286..8c2cccf7 100644 --- a/src/schemas/aind_manipulator_calibration_rig.json +++ b/src/schemas/aind_manipulator_calibration_rig.json @@ -351,7 +351,7 @@ }, "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/load_cells_calibration_logic.json b/src/schemas/load_cells_calibration_logic.json index edb5a90b..3e31a2f6 100644 --- a/src/schemas/load_cells_calibration_logic.json +++ b/src/schemas/load_cells_calibration_logic.json @@ -17,7 +17,7 @@ "title": "Rng Seed" }, "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/load_cells_calibration_rig.json b/src/schemas/load_cells_calibration_rig.json index 598d2dda..e43454fe 100644 --- a/src/schemas/load_cells_calibration_rig.json +++ b/src/schemas/load_cells_calibration_rig.json @@ -280,7 +280,7 @@ }, "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/olfactometer_calibration_logic.json b/src/schemas/olfactometer_calibration_logic.json index 24cf1233..76448c18 100644 --- a/src/schemas/olfactometer_calibration_logic.json +++ b/src/schemas/olfactometer_calibration_logic.json @@ -17,7 +17,7 @@ "title": "Rng Seed" }, "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/olfactometer_calibration_rig.json b/src/schemas/olfactometer_calibration_rig.json index 353f1ce7..f3931c07 100644 --- a/src/schemas/olfactometer_calibration_rig.json +++ b/src/schemas/olfactometer_calibration_rig.json @@ -339,7 +339,7 @@ }, "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/treadmill_calibration_logic.json b/src/schemas/treadmill_calibration_logic.json index 76065f2a..9439aa8e 100644 --- a/src/schemas/treadmill_calibration_logic.json +++ b/src/schemas/treadmill_calibration_logic.json @@ -17,7 +17,7 @@ "title": "Rng Seed" }, "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" @@ -45,7 +45,7 @@ "$ref": "#/definitions/CalibrationParameters", "default": { "rng_seed": null, - "aind_behavior_services_pkg_version": "0.8.0" + "aind_behavior_services_pkg_version": "0.8.1" }, "title": "Task parameters" }, diff --git a/src/schemas/treadmill_calibration_rig.json b/src/schemas/treadmill_calibration_rig.json index 63743c24..2b82b15e 100644 --- a/src/schemas/treadmill_calibration_rig.json +++ b/src/schemas/treadmill_calibration_rig.json @@ -175,7 +175,7 @@ }, "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/water_valve_calibration_logic.json b/src/schemas/water_valve_calibration_logic.json index c348076b..2f5d1687 100644 --- a/src/schemas/water_valve_calibration_logic.json +++ b/src/schemas/water_valve_calibration_logic.json @@ -17,7 +17,7 @@ "title": "Rng Seed" }, "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string" diff --git a/src/schemas/water_valve_calibration_rig.json b/src/schemas/water_valve_calibration_rig.json index b2f1b27c..fba1e769 100644 --- a/src/schemas/water_valve_calibration_rig.json +++ b/src/schemas/water_valve_calibration_rig.json @@ -1,7 +1,7 @@ { "properties": { "aind_behavior_services_pkg_version": { - "default": "0.8.0", + "default": "0.8.1", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "aind_behavior_services package version", "type": "string"