Skip to main content

ado is a unified platform for executing computational experiments at scale and analysing their results. It can be easily extended with new experiments or new analysis tools. It allows distributed teams of researchers and engineers to collaborate on projects, execute experiments, and share data.

Project description

ado — accelerated discovery orchestrator

PyPI Version PyPI Python Version GitHub License DOI

ado is a Python platform for designing 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.

  • 🧑‍💻 Using ado assumes familiarity with command line tools.
  • 🛠️ Developing ado requires knowledge of Python.

Key Features

  • 💻 CLI: Our human-centric CLI follows best practices
  • 🤝 Projects: Allow distributed groups of users to collaborate and share data
  • 🔌 Extendable: Easily add new experiments or optimizers and other tools
  • ⚙️ Scalable: We use Ray as our execution engine, allowing experiments and tools to scale easily
  • ♻️ Automatic data-reuse: Avoid repeating work with transparent reuse of experiment results; ado's internal protocols ensure this happens only when it makes sense
  • 🔗 Provenance: Relationships between data and operations are automatically tracked. The versions of ado-core and every plugin used to create a resource are also recorded, keeping results reproducible and debuggable
  • 🔎 Optimization and sampling: Out-of-the-box, leverage powerful optimization methods via Ray Tune or use our flexible built-in sampler
  • 🤖 Coding agents: Supercharge your workflow. ado's typed resources and bundled skills enable AI assistants to autonomously formulate, validate, and run experiments. Learn more

Foundation Model Experimentation

We have developed ado plugins providing advanced capabilities for performance testing of foundation models:

Quick Start

Install ado from PyPI (a virtual environment is recommended). For complete instructions see the install guide:

pip install ado-core

Then try:

ado get contexts

You will see a context named local — a local sandbox you can use straight away. To see the built-in operators:

ado get operators

Next, follow the short random-walk tutorial for a hands-on introduction to how ado works.

Requirements

A basic installation of ado only requires a recent Python version (3.10 to 3.14). This will allow you to run many of our examples and explore ado features.

Additional Requirements

Some advanced features have additional requirements:

  • Distributed Projects (Optional): To support projects with multiple users you will need a remote, accessible MySQL database. See here for more details
  • Multi-Node Execution (Optional): To support multi-node or scaled execution you may need a multi-node RayCluster. See here for more details

In addition, ado plugins may have additional requirements for executing realistic experiments. For example:

  • Fine-Tuning Benchmarking: Requires a RayCluster with GPUs
  • vLLM Performance Benchmarking: Requires an OpenShift cluster with GPUs

Install from Source

To install ado from source (for development or to track the latest changes):

git clone https://github.com/IBM/ado.git
cd ado
pip install .

Detailed installation instructions are available at https://ibm.github.io/ado/getting-started/install/.

Contributing

To set up a development environment, run the test suite, or understand code style and commit conventions, see DEVELOPING.md and tests/README.md.

Example

This video shows listing actuators and getting the details of an experiment.

Check the demo page for more videos.

Watch the video

Citation

For an overview of the design and architecture of ado, see our Journal of Open Source Software paper.

If ado has been useful in your research, please cite us using:

@article{Johnston_ado_a_Python_2026,
author = {Johnston, Michael A. and Pomponio, Alessandro},
doi = {10.21105/joss.10304},
journal = {Journal of Open Source Software},
month = may,
number = {121},
pages = {10304},
title = {{ado: a Python framework for computational experimentation and benchmarking}},
url = {https://joss.theoj.org/papers/10.21105/joss.10304},
volume = {11},
year = {2026}
}

You can also click "Cite this repository" in the GitHub sidebar for alternative formats such as APA.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ado_core-2.0.0.tar.gz (19.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ado_core-2.0.0-py3-none-any.whl (446.1 kB view details)

Uploaded Python 3

File details

Details for the file ado_core-2.0.0.tar.gz.

File metadata

  • Download URL: ado_core-2.0.0.tar.gz
  • Upload date:
  • Size: 19.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Red Hat Enterprise Linux","version":"9.7","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ado_core-2.0.0.tar.gz
Algorithm Hash digest
SHA256 4320509c8f9876d60636e9e721629a86d9369614c518c37e012f621ef60c7f95
MD5 e9090b74b711ea40e620ab40602b2e64
BLAKE2b-256 6fdf4615a5862a98bcfa588adc0df1808f92c3c4a4187f35318ad68eea1c224a

See more details on using hashes here.

File details

Details for the file ado_core-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: ado_core-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 446.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Red Hat Enterprise Linux","version":"9.7","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ado_core-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e58525b728586be8c0023847f54878cfd72dfb42b647f21fb66facd72be80ae
MD5 860c99c0930f333c7feac0c72c2a4de6
BLAKE2b-256 aab98a41e7a2ec075d07620d1debee907854ebc59cf5d2902b4864448b2a7ae0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page