skillfed

cdsapi

Climate Data Store API

cdsapi v0.7.7 602.6K downloads/30d#5,814 on PyPI321
Permissive license Apache 2.0 Active released

What it is and what it does

cdsapi is a Python wrapper around the Copernicus Climate Data Store (CDS) API, maintained by ECMWF. It lets you programmatically query and download climate reanalysis datasets—such as ERA5 pressure-level data—directly into your Python workflows without manual portal interaction. The package handles API authentication via a stored personal access token and abstracts the HTTP request details behind a simple Client interface.

Typical use involves creating a Client instance, calling retrieve() with a dataset name and parameter dictionary, and specifying an output file. The package depends on requests for HTTP communication, tqdm for progress indication, and ecmwf-datastores-client for underlying data store integration. It supports Python 3.8 and later, including recent versions up to 3.13, and carries no known security vulnerabilities.

Use it for:

  • Download ERA5 reanalysis temperature or pressure data for a specific date range and location in a single Python call.
  • Automate batch retrieval of climate datasets as part of a research pipeline or data processing workflow.
  • Integrate climate data ingestion into a weather modeling or environmental analysis application.
  • Fetch historical weather observations for validation or training machine learning models on climate patterns.

Worth the install?

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

cdsapi is a Python client for the Copernicus Climate Data Store API, enabling programmatic retrieval of climate and weather datasets from ECMWF's CDS portal.

Yes. cdsapi is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive Apache 2.0 license. Install it if you need programmatic access to Copernicus CDS datasets; the main prerequisite is obtaining a CDS account and configuring your authentication token.

Install

cdsapi on PyPI

pip

pip install cdsapi

uv

uv add cdsapi

poetry

poetry add cdsapi

Installing cdsapi

Before you install

Low install friction with a pure Python wheel. Active maintenance as of March 2026, with 321 repository stars and a recent release cycle. Depends on three lightweight runtime packages: ecmwf-datastores-client, requests, and tqdm.

License in practice

Licensed under Apache 2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most projects.

Quickstart

pip install cdsapi

import cdsapi
cds = cdsapi.Client()
cds.retrieve('reanalysis-era5-pressure-levels', {
    "variable": "temperature",
    "pressure_level": "1000",
    "product_type": "reanalysis",
    "date": "2017-12-01/2017-12-31",
    "time": "12:00",
    "format": "grib"
}, 'download.grib')

Requires a Copernicus CDS account with a Personal Access Token configured in ~/.cdsapirc; you must also accept the Terms and Conditions for each dataset you download.

Verify before relying

  • Whether ecmwf-datastores-client is a maintained package and what its own dependency tree adds to install complexity.
  • Performance characteristics and rate limits when retrieving large datasets or making concurrent requests.
  • Whether the package handles authentication refresh or token expiration gracefully.

Package facts

License Apache 2.0 (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 3 — ecmwf-datastores-client, requests, tqdm
Maintenance actively maintained — 318 days since the last release
Last repo commit
First released
Downloads 602,587/month — #5,814 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: cdsapi-0.7.7-py2.py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

climate data store api clientcopernicus cds pythonecmwf weather data downloadera5 reanalysis retrievalclimate dataset api
climate-dataweather-apireanalysis

More Information Analysis packages