eccodeslib
"eccodeslib"
What it is and what it does
eccodeslib is a Python wrapper around ECMWF's ecCodes library, a mature tool for reading and writing meteorological data in standard WMO formats. It exposes a key/value interface to decode GRIB (gridded binary) and BUFR (binary universal form for the representation of meteorological data) messages, as well as WMO GTS headers. The package is designed for climate scientists, weather modelers, and data engineers who work with operational forecast data, reanalysis products, or observational records stored in these formats.
The package ships as pre-built wheels for multiple Python versions on macOS and Linux, but installation requires the underlying ecCodes C library and its runtime dependencies. It is actively maintained by ECMWF and classified as Graduated software under their maturity guidelines, indicating production readiness.
Use it for:
- Ingest GRIB files from weather forecast models or reanalysis datasets into Python for analysis.
- Decode BUFR observation records from meteorological stations or satellite platforms.
- Extract specific meteorological fields using the key/value interface.
- Convert between GRIB and BUFR formats or validate message structure in data pipelines.
- Build climate or weather analysis workflows that depend on WMO-standard data formats.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
eccodeslib provides Python bindings to decode and encode meteorological data in GRIB, BUFR, and WMO GTS formats, wrapping the ECMWF ecCodes C library.
Yes, if you work with GRIB or BUFR meteorological data and your system can satisfy the ecCodes C library dependency. The package is actively maintained, widely used, carries no known vulnerabilities, and is officially Graduated by ECMWF. Verify that the license treatment (Apache 2.0 per the description, but unclear in metadata) and system-level installation requirements fit your environment before committing.
Install
eccodeslib on PyPI
pip
pip install eccodeslibuv
uv add eccodeslibpoetry
poetry add eccodeslibInstalling eccodeslib
Before you install
Medium install friction: wheels are available for multiple Python versions on macOS and Linux, but the package depends on eckitlib and wraps a compiled C library, so installation may require system-level dependencies. Actively maintained with a release 28 days old.
License in practice
License treatment is unclear in the metadata; the description states Apache Licence Version 2.0, but SPDX and raw license fields are absent from the package record, so verify the actual license terms before use in proprietary or restricted contexts.
Quickstart
pip install eccodeslib
import eckitlib
# Use eckitlib to work with meteorological data formats
Requires the underlying ecCodes C library to be installed on the system; Python alone is insufficient. Consult ECMWF installation documentation for your platform.
Verify before relying
- Whether eckitlib is a public PyPI package or an internal ECMWF dependency that may complicate installation.
- Exact Python version support (requires_python is unspecified in metadata).
- Whether the package includes pre-built ecCodes binaries or expects a system installation.
- Concrete usage examples and API surface for decoding GRIB and BUFR messages.
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — eckitlib |
| Maintenance | actively maintained — 28 days since the last release |
| First released | |
| Downloads | 973,379/month — #4,605 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: eccodeslib-2.48.0.26-cp310-cp310-macosx_13_0_arm64.whl; eccodeslib-2.48.0.26-cp310-cp310-macosx_13_0_x86_64.whl; eccodeslib-2.48.0.26-cp310-cp310-manylinux_2_28_aarch64.whl; eccodeslib-2.48.0.26-cp310-cp310-manylinux_2_28_x86_64.whl; eccodeslib-2.48.0.26-cp311-cp311-macosx_13_0_arm64.whl; eccodeslib-2.48.0.26-cp311-cp311-macosx_13_0_x86_64.whl; eccodeslib-2.48.0.26-cp311-cp311-manylinux_2_28_aarch64.whl; eccodeslib-2.48.0.26-cp311-cp311-manylinux_2_28_x86_64.whl; eccodeslib-2.48.0.26-cp312-cp312-macosx_13_0_arm64.whl; eccodeslib-2.48.0.26-cp312-cp312-macosx_13_0_x86_64.whl; eccodeslib-2.48.0.26-cp312-cp312-manylinux_2_28_aarch64.whl; eccodeslib-2.48.0.26-cp312-cp312-manylinux_2_28_x86_64.whl; eccodeslib-2.48.0.26-cp313-cp313-macosx_13_0_arm64.whl; eccodeslib-2.48.0.26-cp313-cp313-macosx_13_0_x86_64.whl; eccodeslib-2.48.0.26-cp313-cp313-manylinux_2_28_aarch64.whl; eccodeslib-2.48.0.26-cp313-cp313-manylinux_2_28_x86_64.whl; eccodeslib-2.48.0.26-cp314-cp314-macosx_13_0_arm64.whl; eccodeslib-2.48.0.26-cp314-cp314-macosx_13_0_x86_64.whl; eccodeslib-2.48.0.26-cp314-cp314-manylinux_2_28_aarch64.whl; eccodeslib-2.48.0.26-cp314-cp314-manylinux_2_28_x86_64.whl
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
cfgribcfgrib maps GRIB meteorological data files to…
permissive · top 5,000 on PyPI
eccodesReads and writes GRIB and BUFR meteorological…
permissive · top 5,000 on PyPI
metarParses METAR and SPECI coded aviation weather…
permissive · top 15,000 on PyPI
pdbufrpdbufr reads BUFR (Binary Universal Form for…
permissive · top 15,000 on PyPI
pygribReads and writes GRIB meteorological data files…
permissive · top 15,000 on PyPI
eckitlibeckitlib is a Python binding for EcKit, a…
unclear · top 5,000 on PyPI
earthkit-dataearthkit-data provides a unified Python…
permissive · top 15,000 on PyPI
ecmwf-opendataDownloads ECMWF open meteorological data using…
permissive · top 15,000 on PyPI
ecmwf-api-clientPython client for accessing ECMWF's IFS…
permissive · top 15,000 on PyPI
earthkit-utilsProvides shared utilities and helper functions…
permissive · top 15,000 on PyPI