skillfed

copernicusmarine

Command line interface and Python API for accessing Copernicus Marine data and related services.

copernicusmarine v2.4.1 232.9K downloads/30d#9,052 on PyPI
License unclear Active released

What it is and what it does

Copernicusmarine is a Python package and command-line tool that connects to the Copernicus Marine Service to access oceanographic datasets. It lets you list and retrieve metadata for all available marine products and datasets, apply filters to find specific data, and download subsets in formats like NetCDF or Zarr without quotas on volume or bandwidth.

The package wraps the Marine Data Store API, exposing both a CLI (via click) and a Python API. It depends on a substantial stack including xarray, dask, zarr, and boto3 for data handling and cloud storage, plus pydantic for validation and pystac for catalog metadata. The main constraint is a Python version requirement of 3.10 or higher, and a known incompatibility between older xarray and numpy 2.0+.

Use it for:

  • Download oceanographic model outputs or observational data for a specific geographic region and time period.
  • Subset large marine datasets to NetCDF or Zarr format before processing in a local analysis pipeline.
  • Automate recurring data fetches from Copernicus Marine in a scheduled workflow or batch job.
  • Query the full Copernicus Marine catalog to discover available variables and products programmatically.
  • Access cloud-optimized Zarr stores directly for analysis with dask on distributed compute.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Copernicusmarine provides a CLI and Python API to query, filter, and download marine oceanographic data from the Copernicus Marine Service, including subsetting to NetCDF or Zarr formats.

Yes, if you work with Copernicus Marine oceanographic data. Install friction is low, maintenance is active, and there are no known vulnerabilities. The main gotchas are the Python 3.10+ requirement, the xarray/numpy compatibility caveat, and unclear license metadata—verify the EUPL terms apply to your use case before deploying in production.

Install

copernicusmarine on PyPI

pip

pip install copernicusmarine

uv

uv add copernicusmarine

poetry

poetry add copernicusmarine

Installing copernicusmarine

Before you install

Low install friction with a pure-wheel distribution. Active maintenance as of 95 days ago. Supports Python 3.10 through 3.14. Note: the package documentation warns that xarray<2024.7.0 combined with numpy>=2.0.0 produces inconsistent results.

License in practice

License treatment is unclear—the package references EUPL in its description but metadata lacks explicit SPDX or raw license fields. Verify licensing terms before use in proprietary or restricted contexts.

Quickstart

pip install copernicusmarine

import copernicusmarine

# List available datasets
copernicusmarine.describe()

# Download a subset as NetCDF
copernicusmarine.subset(dataset_id="...", variables=[...], output_filename="subset.nc")

Requires Python >=3.10. Copernicus Marine account credentials needed for data access. xarray<2024.7.0 with numpy>=2.0.0 causes inconsistent results.

Verify before relying

  • Whether Copernicus Marine account creation and login are required before any data access, or if public datasets are available without authentication.
  • Performance characteristics and typical download speeds for large datasets or subsetting operations.
  • Whether the package handles authentication caching or if credentials must be supplied on each call.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 13 — click, requests, xarray, tqdm, zarr, dask, boto3, semver, pystac, numpy, pydantic, h5netcdf, arcosparse
Maintenance actively maintained — 95 days since the last release
First released
Downloads 232,927/month — #9,052 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: copernicusmarine-2.4.1-py3-none-any.whl

Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

copernicus marine data downloadoceanographic data access APImarine dataset subsettingnetcdf zarr marine datacopernicus marine CLIocean data filteringmarine service toolbox
oceanographic-datacopernicus-marinecli-and-api

More Information Analysis packages