Skip to content

Installation#

There are a few different ways to install Input4MIPs validation. We provide these by use case below. As a short summary, if you:

By use case#

As an application#

If you want to use input4MIPs-validation as an application, for example you just want to use its command-line interface, then we recommend using the 'locked' version of the package. This version pins the version of all dependencies too, which reduces the chance of installation issues because of breaking updates to dependencies.

The locked version of input4mips-validation can be installed with

mamba install -c conda-forge input4mips-validation-locked

mamba is our recommend way to install the package because it has better handling of the compiled dependencies (like cfunits).

conda install -c conda-forge input4mips-validation-locked

conda is a good way to install the package because it has better handling of the compiled dependencies (like cfunits).

pip install input4mips-validation[locked]

pip is a standard way to install Python packages. We make no guarantees that this will actually work because pip's handling of the compiled dependencies is not guaranteed.

As a library#

If you want to use input4MIPs-validation as a library, for example you want to use it as a dependency in another package/application that you're building, then we recommend installing the package with the commands below. This method provides the loosest pins possible of all dependencies. This gives you, the package/application developer, as much freedom as possible to set the versions of different packages. However, the tradeoff with this freedom is that you may install incompatible versions of input4mips-validation's dependencies (we cannot test all combinations of dependencies, particularly ones which haven't been released yet!). Hence, you may run into installation issues. If you believe these are because of a problem in input4mips-validation, please raise an issue.

The (non-locked) version of input4mips-validation can be installed with

mamba install -c conda-forge input4mips-validation

mamba is our recommend way to install the package because it has better handling of the compiled dependencies (like cfunits).

conda install -c conda-forge input4mips-validation

conda is a good way to install the package because it has better handling of the compiled dependencies (like cfunits).

pip install input4mips-validation

pip is a standard way to install Python packages. We make no guarantees that this will actually work because pip's handling of the compiled dependencies is not guaranteed.

Additional dependencies can be installed using

If you are installing with mamba, we recommend installing the extras by hand because there is no stable solution yet (see conda issue #7502)

If you are installing with conda, we recommend installing the extras by hand because there is no stable solution yet (see conda issue #7502)

# To add plotting dependencies
pip install input4mips-validation[plots]
# To add notebook dependencies
pip install input4mips-validation[notebooks]

For developers#

For development, we rely on pixi for all our dependency management. To get started, you will need to make sure that pixi is installed (instructions here).

We rely on pdm for managing our PyPI builds. Hence, you will also need to make sure that pdm is installed on your system (instructions here, although we found that installing with pipx worked perfectly for us).

For all of our work, we use our Makefile. You can read the instructions out and run the commands by hand if you wish, but we generally discourage this because it can be error prone. In order to create your environment, run make virtual-environment.

If there are any issues, the messages from the Makefile should guide you through. If not, please raise an issue in the issue tracker.

For the rest of our developer docs, please see development.