Skip to content

Introduction

PyPI Version PyPI Python Version GitHub License DOI

ado is a Python platform for designing computational experiment campaigns and executing them at scale. It enables distributed teams of researchers and engineers to collaborate, execute experiments, and share data.

You can extend ado across different domains through its plugin model — often as simple as decorating a Python function. By integrating your methodology, you gain cross-cutting capabilities — such as parallel execution, data provenance, and a unified CLI — alongside a structured foundation that allows AI coding agents to autonomously formulate and run your experiments.

At its core

ado is built around three key concepts that power these features (explore them all in the concepts section):

Concept Role
Discovery Space Defines what to measure, how to measure it (via Experiments, which are pluggable python functions), and where to store results.
Operation You explore or analyse a Discovery Space using operations. You can select from different operators to perform different types of operations. Operators are also pluggable python functions.
Sample Store Stores the results of measurements, and enables operations to transparently reuse existing results (memoization).

ado ❤️ agents

ado's typed resources, expressive CLI, and bundled agent skills make it a natural fit for agentic research workflows. Once prompted with a research problem, an agent can design the Discovery Space, write new experiments or reuse existing ones, and run the full exploration loop. See Getting Started with an agent.

Try It Out

The following example runs a small experiment campaign that samples combinations of mass and volume, computes density at each point, and stores the results.

Install ado-core (a virtual environment is recommended). For complete instructions see Getting Started:

pip install ado-core

Clone the repository and install the density example package:

git clone https://github.com/IBM/ado.git
cd ado
pip install -e examples/density_example/

Run the experiment campaign:

ado create operation -f examples/density_example/operation.yaml --with space=examples/density_example/space.yaml

Once the operation finishes, inspect the collected measurements:

ado show measurements operation --use-latest

For a deeper walkthrough, see the density example tutorial.

Use Cases

Here are some examples of what the team has built with ado:

Acknowledgement

This project is partially funded by the European Union through the Smart Networks and Services Joint Undertaking (SNS JU) under grant agreement No. 101192750 (Project 6G-DALI).

What's next