Installation#

imdtrack is published on both PyPI (for pip / uv) and conda-forge (for the whole conda family). Pick whichever matches your stack — the core package is identical either way.

pip#

pip install imdtrack            # core: pandas + pyarrow (reads the published parquet)
pip install imdtrack[xarray]    # + xarray/numpy for .to_xarray()
pip install imdtrack[plot]      # + cartopy/matplotlib for map plotting
pip install imdtrack[all]       # xarray + numpy + openpyxl

It’s good practice to install into a virtual environment rather than the system Python:

python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install imdtrack

conda / mamba / micromamba#

imdtrack is on conda-forge, so it installs with any tool in the conda family. conda ships with Anaconda or the smaller Miniconda; mamba and micromamba are faster, drop-in replacements that take the same commands and flags — just swap the executable name.

The recommended pattern is a dedicated environment. Create one with imdtrack already in it, then activate it:

# conda (Anaconda / Miniconda)
conda create -n imd -c conda-forge imdtrack
conda activate imd

# mamba
mamba create -n imd -c conda-forge imdtrack
mamba activate imd

# micromamba (no base conda install required)
micromamba create -n imd -c conda-forge imdtrack
micromamba activate imd

Pin a Python version at creation time if you need one, and add any extras’ deps as ordinary conda packages (they live on conda-forge too):

conda create -n imd -c conda-forge python=3.12 imdtrack xarray cartopy matplotlib

To add imdtrack to an environment you already have active, use install instead of create (again, conda / mamba / micromamba are interchangeable):

conda install -c conda-forge imdtrack

Tip

The conda-forge build bundles a prebuilt cartopy, so map plotting works with no compiler and no system GEOS/PROJ — the easiest route if you want the plotting features.

uv#

uv installs the same PyPI package, very fast:

uv add imdtrack                 # add to a uv-managed project's dependencies
uv add "imdtrack[plot]"         # …with an extra
uv pip install imdtrack         # into the active/target environment (pip-compatible)

You can also run a throwaway session with imdtrack available, without installing it into a project:

uv run --with imdtrack python -c "import imdtrack as imd; print(imd.load())"

Optional extras#

Extra

Adds

For

(none)

pandas, pyarrow

loading the data as DataFrames

xarray

xarray, numpy

to_xarray()

plot

cartopy, matplotlib

plot_track() / plot_tracks() maps

pipeline

openpyxl

parsing the IMD workbook yourself (source="imd")

Note

Extras apply to the pip / uv install. With those, cartopy has no Python 3.14 wheel yet, so [plot] needs Python ≤ 3.13 (or a system GEOS + PROJ to build it). The conda-forge package sidesteps this — see the tip above.

Requirements#

Python 3.9+. The core install is pure-Python and depends only on pandas and pyarrow, so imd.load() works everywhere; the heavier extras are opt-in.