██████╗██╗ █████╗ ██████╗ ███████╗ ██╔════╝██║ ██╔══██╗██╔══██╗██╔════╝ ██║ ██║ ███████║██████╔╝█████╗ ██║ ██║ ██╔══██║██╔══██╗██╔══╝ ╚██████╗███████╗██║ ██║██████╔╝███████╗ ╚═════╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝ Command-line-interface Launcher for AIND Behavior Experiments
clabe¶
A library for building workflows for behavior experiments.
⚠️ Caution:
This repository is currently under active development and is subject to frequent changes. Features and APIs may evolve without prior notice.
Installing and Upgrading¶
If you choose to clone the repository, you can install the package by running the following command from the root directory of the repository:
pip install .
Otherwise, you can use pip:
pip install aind-clabe
Getting started and API usage¶
The library provides a main class "Launcher" that can be used to create a linear workflow for behavior experiments. These workflows rely on modular interfaces that can be used to interact with various components of the experiment and other services. Some of these services are specific for AIND:
We will also try to scope all dependencies of the related to AIND Services to its own optional dependency list in the ./pyproject.toml
file of this repository. Therefore, in order to use this module, you will need to install these optional dependencies by running:
uv sync --extra aind-services
A basic example of how to use the Launcher class can be found in the examples
directory of this repository.
Contributors¶
Contributions to this repository are welcome! However, please ensure that your code adheres to the recommended DevOps practices below:
Linting¶
We use ruff as our primary linting tool.
Testing¶
Attempt to add tests when new features are added.
To run the currently available tests, run uv run -m unittest
from the root of the repository.
Lock files¶
We use uv to manage our lock files and therefore encourage everyone to use uv as a package manager as well.