napari-gribberish
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 — 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 ▸ Openany.grib,.grib2,.grb, or.grb2file. Each variable loads as its own layer with units and long name attached, and the horizontal grid mapped to layerscale/translatewhen 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.
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
Grid mode is handy for comparing related fields at a glance — note the wave-direction panel (bottom-left) automatically uses a cyclic colormap:
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| napari_gribberish-0.1.0.tar.gz | 1.6 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.