Skip to content

AGILAB project purpose is to explore AI for engineering. It is designed to help engineers quickly experiment with AI-driven methods.

License

Notifications You must be signed in to change notification settings

ThalesGroup/agilab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,338 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PyPI version Supported Python Versions License: BSD 3-Clause pypi_dl CI Coverage GitHub stars Commit activity PRs welcome Open issues PyPI - Format Repo size black docs ORCID

AGILAB Open Source Project

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.

Unique value proposition

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.

Repository layout

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.

Quick start (developer mode)

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.py

To try the package quickly from PyPI:

pip install agilab
agilab --help

The 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.md and repository .codex/skills/workflow settings).

For a professional Codex workflow, use the repo helper:

  • ./tools/codex_workflow.sh review before 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.

Framework execution flow

  • Entrypoints: Streamlit (src/agilab/About_agilab.py) and CLI mirrors call AGI.run/AGI.install, which hydrate an AgiEnv and load app manifests via agi_core.apps.
  • Environment bootstrap: agi_env resolves 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_core builds a WorkDispatcher plan (datasets, workers, telemetry) and emits structured status to Streamlit widgets/CLI for live progress.
  • Dispatch: agi_cluster schedules tasks locally or over SSH; agi_node packages 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 to agi_share_path (see app docs for locations).

Documentation & resources

Contributing

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.

License

Distributed under the BSD 3-Clause License. See LICENSE for full text.

About

AGILAB project purpose is to explore AI for engineering. It is designed to help engineers quickly experiment with AI-driven methods.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 7