MAS Lab packages¶
MAS Lab ships as a small set of installable Python packages. Most users interact with the CLIs; extension authors add plugins, pipeline steps, or libraries on top of the same contracts.
Install everything from a repository checkout with:
uv sync --all-packages
Requires Python 3.11+.
How the pieces fit together¶
| Layer | Package | What it does |
|---|---|---|
| Runtime | mas-runtime |
Executes agents and teams from YAML manifests — contracts, plugins, traces |
| Control plane | mas-ctl |
Chat, validate, compose, and run multi-agent workflows (run-mas) |
| Lab | mas-lab |
Benchmark experiments, pipelines, reports, and the web UI controller |
| Standard library | mas-library-standard |
Flavours, overlays, infra bundles, and built-in runtime plugins |
| Samples | mas-library-samples |
Reference apps (e.g. trip planner), datasets, and tutorial fixtures |
Typical path: Tutorial 0 →
mas-ctl for agents and teams → mas-lab benchmark run for experiments.
Supporting packages (mas-library-lab, mas-library-eval, and the mas-lab
component libraries) provide shared types, evaluation metrics, and UI/backend
code. They are installed automatically when you depend on mas-lab; you rarely
import them directly unless you are extending the toolkit.
Package reference¶
| Package | Directory | CLI | Role |
|---|---|---|---|
mas-runtime |
runtime/ |
mas-runtime |
Headless agent execution (CI, containers) |
mas-ctl |
ctl/ |
mas-ctl |
Interactive and scripted orchestration |
mas-lab |
lab/ |
mas-lab |
Benchmarks, pipelines, controller API |
mas-library-standard |
library-standard/ |
— | Standard plugins, flavours, observability sinks |
mas-library-samples |
library-samples/ |
— | Sample MAS apps and benchmark datasets |
mas-library-lab |
library-lab/ |
— | Lab extension plugins (eval providers, helpers) |
mas-library-eval |
library-eval/ |
— | Session-level evaluation metrics for benchmarks |
Published from PyPI (when available): uv pip install mas-lab pulls the runtime,
control plane, and lab stack transitively.
Where to read more¶
| Goal | Start here |
|---|---|
| First install | Tutorial 0 |
| Day-to-day use | User guide |
| YAML manifests | References |
| Paper reproduction | Paper labs |
| Runtime development | runtime/docs/ in the repository |
| Control plane | ctl/docs/ in the repository |
Site: outshift-open.github.io/mas-lab
Schemas¶
Workspace configuration: config.schema.yaml.
Experiment and benchmark manifests are validated by mas-lab validate against
schemas under lab/components/bench/src/mas/lab/manifests/schema/. Manifest
field reference: References.
Extending MAS Lab¶
| Area | Extend | Entry points |
|---|---|---|
| Agent runtime | Design patterns, tools, overlays, observability | Runtime plugin registry — see runtime/docs/ |
| Benchmark pipelines | Custom step types (metrics, plots, reports) | Pipeline type: in experiment.yaml — see lab manifests |
| Evaluation | Session-level judges and metrics | mas-library-eval / MCE integration — see Tutorial 3 |
| Deployment | Controller backends for the lab UI | mas.lab.controller.plugins entry-point group |
For local development, use editable installs only when you are patching packages in this repository:
uv pip install -e runtime -e ctl -e lab -e library-standard -e library-lab -e library-eval