Observed since 21 Oct, 11:27 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A library for a minimal framework that can be used to build experimental interfaces.
██████╗██╗ █████╗ ██████╗ ███████╗ ██╔════╝██║ ██╔══██╗██╔══██╗██╔════╝ ██║ ██║ ███████║██████╔╝█████╗ ██║ ██║ ██╔══██║██╔══██╗██╔══╝ ╚██████╗███████╗██║ ██║██████╔╝███████╗ ╚═════╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝ Command-line-interface Launcher for AIND Behavior Experiments
CLABE is a Python toolkit for building, running, and operating behavioral-experiment workflows. It provides a launcher for experiment scripts alongside composable utilities for user interaction, external applications, configuration and storage, resource checks, data transfer, remote execution, logging, and repository-state capture.
The library is designed to be useful both in an interactive experiment session and in scripted or remote workflows.
For a project managed with uv:
uv add aind-clabe
Or install with pip:
pip install aind-clabe
To work on this repository locally:
git clone https://github.com/AllenNeuralDynamics/clabe.git
cd clabe
uv sync
@experiment, with console, TUI, and web-served interaction options.Define an experiment in a Python module:
from clabe.launcher import Launcher, experiment
@experiment()
async def my_experiment(launcher: Launcher) -> None:
launcher.frontend.notify("Experiment started")
# Configure the session, check resources, and run applications here.
Run the module with the CLABE CLI:
uv run clabe run path/to/my_experiment.py
See examples/behavior_launcher.py for a fuller example that combines sessions, forms, stores, resource checks, applications, and telemetry.
Show available commands and their options:
uv run clabe --help
Run an experiment interactively:
uv run clabe run path/to/my_experiment.py
Serve an experiment's text UI locally:
uv run clabe serve path/to/my_experiment.py --port 8089
Capture Git state for a repository and all declared submodules:
uv run clabe repository-state path/to/repository > repository-state.json
Each repository entry includes its URL, commit SHA, exact and nearest tags, branch, dirty state, name, cwd-relative path, and nested submodules. The launcher writes this snapshot alongside its temporary output; when logs are copied, it is saved at Behavior/Logs/.launcher/repository-state.json in the session directory.
Some integrations are optional so a basic installation remains lightweight:
uv add "aind-clabe[aind-services]" # AIND services, data schema, and transfer tooling
uv add "aind-clabe[web]" # Web-served Textual UI
uv add "aind-clabe[otel]" # OpenTelemetry exporters and YAML support
uv run pytest.uv run ruff check.uv run mkdocs serve after installing the docs dependency group.Contributions are welcome. Please include focused tests for behavior changes and keep the package's cross-platform support in mind.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.14.0 | 7 Oct 2026 | 22 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 11:27 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:bc8e01a9352b9e6945d8a4e625384f1a919f4c9a680359595080eb9b366a3d49