Skip to content

Contributions To Core Packages

Core contributions are changes to AutoRA which aren't experimentalists, (synthetic) experiment runners, or theorists. The primary purpose of the core is to provide utilities for:

How to Contribute

In order to make a contribution to autora core, you may start by cloning the repository:

git clone

You should then follow the Development Setup Guide, to set up your environment.

Suggested changes to the core should be submitted as follows, depending on their content:

  • For fixes or new features closely associated with existing core functionality: pull request to the existing core package
  • For new features which don't fit into the current module structure, or which are experimental and could lead to instability for users: as new namespace packages.


Reach out to the core team about new core contributions to discuss how best to incorporate them by posting your idea on the discussions page.

Development Requirements

Core packages should as a minimum:

  • Follow standard python coding guidelines including PEP8
  • Run under all minor versions of python (e.g. 3.8, 3.9) allowed in autora-core
  • Be compatible with all current AutoRA packages
  • Have comprehensive test suites
  • Use the linters and checkers defined in the autora-core .pre-commit-config.yaml (see pre-commit hooks)