Skip to content

Installation Guide

To install and use AutoRA you need:

  • Python (version ">=3.8,<4") and
  • the autora package, including required dependencies specified in the pyproject.toml file.

Step 1: Install python

You can install python:

If successful, you should be able to run python in your terminal emulator like this:

python

...and see some output like this:

Python 3.11.3 (main, Apr  7 2023, 20:13:31) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Step 2: Install autora

We recommended using a Python environment manager like virtualenv. You may refer to the Development Guide on how to set up a virtual environment.

Before installing the PyPI autora package, you may activate your environment. To install the PyPI autora package, run the following command:

pip install "autora"

Check your installation by running:

python -c "from autora.variable import VariableCollection"

In using AutoRA, it is helpful to be aware of its structure, which is described next.

Step 3: Install Optional Dependencies

autora is organized into one "parent" and many "child" packages.

image

The autora "parent" package depends on core packages, such as autora-core, autora-workflow, and autora-synthetic, which are automatically installed with autora.

However, the autora ecosystem also includes vetted modules (child packages) as optional dependencies which users can choose to install. Below, we provide a list of all optional dependencies that are currently vetted by the autora core team.

To install any (combination) of optional dependencies, users should run the relevant analogue of the following command, with the name in brackets matching the name as specified in the parent pyproject.toml file:

pip install -U "autora[desired-dependency]"

For example, to install one of the Theorists, such as the Bayesian Machine Scientist (BMS), a user should run:

pip install -U "autora[theorist-bms]"

To check that installation was successful, a user can try importing one of the main classes of the corresponding child package. For BMS, such a check would be:

python -c "from autora.theorist.bms import BMSRegressor; BMSRegressor()"

List of Vetted Dependencies

For a complete list of dependencies that have been vetted by the core autora team, see the [project.optional-dependencies] section of the pyproject.toml file in the parent autora package. For your convenience, we provide a list of vetted packages along with their description below.

Required dependencies are included in the installation of the autora package. Optional dependencies must be separately installed as outlined above.

Dependency Name Dependency Type Feature Type Brief Description Documentation
theorist-bms Optional Theorist Equation Discovery Method Using the Bayesian Machine Scientist (GuimerΓ  et al. 2020) πŸ”—
theorist-bsr Optional Theorist Equation Discovery Method Using the Bayesian Symbolic Regression (Jin et al. 2020) πŸ”—
theorist-darts Optional Theorist Equation Disovery Method using Differentiable Architecture Search (Liu et al., 2018; Musslick et al., 2020 ) πŸ”—
experimentalist-falsification Optional Experimentalist Identifies experimental conditions method that maximize predicted model loss (Musslick et al., 2023) πŸ”—
experimentalist-inequality Required Experimentalist Identifies experimental conditions from a candidate pool based on their inequality to a reference pool πŸ”—
experimentalist-mixture Required Experimentalist Identifies experimental conditions based on a weighted score of multiple experimentalists. πŸ”—
experimentalist-model-disagreement Required Experimentalist Identifies experimental conditions for which a list of models make different predictions πŸ”—
experimentalist-nearest-value Required Experimentalist Identifies experimental conditions from a candidate pool that are nearest to experimental conditions in a reference pool. πŸ”—
experimentalist-novelty Required Experimentalist Identifies experimental conditions from a candidate pool that are most novel with respect to a reference pool. πŸ”—
experimentalist-uncertainty Optional Experimentalist Identifies experimental conditions based on uncertainty sampling. πŸ”—
autora-experiment-runner-firebase-prolific Optional Experiment Runner This experiment runner provides functionality for running behavioral experiments hosted on Firebase using human participants from Prolific. πŸ”—
experiment-runner-experimentation-manager-firebase Optional Experiment Runner (Experimentation Manager) This manager provides functionality to manage communication of conditions and observation between AutoRA and a behavioral experiment hosted on Firebase. πŸ”—
autora-experiment-runner-recruitment-manager-prolific Optional Experiment Runner (Recruitment Manager) This manager provides functionality for recruiting human participants from Prolific. πŸ”—

List of Bundled Dependencies

autora also provides the ability to install some of these optional dependencies in a bundle. These bundles can also be found in the [project.optional-dependencies] section of the pyproject.toml file in the parent autora package.

You can install these bundles just like any other package. For example, to install the all-theorists bundle:

pip install -U "autora[all-theorists]"

For your convenience, we provide a list of vetted bundled packages and what components they include below.

Bundle Name Components Included
all The theorist, experimentalist, and experiment runner bundles
all-theorists theorist-bms, theorist-bsr, theorist-darts
all-experimentalists experimentalist-falsification, experimentalist-inequality, experimentalist-mixture, experimentalist-model-disagreement, experimentalist-nearest-value, experimentalist-novelty, experimentalist-uncertainty
all-experiment_runners autora-experiment-runner-firebase-prolific
all-experiment-runner-experimentation-managers experiment-runner-experimentation-manager-firebase
all-experiment-runner-recruitment-managers autora-experiment-runner-recruitment-manager-prolific