Features
This page lists current shipped capabilities.
For toolchain fit, framework comparison, and when to choose AGILab, see AGILab in the MLOps Toolchain.
For planned work, see AGILab future work.
AGILab currently exposes 2 main user interfaces:
agi-core: an API interface callable directly from your Python program.
agilab: a web interface that generatesagi-corecalls and can render generated snippets for execution.
Shared components include agi-env (headless environment setup),
agi-gui (Streamlit UI dependency bundle and page helpers), agi-node
(runtime orchestration), and agi-cluster (multi-node execution support).
agi-core
Automated Virtual Environment Setup:
Automatically installs virtual environments for cluster nodes which are computers with multi-cores CPU, GPU and NPU.
Flexible Application Run Modes:
Process Management:
Single Process
Multiple Processes
Language Support:
Pure Python (From python 3.11)
Cython (Ahead of execution compilation)
Deployment Modes:
Single Node with MacOS, Windows (from W11) or Linux (Ubuntu from ubuntu 24.04)
Cluster with heterogeneous os per node
Node Capacity Calibration:
Estimates relative worker capacity and feeds those weights into the dispatcher.
Capacity-Weighted Static Load Balancing:
Builds a deterministic work plan before execution. Large plans use capacity-normalized longest-processing-time assignment; the scheduler does not rebalance already-running work in flight.
Distributed Work-Plan Execution:
Facilitates partitioned data processing, worker dispatch, and app-level aggregation.
AGILab currently standardizes the
mapside of the workflow: building distribution plans, dispatching partitions, and running them on local or cluster workers.AGILab now exposes a shared
agi_nodereduce contract with explicit partial inputs, reducer merge semantics, and a standard reduce artefact schema.execution_pandas_projectandexecution_polars_projectemit named benchmark reduce artefacts through that shared contract; the user-facingflight_projectemits trajectory-summary reduce artefacts;meteo_forecast_projectemits forecast-metrics reduce artefacts; anduav_queue_projectplusuav_relay_queue_projectemit the samereduce_summary_worker_<id>.jsonartifact shape for queue metrics.The Release Decision evidence view discovers those artefacts, validates their schema, and displays reducer name, partial count, artifact path, benchmark row/source/execution fields, flight row/aircraft/speed fields, meteo forecast MAE/RMSE/MAPE fields, and UAV queue-family packet/PDR fields when present.
The public reducer benchmark validates 8 partials / 80,000 synthetic items in
0.003sagainst a5.0starget.A repository guardrail requires every non-template built-in app to expose a reducer contract.
mycode_projectandglobal_dag_projectare explicit template-only exemptions because they do not produce concrete worker merge output; future apps/templates must opt in when they produce durable worker summaries.
Optimized Run-Mode Selection:
Chooses the best run-mode from up to 16 combinations (8 base modes and an optional RAPIDS variant).
agilab
Notebook-like multi-venv execution:
Coordinate runs through one interface while keeping isolated runtimes for project stages, workers, or page bundles.
agi-core API Generation:
Automatically generates APIs to streamline development processes.
Multi-provider coding assistant:
Integrates with OpenAI, Mistral, and OpenAI-compatible endpoints such as vLLM to offer real-time code suggestions across preferred providers.
Embedded Dataframe Export:
Easily export dataframes cross project.
5 Ways to Reuse Code:
Framework Instantiation:
Inherit from agi-core
AgentWorker | DagWorker | DataWorkerclasses.
Project Templates:
Clone existing code or create new project from templates.
Q&A Snippets History:
Utilize historical code snippets for quick integration.
Collaborative Coding:
Export / Import project to work together efficiently cross organisation.
Views Creation:
Share views seamlessly across multiple projects.
Project & Page Isolation:
Create full AGILab apps from templates; each ships with its own
pyproject.toml/uv_config.tomlsouvprovisions a dedicated virtual environment during Install.Build additional page bundles (standalone dashboards) that live under
src/agilab/apps-pages. Every bundle carries its ownpyproject.tomlor embedded.venvso the Analysis launcher spins it up inside an isolated interpreter.
Engineering prototyping evidence
AGILab is strongest for engineering prototypes that need more structure than a single notebook but less ceremony than a production MLOps platform:
app templates and cloned projects provide a repeatable manager/worker shape
app and page bundles keep dependencies isolated through their own
pyproject.toml/uvenvironmentsapp_args_form.pyandapp_settings.tomlgive prototypes a typed, configurable UI surface instead of hard-coded script parameterslab_stages.tomland notebook import/export support let teams move between notebook exploration and reproducible pipeline snippetsthe notebook-to-pipeline import report validates that bridge with
tools/notebook_pipeline_import_report.py --compact; it reads a checked-in.ipynb, preserves markdown context and code cells, extracts import hints plus artifact references, writes a richerlab_stages.tomlpreview used by the existingWORKFLOWupload path, and emitsnot_executed_importmetadata without running notebook cellsthe notebook import preflight report validates the generic migration boundary with
tools/notebook_import_preflight.py --compact; it reads an.ipynbwithout execution, flags cleanup risks such as runtime installs, shell calls, network access, widgets, hidden notebook state, and absolute paths, and writes app-neutralnotebook_import_contract.jsonandnotebook_import_pipeline_view.jsonsidecars when requested; when an app owns anotebook_import_views.tomlmanifest it also writes anotebook_import_view_plan.jsonsidecar that matches declared views to artifact paths without inferring UI intent from notebook cells; theWORKFLOWupload path now prepares that preview first and only replaceslab_stages.tomlafter explicit confirmationthe notebook round-trip report validates
tools/notebook_roundtrip_report.py --compactacrosslab_stages.toml -> supervisor notebook -> import -> lab_stages previewso saved stage description, prompt, model, code, runtime, import hints, and artifact references survive the non-executing round tripthe notebook union-environment report validates
tools/notebook_union_environment_report.py --compact; it renders asingle-kernel union notebookonly for compatiblerunpy/current-kernel stages and marks mixed runtimes or environments assupervisor_notebook_requiredthe data connector facility report validates
tools/data_connector_facility_report.py --compactagainstSQL, OpenSearch/Elasticsearch, and object-storage connector definitionsin a plain-text TOML catalog; search-index contracts cover OpenSearch-compatible clusters, while object-storage contracts cover AWS S3/S3-compatible stores, Azure Blob Storage, and Google Cloud Storage. It runs incontract_validation_onlymode, checks kind-specific fields, and requires environment references instead of embedded remote credentialsthe data connector cloud emulator report validates
tools/data_connector_cloud_emulator_report.py --compactincloud_emulator_contract_onlymode; it checks account-free MinIO/S3, Azurite/Azure Blob, fake-gcs-server/GCS, and local search endpoints against the same connector facility and runtime-adapter contracts without proving real cloud IAM, networking, quota, or billing behaviorthe data connector resolution report validates
tools/data_connector_resolution_report.py --compactfor connector-aware app/page resolution; it resolves app-settings connector IDs, proves page-specific references, preserveslegacy_path_fallbackrows, and runs incontract_resolution_onlymode without network probesthe data connector health report validates
tools/data_connector_health_report.py --compactinhealth_probe_plan_onlymode; it plans SQL, OpenSearch, and object-storage health/status probes behind operator opt-in and recordsunknown_not_probedpublic evidence without network checksthe data connector health actions report validates
tools/data_connector_health_actions_report.py --compactinoperator_trigger_contract_onlymode; it exposes operator-triggered health probes as explicit action rows while keeping public network execution at zerothe data connector runtime adapters report validates
tools/data_connector_runtime_adapters_report.py --compactinruntime_adapter_contract_onlymode; it binds credentialed connector adapters to runtime operations and health actions while deferring credential values and keeping public network execution at zerothe data connector live endpoint smoke report validates
tools/data_connector_live_endpoint_smoke_report.py --compactinlive_endpoint_smoke_plan_onlymode; opt-inlive_endpoint_smoke_opt_inexecution is operator-gated, never logs credential values, and is publicly exercised with a local SQLite endpointthe data connector UI preview report validates
tools/data_connector_ui_preview_report.py --compactinstatic_ui_preview_onlymode; it renders connector state and connector-derived provenance as static JSON+HTML cards, page bindings, legacy fallbacks, and health opt-in boundary evidencethe data connector live UI report validates
tools/data_connector_live_ui_report.py --compactinstreamlit_render_contract_onlymode; it wires connector state and connector-derived provenance into the Release Decision page while keeping connector network probes at zerothe connector-aware view surface report validates
tools/data_connector_view_surface_report.py --compactinconnector_view_surface_contract_onlymode againstagilab.data_connector_view_surface.v1; it verifies the Release Decision connector state/provenance panel, health/status boundary, import/export provenance panel, and external artifact traceability panel without network probesthe data connector app catalogs report validates
tools/data_connector_app_catalogs_report.py --compactinapp_catalog_validation_onlymode; it proves app-local connector catalogs for every non-template built-in app without network probesoptional
pipeline_view.dot/pipeline_view.jsonfiles give prototypes a conceptual architecture view alongside generated execution snippetsthe Analysis page can generate minimal page bundles so a prototype can gain a shareable dashboard without becoming a full product
the landing page first-proof wizard now routes newcomers through one validated
flight_projectsource-checkout proof, readsrun_manifest.json, and shows a manifest-driven remediation checklist with exact evidence commands when the proof is missing, invalid, incomplete, or failingtools/newcomer_first_proof.py --jsonwrites~/log/execute/flight/run_manifest.jsonso the first proof has one stable command/environment/timing/artifact/validation record that the release decision view can consume as promotion evidencethe revision traceability report validates
tools/revision_traceability_report.py --compactinrevision_traceability_staticmode againstagilab.revision_traceability.v1; it fingerprints the repository HEAD, bundled AGI core package versions, and built-in app manifests without invoking git commands or querying networksthe public certification profile report validates
tools/public_certification_profile_report.py --compactinpublic_certification_staticmode againstagilab.public_certification_profile.v1; it turns the compatibility matrix into abounded_public_evidenceprofile while explicitly avoiding production or third-party certification claimsthe supply-chain attestation report validates
tools/supply_chain_attestation_report.py --compactinsupply_chain_static_attestationmode againstagilab.supply_chain_attestation.v1; it fingerprints package metadata, lockfile, license, bundled AGI core versions, exact internal dependency pins, built-in app versions, built-in app internal dependency lower bounds, and built-in app manifests plus package payload inventory and package payload budgets without formal supply-chain attestation claimsthe security hygiene report validates
tools/security_hygiene_report.py --compactinagilab.security_hygiene.v1mode; it checks the public security policy, lockfile presence, optional AI dependency boundary, static supply-chain proof tools, documentedpip-auditplus CycloneDX SBOM command contracts, and operator-provided scan artifacts; CI runs it with--require-scan-artifactsso missing, invalid, or vulnerable audit payloads fail the guardrailthe public proof scenario report validates
tools/public_proof_scenarios.py --compactinagilab.public_proof_scenarios.v1mode; it records the three bounded public proof routes:flight_projectlocal first proof,meteo_forecast_projecthosted forecast proof, and the MLflow tracking contract, and can attach runtime JSON from--first-proof-jsonand--hf-smoke-jsonartifacts when CI or a release run provides themthe first-launch robot validates
tools/first_launch_robot.py --jsoninagilab.first_launch_robot.v1mode; it uses StreamlitAppTestto prove the first page renders without exceptions, initializesAgiEnv, exposes the first-proof action, shows the project-to-results workflow, and keeps a visible documentation actionthe repository knowledge index report validates
tools/repository_knowledge_report.py --compactinrepository_knowledge_static_indexmode againstagilab.repository_knowledge_index.v1; it indexes code, tools, official docs, root runbooks, and package manifests while excluding generated artifacts and keeping the generated wiki as an exploration aid rather than the source of truththe run-diff evidence report validates
tools/run_diff_evidence_report.py --compactinrun_diff_evidence_onlymode; it compares baseline/candidate KPI checks, run-manifest deltas, and artifact rows, then emits counterfactual prompts for material changes without executing commands or network probesthe CI artifact harvest report validates
tools/ci_artifact_harvest_report.py --compactinci_artifact_contract_onlymode; it maps external-machinerun_manifest.json, KPI bundle, compatibility report, and promotion decision attachments to a release status with SHA-256 and provenance checks without querying live CI providersthe GitHub Actions artifact-index adapter converts downloaded workflow artifact ZIPs with
tools/github_actions_artifact_index.py --archiveinto the same harvest input, while opt-in--live-githubmode can query and download a workflow run when operator credentials are availablethe generic CI provider artifact-index adapter converts downloaded GitLab CI or generic provider ZIPs with
tools/ci_provider_artifact_index.py --provider gitlab_ci --archiveinto the same harvest input without querying live provider APIs; opt-in--live-gitlabcan query and download a GitLab CI pipeline when operator credentials are available
The DAG evidence below has two synchronized projections: a reviewer-facing conceptual graph and a runner-facing execution state graph. Both stay anchored to the same contract, artifact names, stable node IDs, and provenance.
One DAG contract drives both the readable workflow review view and the executable runner-state view without duplicating the graph.
the multi-app DAG contract now validates app-to-app dependencies and artifact handoffs with
tools/multi_app_dag_report.py --compactagainstdocs/source/data/multi_app_dag_sample.json; the first sample linksuav_queue_projecttouav_relay_queue_projectthrough an explicitqueue_metricshandoff, and the supplementaldocs/source/data/multi_app_dag_portfolio_sample.jsonbroadens contract coverage acrossflight_project,meteo_forecast_project,execution_pandas_project, andexecution_polars_projectthe global pipeline DAG report now assembles that cross-app contract with the app-local
pipeline_view.dotfiles usingtools/global_pipeline_dag_report.py --compact; it emits a read-only graph with app nodes, app-local pipeline stages, and thequeue_metricsedge without claiming runner execution or operator UI statethe global DAG execution plan report converts that graph into ordered runnable units with
tools/global_pipeline_execution_plan_report.py --compact; the first plan keepsqueue_baselineandrelay_followupinpending/not_executedstate, records thequeue_metricsdependency, and preserves DAG pluspipeline_view.dotprovenance without dispatching any appthe global DAG runner state report projects that plan into
runnable/blockeddispatch readiness withtools/global_pipeline_runner_state_report.py --compact; it records retry and partial-rerun metadata plus operator-facing readiness messages without claiming live app executionthe WORKFLOW page exposes the same runner-state contract in an expanded
Workflow graphsurface; operators can choose project workflow or multi-app DAG scope, edit steps, created outputs, and used outputs through selector-driven workspace drafts and read-only summaries, validate the plan without hand-editing docs files, reset the persisted preview state, inspect readiness KPIs, optional graph and output details, preview exact distributed stage requests before submission, and preview the next ready step without claiming that the downstream app has executedthe distributed DAG stage smoke validator writes dry-run or live execution evidence with
tools/dag_distributed_stage_smoke.py --compact; it checks explicitnodes[].executionrequest fields, the ORCHESTRATE-derived scheduler/workers/Workers Data Path contract, and the two-node distributed request preview before a live--executerun is attemptedthe global DAG dispatch state report writes and reads back a persisted run-state JSON proof with
tools/global_pipeline_dispatch_state_report.py --compact; it recordsqueue_baseline completed, publishesqueue_metrics, marksrelay_followup runnable, and preserves timestamps, retry counters, partial-rerun flags, operator messages, and provenance without claiming real app executionthe global DAG app dispatch smoke report performs real queue_baseline and relay_followup execution with
tools/global_pipeline_app_dispatch_smoke_report.py --compact; it runs the checked-inuav_queue_projectanduav_relay_queue_projectmanager/worker entries, persistsqueue_metrics,relay_metrics, and reducer artifacts into dispatch-state JSON, and recordsreal queue_baseline and relay_followup executionwithout claiming live operator UIthe global DAG operator state report reads that persisted full-DAG dispatch state with
tools/global_pipeline_operator_state_report.py --compact; it projectsoperator-visible statefor the completed units, the queue-to-relay artifact handoff, available artifacts, andretry/partial-rerun actionswithout claiming a live UIthe global DAG dependency view report reads the operator-state proof with
tools/global_pipeline_dependency_view_report.py --compact; it providesupstream/downstream dependency visualizationforqueue_baseline -> relay_followup, including thequeue_metricsedge, producer/consumer apps, adjacency lists, artifact flow, and linkage back to persisted operator state without claiming a live UI componentthe global DAG live state updates report reads that dependency view with
tools/global_pipeline_live_state_updates_report.py --compact; it emits adeterministic update streamforlive orchestration-state updatesacross graph-ready, unit-state, artifact-state, dependency-state, and operator-action refresh payloads without claiming a streaming service or UIthe global DAG operator actions report reads those update payloads with
tools/global_pipeline_operator_actions_report.py --compact; it performsretry and partial-rerun action executionforqueue_baseline:retryandrelay_followup:partial_rerunthroughreal app-entry action replayand persists action outcomes plus output artifacts without claiming a UI control surfacethe global DAG operator UI report reads action outcomes with
tools/global_pipeline_operator_ui_report.py --compact; it buildsoperator UI componentsfor status, unit cards, dependency graph, update timeline, action controls, and artifacts that render persisted state and support operator actions through a static HTML proof
That supports an Engineering prototyping score of 4.0 / 5. It is not
scored higher yet because additional external replication and future
app/template reducer adoption remain maintenance discipline when new concrete
merge outputs appear.
Production-readiness controls
AGILab ships a bounded set of controls for controlled pilots and handoff to a production platform:
tools/pypi_publish.pyenforces release preflight checks before real PyPI publicationworkflow-parity profiles mirror selected GitHub Actions locally before a maintainer relies on CI
the compatibility matrix separates validated public paths from documented routes that still need broader certification
tools/service_health_check.pyevaluates service status against SLA thresholds and can emit JSON or Prometheus-compatible outputthe release-decision analysis page compares baseline and candidate bundles, resolves artifact/log/export roots through the shared connector path registry, gates on the first-proof
run_manifest.json, imports external manifest evidence with--manifest/--manifest-dirstyle inputs, evaluates artifact and KPI gates, and exportspromotion_decision.jsonwith connector registry paths, manifest summary, import summary, provenance-tagged attachment metadata, per-releasemanifest_index.jsonevidence history, cross-release manifest comparison, cross-run evidence bundle comparison, and gate details; it also importsci_artifact_harvest.jsonevidence, displays artifact kind/status/checksum/provenance rows, blocks invalid harvests, and exportsci_artifact_harvest_summaryplusci_artifact_harvest_evidencetools/run_diff_evidence_report.py --compactgives that comparison work a machine-checkable, no-execution run-diff/counterfactual evidence contracttools/ci_artifact_harvest_report.py --compactadds the matching external-machine attachment contract for CI-produced evidence bundles, and the Release Decision page can now consume that JSON without live CI or network accesstools/github_actions_artifact_index.py --archivebridges provider artifacts into that contract by expanding GitHub Actions ZIP archives into a harvest-compatibleartifact_index.json;--live-githubis opt-in for credentialed provider queries and downloadstools/ci_provider_artifact_index.py --provider gitlab_ci --archivecovers downloaded GitLab CI and generic provider ZIP archives without live provider API accessthe same evidence view surfaces reducer artifacts from benchmark distributed runs, meteo forecast results, and UAV queue-family results, including invalid-artifact diagnostics when JSON cannot be parsed
SECURITY.mdprovides the public vulnerability-reporting and deployment hardening baseline
That supports a Production readiness score of 3.0 / 5. It is not scored
higher because AGILab remains a research and engineering workbench rather than
a production serving, monitoring, governance, or certification platform.