Skip to main content

napari-gribberish

License BSD-3 PyPI Python Version tests codecov napari hub npe2

Open GRIB (GRIB1 / GRIB2) weather and ocean forecast files in napari, powered by the fast Rust-based gribberish decoder.

HRRR 2 m temperature over the continental US

HRRR 2 m temperature over the continental US — the Rocky Mountains show up cold on the left.

Every variable in a file becomes an image layer, and any non-spatial dimensions (forecast time, vertical level, ensemble member, …) become interactive slider axes.

Features

  • 📂 Reader — drag-and-drop or File ▸ Open any .grib, .grib2, .grb, or .grb2 file. Each variable loads as its own layer with units and long name attached, and the horizontal grid mapped to layer scale/translate when the coordinates are regular.
  • 🎛️ Multi-dimensional navigation — time / level / member dimensions become napari sliders, so you can scrub or animate through a forecast.
  • 🧭 Smart colormaps — sequential fields use plasma; directional fields (wave/wind direction, 0–360°) get a cyclic colormap so 0° and 360° match.
  • 🧰 Variable selector widget — choose exactly which variables to load and how to display them (separate / blended / grid).
  • 🌐 Sample data — stream a slice of NOAA HRRR straight from the public AWS Open Data bucket, showcasing gribberish's remote + indexed reading.

Installation

pip install "napari-gribberish[all]"   # includes napari + Qt

If you already have napari installed:

pip install napari-gribberish

Latest development version:

pip install "git+https://github.com/ianhi/napari-gribberish.git"

Note: requires napari ≥ 0.8 and Python ≥ 3.12.

Usage

Opening a file

Drag a GRIB file onto the napari window, or use File ▸ Open. From Python:

import napari

viewer = napari.Viewer()
viewer.open("forecast.grib2", plugin="napari-gribberish")
napari.run()

To avoid stacking many opaque layers on top of each other, the reader loads every variable but reveals only the first — toggle the others with the 👁 icons in the layer list.

Multi-dimensional data

Files with extra dimensions (here ERA5 with forecast time × pressure level × ensemble member) expose one slider per non-spatial axis. Drag them, or press ▶ to animate.

ERA5 opened in napari with time, level and member sliders

Variable selector widget

Plugins ▸ GRIB variable selector opens a dock where you pick a file, select which variables to load, and choose a display mode:

  • separate — one layer per variable, only the first visible (best for unrelated fields)
  • blend — all selected variables visible with additive blending (overlay a few fields)
  • grid — all selected variables side by side for comparison

The GRIB variable selector dock widget

Grid mode is handy for comparing related fields at a glance — note the wave-direction panel (bottom-left) automatically uses a cyclic colormap:

Four wave variables compared side by side in grid mode

Sample data

File ▸ Open Sample ▸ Gribberish ▸ HRRR surface (remote) streams 2 m temperature and 10 m wind gust from the public NOAA HRRR archive on AWS (requires network access).

Reading GRIB without napari

The plugin is a thin layer over gribberish's xarray backend, so the same files open directly with:

import xarray as xr

ds = xr.open_dataset("forecast.grib2", engine="gribberish", collapse_groups=True)

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

uv run pytest          # run the test suite
uv run napari          # launch napari with the plugin installed

License

Distributed under the terms of the BSD-3 license, "napari-gribberish" is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Metadata

Release files for napari-gribberish 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for napari-gribberish 0.1.0
File Size Uploaded Provenance
napari_gribberish-0.1.0.tar.gz 1.6 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for napari-gribberish 0.1.0
File Interpreter ABI Platform
napari_gribberish-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / napari_gribberish-0.1.0.tar.gz

Download URL napari_gribberish-0.1.0.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
f410af2df8e86e756f9e5a7e6109b7a91335d667c573595ceff30a7390cd7971
BLAKE2b-256 checksum
How to use checksums
4af8c3462569f63b8d2611e6bf1e89b827af698c7ceac68301ef00def4af3c85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Release files / napari_gribberish-0.1.0-py3-none-any.whl

Download URL napari_gribberish-0.1.0-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a308ddeef0a976b6fcb42d6baa062f36f8ca8dea5ebb5c810f8fe63534eabdd
BLAKE2b-256 checksum
How to use checksums
abfa71628920aa6ced3d41585edc2b62a0981197006916776054d92b2f619f23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Security for napari-gribberish 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for napari_gribberish-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page