AGILAB is an integrated experimentation platform that helps data scientists and applied researchers prototype, validate, and deliver AI/ML applications quickly. The project bundles a curated suite of “agi-*” components (environment, node, cluster, core libraries, and reference applications) that work together to provide:
- Reproducible experimentation with managed virtual environments, dependency tracking, and application templates.
- Scalable execution through local and distributed worker orchestration (agi-node / agi-cluster) that mirrors production-like topologies.
- Rich tooling including Streamlit-powered apps, notebooks, workflow automation, and coverage-guided CI pipelines.
- Turn‑key examples covering classical analytics and more advanced domains such as flight simulation, network traffic, industrial IoT, and optimization workloads.
The project is licensed under the BSD 3-Clause License and is maintained by the Thales Group with community contributions welcomed.
AGILAB is unique because it combines three layers in one ecosystem:
- A single control path from interactive workflows (Streamlit/CLI) to distributed worker execution.
- Built-in reproducibility through managed environments, explicit execution pipelines, and multiple venv support inside notebooks (a different venv can be selected per cell).
- A modular architecture (
agi-env,agi-node,agi-cluster) you can install as a full stack or component by component.
AGILAB is easiest to discover and adopt when users can:
- install from PyPI in one command,
- launch a minimal scenario in less than one minute,
- and find links to docs, source, issues, and changes in one place.
The monorepo hosts several tightly-coupled packages:
| Package | Location | Purpose |
|---|---|---|
agilab |
src/agilab |
Top-level Streamlit experience, tooling, and reference applications |
agi-env |
src/agilab/core/agi-env |
Environment bootstrap, configuration helpers, and pagelib utilities |
agi-node |
src/agilab/core/agi-node |
Local/remote worker orchestration and task dispatch |
agi-cluster |
src/agilab/core/agi-cluster |
Multi-node coordination, distribution, and deployment helpers |
agi-core |
src/agilab/core/agi-core |
Meta-package bundling the environment/node/cluster components |
Each package can be installed independently via pip install <package-name>, but the recommended path for development is
to clone this repository and use the provided scripts.
git clone https://github.com/ThalesGroup/agilab.git
cd agilab
./install.sh --install-apps --test-apps
uv --preview-features extra-build-dependencies run streamlit run src/agilab/About_agilab.pyTo try the package quickly from PyPI:
pip install agilab
agilab --helpThe installer uses Astral’s uv to provision isolated Python interpreters, set up required credentials, run tests with coverage, and link bundled applications into the local workspace.
For development mode, the strongly recommended tools are:
- PyCharm (Professional) with repository-specific settings.
- Community-only workflows can still work through CLI wrappers and manual entry points, but Pro is required for the full IDE-oriented setup flow.
- Codex CLI configured from repository-specific guidance (
AGENTS.mdand repository.codex/skills/workflow settings).
For a professional Codex workflow, use the repo helper:
./tools/codex_workflow.sh reviewbefore coding changes../tools/codex_workflow.sh exec "..."for implementation tasks../tools/codex_workflow.sh apply <task-id>for generated task patch application.- Configuration and usage details:
tools/codex_workflow.md.
Use macOS or Linux when you need to validate or reuse Linux-dependent code paths.
See the documentation for alternative installation modes (PyPI/TestPyPI) and end user deployment instructions.
- Entrypoints: Streamlit (
src/agilab/About_agilab.py) and CLI mirrors callAGI.run/AGI.install, which hydrate anAgiEnvand load app manifests viaagi_core.apps. - Environment bootstrap:
agi_envresolves paths (agi_share_path,wenv), credentials, and uv-managed interpreters before any worker code runs; config precedence is env vars →~/.agilab/.env→ app settings. - Planning:
agi_corebuilds a WorkDispatcher plan (datasets, workers, telemetry) and emits structured status to Streamlit widgets/CLI for live progress. - Dispatch:
agi_clusterschedules tasks locally or over SSH;agi_nodepackages workers, validates dependencies, and executes workloads in isolated envs. - Telemetry & artifacts: run history and logs are written under
~/log/execute/<app>/, while app-specific outputs land relative toagi_share_path(see app docs for locations).
- 📘 Docs: https://thalesgroup.github.io/agilab
- 💬 Discussions: https://github.com/ThalesGroup/agilab/discussions
- 📦 PyPI: https://pypi.org/project/agilab
- 🧩 Core package index: https://pypi.org/search/?q=agi-
- 🧪 Test matrix: refer to
.github/workflows/ci.yml - ✅ Coverage snapshot: see badge above (auto-updated after CI)
- 🧾 Runbook: AGENTS.md
- 🛠️ Developer tools: scripts in
tools/and application templates insrc/agilab/apps
Contributions are encouraged! Please read CONTRIBUTING.md for guidelines on reporting issues, submitting pull requests, and the review process. Security-related concerns should follow the instructions in SECURITY.md.
Distributed under the BSD 3-Clause License. See LICENSE for full text.