Framework API
The framework is organised as a small set of cooperating packages that expose both web-interface primitives (pages, widgets, orchestration helpers) and the worker-side orchestration logic. Start here when you need to automate project setup, build new nodes, or integrate with the AGILab distributor.
Core packages
agi_envmaps the current project into anAgiEnvobject and provides the helper utilities relied upon by web pages (project discovery, dataset export, templating helpers, etc.).agi_corekeeps the shared framework contracts intentionally thin; for now, the architecture page is more useful than autodoc because the top-level Python package exports only a minimal public surface.agi_nodecontains the base worker/node abstractions that run inside a cluster. Extend these classes when you need custom pipelines or want to add typed contracts around data exchange.agi-distributoris the orchestration layer implemented underagi_cluster.agi_distributor. It handles app installation, distribution creation, and task delegation to remote workers.
The detailed API reference for each package is available below.
Working with the API
Use
agi_env.AgiEnvinside web pages or utility scripts to access the active project structure and configuration.Derive from
agi_nodebase classes to implement new DAG steps or worker behaviours that can be shipped with your app bundles.Call into
agi_cluster.agi_distributor.agi_distributor.AGIfor programmatic install / get_distrib / run flows; this is the same surface area surfaced in the Orchestrate page snippets.
App structure conventions
Every app bundles a manager module under
src/agilab/apps/<app>_project/src/<app>/<app>.pyand a worker module undersrc/agilab/apps/<app>_project/src/<app>_worker/<app>_worker.py.Test coverage mirrors that split:
test/_test_<app>_manager.pydrives the manager entry points,test/_test_<app>_worker.pyexercises the worker, andapp_test.pyorchestrates the combined flow.Instantiate managers with their validated args models (for example
FlightArgs). The convenience constructorBaseWorker.from_tomlremains the recommended entry point for configuration-driven flows.
For end-to-end examples, browse src/agilab/examples to see how the packages
fit together in real projects.