A library to make GFW style maps in Python.
Install UV if you don't already have it.
git clone https://github.com/GlobalFishingWatch/pyseas.git
cd pyseas
uv sync
Then run uv run jupyter notebook, or uv run python for a shell, either of
which will have pyseas available.
All dependencies (including cartopy, geopandas, and rasterio) install
cleanly from PyPI wheels — no system GDAL/GEOS/PROJ install is required.
PySeas isn't published to PyPI, so add it as a Git dependency. From the other project's directory:
uv add "git+https://github.com/GlobalFishingWatch/pyseas.git"
This adds the following to that project's pyproject.toml:
[project]
dependencies = [
"pyseas",
# ...
]
[tool.uv.sources]
pyseas = { git = "https://github.com/GlobalFishingWatch/pyseas.git" }(Equivalently, add those two snippets by hand and run uv sync.)
By default this tracks the tip of the repo's default branch. For a reproducible,
pinned install, add --rev <commit-sha> (or --tag <tag>) to the uv add
command above, which records a rev = (or tag =) key in tool.uv.sources
instead of tracking a moving branch.
As with using PySeas directly, no system GDAL/GEOS/PROJ install is needed —
cartopy, geopandas, and rasterio all resolve from PyPI wheels.
Examples of common plotting tasks are shown in pyseas/doc/Examples.md, or on github.
-
EEZ boundaries are drawn using World EEZ v11 from Marine Regions licensed under CC-BY.
-
The Roboto fonts from Google licensed under Apache 2.0