Skip to content

Contribute An Experiment Runner

AutoRA experiment runners are designed to generate observations. They encompass a range of tools for conducting both synthetic and real experiments. By combining observations with corresponding experimental conditions, they provide inputs necessary for an AutoRA theorist to perform model discovery. Experimentalist Runner Module

Experiment runners can be implemented as synthetic runners: To contribute a synthetic experiment runner follow the core contribution guide.

Contributions may be complete experiment runners, which are functions that return observations, or tools that help automate experiments. Examples of such tools that are already implemented include a recruitment manager for recruiting participants on Prolific and an experimentation manager for executing online experiments with Firebase.

Repository Setup

For non-synthetic experiment runners, we recommend using the cookiecutter template to set up a repository for your experiment runner. Alternatively, you can use the unguided template. If you choose the cookiecutter template, you can set up your repository using


Make sure to select the experiment runner option when prompted. If you want to design a tool to recruit participants, choose the recruitment manager option. If you want to design a tool to conduct experiments, choose the experimentation manager option. You can also design a custom tool and name it yourself. You can skip all prompts pertaining to other modules (e.g., experimentalists) by pressing enter.


To implement a complete experiment runner, be sure to define a function that returns observations. To get an idea for tools that help automate experiments, see the list of tools that are already implemented.

Next Steps: Testing, Documentation, Publishing

For more information on how to test, document, and publish your experiment runner, please refer to the general guideline for module contributions .