macOS
brew install eccodeslocal Homebrew formula metadata
sudo port install ecCodesMacPorts ports tree · science/ecCodes/Portfile · source: api.github.com
brew
Decode and encode messages in the GRIB 1/2 and BUFR 3/4 formats. Version 2.47.0 via Homebrew; verified 2026-04-22.
install
brew install eccodeslocal Homebrew formula metadata
sudo port install ecCodesMacPorts ports tree · science/ecCodes/Portfile · source: api.github.com
sudo apk add eccodesAlpine Linux edge package indexes · eccodes · source: dl-cdn.alpinelinux.org
sudo apt install libeccodes-dataDebian stable package indexes · libeccodes-data · source: deb.debian.org
sudo dnf install eccodesFedora Rawhide package metadata · eccodes · source: dl.fedoraproject.org
nix profile install nixpkgs#eccodesnixpkgs package indexes · pkgs/by-name/ec/eccodes/package.nix · source: api.github.com
overview
Decode and encode messages in the GRIB 1/2 and BUFR 3/4 formats
history
ecCodes is ECMWF's library and command-line toolkit for decoding and encoding meteorological message formats, especially GRIB and BUFR. It is package-manager significant because it is infrastructure: many weather, climate, forecasting, and data-conversion workflows depend on having its tools and libraries installed correctly.
ECMWF describes ecCodes as a package providing an API and command-line tools for WMO GRIB editions 1 and 2, BUFR editions 3 and 4, and decoding of WMO GTS abbreviated headers. The repository README says it provides C, Fortran 90, and Python interfaces along with quick command-line access to messages.
The project is explicitly the evolution of ECMWF's older GRIB-API. ECMWF's documentation says ecCodes fully provides GRIB-API functionality for GRIB encoding and decoding, keeps the C, Fortran 90, and Python interfaces, drops the old Fortran 77 interface, and adds a codes_ API that works across supported message formats.
ECMWF marks ecCodes as the primary GRIB encoding/decoding package used at ECMWF and notes that GRIB-API has not been maintained since December 2018. That replacement history is central to ecCodes adoption: existing GRIB-API users were strongly advised to migrate, with compatibility maintained where possible.
The GitHub repository was created in December 2018 and is still active, with the README carrying ECMWF software maturity badges and 2026 releases in the 2.4x series.
ecCodes' adoption follows the operational meteorology stack rather than the usual application-CLI pattern. It is used where GRIB and BUFR data are read, written, inspected, filtered, converted, or bridged into Python, Fortran, C, and NetCDF workflows.
Package metadata shows ecCodes available in Homebrew, Alpine, Fedora-family packaging, MacPorts, Nix, and Debian/Ubuntu data packages. That broad packaging matters because meteorological tools often expect ecCodes definitions and command-line programs such as grib_ls, grib_get, grib_set, bufr_dump, and grib_to_netcdf to be present.
Users commonly install ecCodes for command-line inspection and transformation of GRIB/BUFR files, for language bindings, or as a dependency of higher-level weather-data software. The command suite includes GRIB, BUFR, GTS, and generic codes_* tools.
The migration documentation explains that many GRIB-API functions and tools were retained or mapped into ecCodes, while some experimental or superseded tools were removed. That makes ecCodes both a compatibility layer for old workflows and the maintained path forward.
ecCodes is the kind of package that quietly makes scientific software distributions work. It ships binary tools, libraries, format definitions, samples, and bindings around specialized international data formats; small packaging mistakes can break large data-processing pipelines.
It is also a case study in successor packaging: GRIB-API users needed a maintained replacement that preserved enough CLI and ABI/API behavior to make migration practical while adding BUFR and GTS coverage under one key/value access model.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
bufr_compare | cli | global executable | |
bufr_compare_dir | cli | global executable | |
bufr_copy | cli | global executable | |
bufr_count | cli | global executable | |
bufr_dump | cli | global executable | |
bufr_filter | cli | global executable | |
bufr_get | cli | global executable | |
bufr_index_build | cli | global executable | |
bufr_ls | cli | global executable | |
bufr_set | cli | global executable | |
codes_bufr_filter | cli | global executable | |
codes_config | cli | global executable | |
codes_count | cli | global executable | |
codes_export_resource | cli | global executable | |
codes_info | cli | global executable | |
codes_parser | cli | global executable | |
codes_split_file | cli | global executable | |
grib2ppm | cli | global executable | |
grib_compare | cli | global executable | |
grib_copy | cli | global executable | |
grib_count | cli | global executable | |
grib_dump | cli | global executable | |
grib_filter | cli | global executable | |
grib_get | cli | global executable | |
grib_get_data | cli | global executable | |
grib_histogram | cli | global executable | |
grib_index_build | cli | global executable | |
grib_ls | cli | global executable | |
grib_set | cli | global executable | |
grib_to_netcdf | cli | global executable | |
gts_compare | cli | global executable | |
gts_copy | cli | global executable | |
gts_count | cli | global executable | |
gts_dump | cli | global executable | |
gts_filter | cli | global executable | |
gts_get | cli | global executable | |
gts_ls | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://confluence.ecmwf.int/display/ECC
install metadata
| Package key | brew:eccodes |
|---|---|
| Version | 2.47.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/eccodes |
| Homepage | https://confluence.ecmwf.int/display/ECC |
| Repository | https://github.com/ecmwf/eccodes |
| Upstream docs | https://confluence.ecmwf.int/display/ECC |
| License | Apache-2.0 |
| Source archive | https://confluence.ecmwf.int/download/attachments/45757960/eccodes-2.47.0-Source.tar.gz |
| Last updated | 2026-04-22T21:19:38Z |
| Pulse | updated |
| Dependencies | gcc, libaec, libpng, netcdf, openjpeg |
| Build dependencies | cmake |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | eccodes |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libeccodes-data 2.41.0-1
GRIB and BUFR enecoding/encoding software library - data
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-datalibeccodes-dev 2.41.0-1
GRIB and BUFR decoding/encoding software library (development)
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-devlibeccodes-doc 2.41.0-1
GRIB decoding/encoding software (documentation)
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-doclibeccodes-tools 2.41.0-1
GRIB decoding/encoding software (utilities)
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-toolslibeccodes0 2.41.0-1
GRIB and BUFR enecoding/encoding software library
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes0eccodes
nix profile install nixpkgs#eccodeslibeccodes-data 2.34.1-1build2
GRIB and BUFR enecoding/encoding software library - data
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-datalibeccodes-dev 2.34.1-1build2
GRIB and BUFR decoding/encoding software library (development)
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-devlibeccodes-doc 2.34.1-1build2
GRIB decoding/encoding software (documentation)
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-doclibeccodes-tools 2.34.1-1build2
GRIB decoding/encoding software (utilities)
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes-toolslibeccodes0 2.34.1-1build2
GRIB and BUFR enecoding/encoding software library
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
sudo apt install libeccodes0eccodes 2.46.0-r0
API and tools for decoding and encoding WMO meteorological message formats
https://github.com/ecmwf/eccodes
sudo apk add eccodeseccodes 2.47.0-1.fc45
WMO data format decoding and encoding
https://confluence.ecmwf.int/display/ECC/ecCodes+Home
sudo dnf install eccodeseccodes-data 2.47.0-1.fc45
Data needed by the eccodes library and tools
https://confluence.ecmwf.int/display/ECC/ecCodes+Home
sudo dnf install eccodes-dataeccodes-devel 2.47.0-1.fc45
Contains ecCodes development files
https://confluence.ecmwf.int/display/ECC/ecCodes+Home
sudo dnf install eccodes-develeccodes-doc 2.47.0-1.fc45
Documentation and example code
https://confluence.ecmwf.int/display/ECC/ecCodes+Home
sudo dnf install eccodes-docsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.