Skip to main content

geoviewer

A browser-based viewer for geospatial scientific data — netCDF, HDF5, and GRIB — inspired by NASA Panoply.

Browse a whitelisted server directory, pick a variable, and get an interactive lat/lon map with a time/level slider, colormap control, and a metadata panel. It runs as a single Panel app served over the web, with no uploads — files stay on the server.

Features

  • Multi-format readers behind one interface: netCDF (classic and netCDF-4/HDF5-backed), HDF5, and GRIB (via cfgrib/eccodes).
  • Variable list with automatic dimension-role detection (x/y/z/time) via naming heuristics and unit hints.
  • Interactive map rendered with datashader rasterization (falls back to plain rendering when unavailable).
  • Time and vertical-level sliders for N-D variables.
  • Colormap picker and per-dimension role overrides.
  • Metadata panel showing the selected variable's attributes.
  • Directory whitelist with path-traversal protection — server-side browsing only.

Installation

Requires Python 3.11+.

pip install .

For an editable install that includes the test/lint tooling:

pip install -e ".[dev]"

With uv:

uv pip install .

GRIB support needs the eccodes C library; the eccodes wheel bundles it, or install it system-wide (conda install -c conda-forge eccodes).

Usage

Start the server, pointing NC_VIEWER_ROOTS at one or more directories to browse (colon-separated):

NC_VIEWER_ROOTS=/data/mydata:/data/more python -m panel serve app.py --port 5006

Then open http://localhost:5006/app.

To serve on a remote machine, use an SSH tunnel:

ssh -L 5006:127.0.0.1:5006 user@host

Environment variables

Variable Default Description
NC_VIEWER_ROOTS . Colon-separated whitelisted directories to browse
NUMBA_CACHE_DIR <tmp>/numba_cache Numba JIT cache directory (used by datashader rasterization)

Architecture

readers/   unified Reader abstraction (netCDF / HDF5 / GRIB) -> xarray
services/  catalog whitelist, dimension role model, slice LRU cache
ui/        Panel components (file browser, variable panel, map, controls, metadata)
app.py     Panel entrypoint wiring callbacks

Testing

python -m pytest -q

License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geoviewer-0.2.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geoviewer-0.2.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file geoviewer-0.2.0.tar.gz.

File metadata

  • Download URL: geoviewer-0.2.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for geoviewer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ebd12d0fa5f16e319d4716360df2fad800222b532921749e976b3e3553414568
MD5 fabdb596ac027bb75b401e99e2df2490
BLAKE2b-256 cfb0c08b51b2acdc016499130223c654b2a14b406d1eb5df437e289fa40fbb59

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoviewer-0.2.0.tar.gz:

Publisher: publish.yml on openEarthModelling/geoviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geoviewer-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: geoviewer-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for geoviewer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2fedb8673e6c30895025581f7805bed2f6cdd7285e7739c587022a735150c23d
MD5 caec7ed7bf84a569bf7f089b1fbfe760
BLAKE2b-256 00aefa98aa2e93e66ed01e425b4e4aec519d682d384a73e317fb4cf6e0d830c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoviewer-0.2.0-py3-none-any.whl:

Publisher: publish.yml on openEarthModelling/geoviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.0

2 files

This release

0.2.0 This release

2 files

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