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.