Automic VaultAutomic Vault

brew

Install eccodes with Homebrew, apk, apt, dnf, MacPorts, Nix

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

Additional install commands

macOS

Homebrewverified · 100%
brew install eccodes

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install ecCodes

MacPorts ports tree · science/ecCodes/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add eccodes

Alpine Linux edge package indexes · eccodes · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install libeccodes-data

Debian stable package indexes · libeccodes-data · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install eccodes

Fedora Rawhide package metadata · eccodes · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#eccodes

nixpkgs package indexes · pkgs/by-name/ec/eccodes/package.nix · source: api.github.com

overview

Package summary

Decode and encode messages in the GRIB 1/2 and BUFR 3/4 formats

Commands and aliases

  • bufr_compare
  • bufr_compare_dir
  • bufr_copy
  • bufr_count
  • bufr_dump
  • bufr_filter
  • bufr_get
  • bufr_index_build
  • bufr_ls
  • bufr_set
  • codes_bufr_filter
  • codes_config
  • codes_count
  • codes_export_resource
  • codes_info
  • codes_parser
  • codes_split_file
  • grib2ppm
  • grib_compare
  • grib_copy
  • grib_count
  • grib_dump
  • grib_filter
  • grib_get
  • grib_get_data
  • grib_histogram
  • grib_index_build
  • grib_ls
  • grib_set
  • grib_to_netcdf
  • gts_compare
  • gts_copy

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2005: ECMWF copyright range for the software begins.
  • 2018: ecCodes GitHub repository created; GRIB-API maintenance ends in December 2018.
  • 2021-2022: Public GitHub releases show active 2.x release cadence.
  • 2026: ecCodes 2.47.0 released and repository remains active.

Related projects

  • GRIB-API is the direct predecessor and compatibility target for much of ecCodes' GRIB functionality.
  • CodesUI, mentioned in ECMWF's ecCodes documentation, is a related user interface for ecCodes.
  • Higher-level meteorological software commonly pairs ecCodes with Python bindings, Fortran/C applications, and conversion tools such as grib_to_netcdf.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 5 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
bufr_comparecliglobal executable
bufr_compare_dircliglobal executable
bufr_copycliglobal executable
bufr_countcliglobal executable
bufr_dumpcliglobal executable
bufr_filtercliglobal executable
bufr_getcliglobal executable
bufr_index_buildcliglobal executable
bufr_lscliglobal executable
bufr_setcliglobal executable
codes_bufr_filtercliglobal executable
codes_configcliglobal executable
codes_countcliglobal executable
codes_export_resourcecliglobal executable
codes_infocliglobal executable
codes_parsercliglobal executable
codes_split_filecliglobal executable
grib2ppmcliglobal executable
grib_comparecliglobal executable
grib_copycliglobal executable
grib_countcliglobal executable
grib_dumpcliglobal executable
grib_filtercliglobal executable
grib_getcliglobal executable
grib_get_datacliglobal executable
grib_histogramcliglobal executable
grib_index_buildcliglobal executable
grib_lscliglobal executable
grib_setcliglobal executable
grib_to_netcdfcliglobal executable
gts_comparecliglobal executable
gts_copycliglobal executable
gts_countcliglobal executable
gts_dumpcliglobal executable
gts_filtercliglobal executable
gts_getcliglobal executable
gts_lscliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version2.47.0
manager updated2026-04-22
local dataok
upstreamnot checked
latest detectednot detected

https://confluence.ecmwf.int/display/ECC

install metadata

Package metadata

Package keybrew:eccodes
Version2.47.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/eccodes
Homepagehttps://confluence.ecmwf.int/display/ECC
Repositoryhttps://github.com/ecmwf/eccodes
Upstream docshttps://confluence.ecmwf.int/display/ECC
LicenseApache-2.0
Source archivehttps://confluence.ecmwf.int/download/attachments/45757960/eccodes-2.47.0-Source.tar.gz
Last updated2026-04-22T21:19:38Z
Pulseupdated
Dependenciesgcc, libaec, libpng, netcdf, openjpeg
Build dependenciescmake
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameeccodes
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

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-data
  • Section: science
  • Architecture: all
  • Source Package: eccodes
  • normalized package name match
  • Matched by: Eccodes
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libeccodes-data from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libeccodes-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-dev
  • Section: libdevel
  • Architecture: amd64
  • Source Package: eccodes
  • 7 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Eccodes
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libeccodes-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libeccodes-doc 2.41.0-1

GRIB decoding/encoding software (documentation)

https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

sudo apt install libeccodes-doc
  • Section: doc
  • Architecture: all
  • Source Package: eccodes
  • 1 dependencies
  • normalized package name match
  • Matched by: Eccodes
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libeccodes-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libeccodes-tools 2.41.0-1

GRIB decoding/encoding software (utilities)

https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

sudo apt install libeccodes-tools
  • Section: utils
  • Architecture: amd64
  • Source Package: eccodes
  • 5 dependencies
  • normalized package name match
  • Matched by: Eccodes
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libeccodes-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libeccodes0 2.41.0-1

GRIB and BUFR enecoding/encoding software library

https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

sudo apt install libeccodes0
  • Section: libs
  • Architecture: amd64
  • Source Package: eccodes
  • 9 dependencies
  • normalized package name match
  • Matched by: Eccodes
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libeccodes0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

eccodes

nix profile install nixpkgs#eccodes
  • normalized package name match
  • Matched by: Eccodes
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ec/eccodes/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

libeccodes-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-data
  • Section: universe/science
  • Architecture: all
  • Source Package: eccodes
  • normalized package name match
  • Matched by: Eccodes
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libeccodes-data from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libeccodes-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-dev
  • Section: universe/libdevel
  • Architecture: amd64
  • Source Package: eccodes
  • 7 dependencies
  • normalized package name match
  • Matched by: Eccodes
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libeccodes-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libeccodes-doc 2.34.1-1build2

GRIB decoding/encoding software (documentation)

https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

sudo apt install libeccodes-doc
  • Section: universe/doc
  • Architecture: all
  • Source Package: eccodes
  • 1 dependencies
  • normalized package name match
  • Matched by: Eccodes
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libeccodes-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libeccodes-tools 2.34.1-1build2

GRIB decoding/encoding software (utilities)

https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

sudo apt install libeccodes-tools
  • Section: universe/utils
  • Architecture: amd64
  • Source Package: eccodes
  • 7 dependencies
  • normalized package name match
  • Matched by: Eccodes
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libeccodes-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libeccodes0 2.34.1-1build2

GRIB and BUFR enecoding/encoding software library

https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

sudo apt install libeccodes0
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: eccodes
  • 9 dependencies
  • normalized package name match
  • Matched by: Eccodes
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libeccodes0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

eccodes 2.46.0-r0

API and tools for decoding and encoding WMO meteorological message formats

https://github.com/ecmwf/eccodes

sudo apk add eccodes
  • License: Apache-2.0
  • Architecture: x86_64
  • Source Package: eccodes
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Eccodes
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: eccodes from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
dnf95%

eccodes 2.47.0-1.fc45

WMO data format decoding and encoding

https://confluence.ecmwf.int/display/ECC/ecCodes+Home

sudo dnf install eccodes
  • License: Apache-2.0
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: eccodes
  • 15 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Eccodes
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: eccodes from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

eccodes-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-data
  • License: Apache-2.0
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: eccodes
  • 1 provides
  • normalized package name match
  • Matched by: Eccodes
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: eccodes-data from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

eccodes-devel 2.47.0-1.fc45

Contains ecCodes development files

https://confluence.ecmwf.int/display/ECC/ecCodes+Home

sudo dnf install eccodes-devel
  • License: Apache-2.0
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: eccodes
  • 7 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Eccodes
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: eccodes-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

eccodes-doc 2.47.0-1.fc45

Documentation and example code

https://confluence.ecmwf.int/display/ECC/ecCodes+Home

sudo dnf install eccodes-doc
  • License: Apache-2.0
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: eccodes
  • 1 provides
  • normalized package name match
  • Matched by: Eccodes
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: eccodes-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment