Developer Installation#

Building the aeon package from source is a requirement for users who wish to contribute to the aeon codebase and documentation. The following guide will walk through downloading the latest development source code from GitHub and installing the package.

Prior to these steps, we highly recommend creating a virtual environment for the installation.

Step 1 - Clone the repository#

The aeon repository should be cloned to a local directory using Git.

Using the git command line, the following commands will clone the main branch of the repository to a local directory:

git clone https://github.com/aeon-toolkit/aeon.git
cd aeon

If you plan to make a pull request on the GitHub repository, you should first fork the repository and clone your fork instead of the main repository.

Step 2 - Building aeon from source#

To build and install aeon from source, navigate to the local clone’s root directory and type:

pip install --editable .[dev]

Alternatively, the . may be replaced with a full or relative path to the root directory.

This will install the aeon package in editable mode with dependencies required for development. The --editable flag allows you to edit the code in-place and have the changes reflected in the installed package without having to re-install the package.

If you need to work with optional dependencies, it you can also install the all_extras extras:

pip install --editable .[dev,all_extras]

If this results in a “no matches found” error, it may be due to how your shell handles special characters. Try surrounding the dependency portion with quotes:

pip install --editable ."[dev]"

Step 3 - Install pre-commit#

The aeon repository uses pre-commit to run a series of checks on the codebase before committing changes. To install pre-commit, run:

pre-commit install

This will run various code-quality hooks on the codebase before committing changes, potentially changing the formatting of your code.

This is a requirement to make a pull request, and only in exceptional circumstances will a pull request be accepted without passing pre-commit checks.