Testing Changes to mpas_tools
Here, we describe the workflow for creating a development conda environment
that points to mpas_tools
in a branch from a local clone of the repo.
This approach works both for calling functions from the package within a python
script or another python package and for calling the “entry points”
(command-line tools; see Making Changes to mpas_tools).
Basic instructions on how to install Miniconda are beyond the scope of this documentation. Make sure the conda-forge channel is added and that channel priority is “strict”, meaning packages will definitely come from conda-forge if they are available there.
conda config --add channels conda-forge
conda config --set channel_priority strict
To make a conda environment and install the current mpas_tools in a way that it will be used out of the repo directly (i.e. it will notice changes as you make them in your branch), run:
cd conda_package
conda env create -y -n mpas_tools_dev --file dev-spec.txt
conda activate mpas_tools_dev
python -m pip install --no-deps --no-build-isolation -e .
You should now find that mpas_tools
can be imported in python codes and the
various scripts and entry points are available in the path.
If you have already created the mpas_tools_dev
environment, it may be best
to remove it (see below) and create it again. If you are in a rush, you can
use:
conda env update -f ./dev_environment
conda activate mpas_tools_dev
python -m pip install --no-deps --no-build-isolation -e .
to update the existing environment and make sure mpas_tools
in the
environment points to your current branch.
There is no need to build a conda package, as previous instructions had suggested.
Removing the test environment
If you’re done with testing, you can remove the test environment
conda deactivate
conda remove --all -n mpas_tools_dev