Install & Compatibility
Where this runs
tested against v1.7.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.098s · 17.8MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 1.5s · import 0.090s · 18MB
16MB installed
● package 16MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ECMWFDataServer
✓ from ecmwfapi import ECMWFDataServer
Standard import path.
ECMWFService
✓ from ecmwfapi import ECMWFService
For service-based access.
Downloads ERA5 data from the ECMWF API. Requires API key and email set in environment variables.
from ecmwfapi import ECMWFDataServer
server = ECMWFDataServer(url="https://api.ecmwf.int/v1", key=os.environ.get('ECMWF_API_KEY', ''), email=os.environ.get('ECMWF_EMAIL', ''))
server.retrieve({
"class": "od",
"dataset": "era5",
"date": "2018-01-01/to/2018-01-02",
"expver": "1",
"levelist": "1",
"levtype": "ml",
"param": "130",
"stream": "oper",
"target": "output.grib",
"time": "00:00:00/12:00:00",
"type": "an",
"grid": "1.0/1.0",
"area": "50/-10/30/10",
"format": "grib"
})
ecmwf --version
Errors
Common errors & fixes
ecmwfapi.ECMWFService.ECMWFService.__init__() got an unexpected keyword argument 'url'
ECMWFService does not accept 'url' parameter, only 'email' and 'key'.
fixUse ECMWFDataServer for URL-based access, or omit 'url' for ECMWFService.
ImportError: cannot import name 'ECMWFDataServer' from 'ecmwfapi'
Possibly a corrupted installation or very old version; module name changed in v1.5.0?
fixReinstall: `pip install --upgrade ecmwf-api-client`. For older packages, import from `ecmwf` directly.
Upgrade
Version history
1.7.0latest on PyPI · released Jun 17, 2026
Audit
Dependencies
No dependency data recorded yet.