mapflow creates geographic plots and video animations directly from
xarray.DataArray objects. It detects common
coordinate names, understands CRS metadata, includes world borders, and streams lazily backed animation frames to
keep memory use bounded.
Installation
Install the Python package from PyPI:
python -m pip install mapflow
Or from conda-forge, which also installs FFmpeg:
conda install -c conda-forge mapflow
Creating animations requires the ffmpeg executable on PATH. Static plots do not require FFmpeg.
Quick start
import xarray as xr
from mapflow import animate, plot_da
ds = xr.tutorial.open_dataset("era5-2mt-2019-03-uk.grib")
temperature = ds["t2m"]
plot_da(temperature.isel(time=0))
animate(temperature.isel(time=slice(120)), "temperature.mp4", video_width=1280)
The documentation covers static plots, scalar animations, vector-field quiver
plots, CRS handling, color normalization, and the reusable PlotModel and Animation classes.
Development
git clone https://github.com/CyrilJl/mapflow.git
cd mapflow
uv sync --group dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
See CONTRIBUTING.md for the full contribution and release checks. Changes are documented in CHANGELOG.md.
License
Licensed under the Apache License 2.0.
Metadata
Release files for mapflow 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mapflow-0.3.1.tar.gz | 2.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mapflow-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.1 MB
Release files / mapflow-0.3.1.tar.gz
| Download URL | mapflow-0.3.1.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89ee96c7ca6d6ea450bf90b062d4873abc6e85e879f067244b7b5d1106217506
|
|
BLAKE2b-256 checksum How to use checksums |
0e3897b0f2a6c29074489b2bfcf0dbf5f055df1100a5e063a9bd2f90e77a8f96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.
Transparency logRelease files / mapflow-0.3.1-py3-none-any.whl
| Download URL | mapflow-0.3.1-py3-none-any.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c3556ebb259402e0000f01524495d141ebacf3aa95e3017965601fd303c2cfe
|
|
BLAKE2b-256 checksum How to use checksums |
6724fb0262ea7f8e4c74ac2c8f06416b59add93a8edc84f0e69caf0e679a16bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.
Transparency log