Setup and Installation

Installation

model-harmonics is available for download from the GitHub repository, the Python Package Index (pypi), and from conda-forge.

The simplest installation for most users will likely be using conda or mamba:

conda install -c conda-forge model-harmonics

conda installed versions of model-harmonics can be upgraded to the latest stable release:

conda update model-harmonics

Development Install

To use the development repository, please fork model-harmonics into your own account and then clone onto your system:

git clone https://github.com/tsutterley/model-harmonics.git

model-harmonics can then be installed within the package directory using pip:

python3 -m pip install --user .

To include all optional dependencies:

python3 -m pip install --user .[all]

The development version of model-harmonics can also be installed directly from GitHub using pip:

python3 -m pip install --user git+https://github.com/tsutterley/model-harmonics.git

Package Management with pixi

Alternatively pixi can be used to create a streamlined environment after cloning the repository:

pixi install

pixi maintains isolated environments for each project, allowing for different versions of model-harmonics and its dependencies to be used without conflict. The pixi.lock file within the repository defines the required packages and versions for the environment.

pixi can also create shells for running programs within the environment:

pixi shell

To see the available tasks within the model-harmonics workspace:

pixi task list
Tasks that can run on this machine:
-----------------------------------
clean-docs (by design), docs (by design), export-env (by design), lint (by design), test (by design)
Task        Description
clean-docs  Remove build artifacts and rebuild the documentation with sphinx
docs        Create documentation with sphinx
export-env  Export workspace to a conda environment file
lint        Run flake8 to check for compilation errors
test        Run the pytest suite

Note

pixi is under active development and may change in future releases

Verifying Installation

import model_harmonics as mdlhmc

print(f'model-harmonics version: {mdlhmc.__version__}')
model-harmonics version: 1.1.3