Skip to main content

GeoManager

Wagtail based Geospatial Data Manager and backend CMS for geomapviewer

Geomanager Admin Screenshot

Background

Most national/regional institutions working in weather/climate/DRM sectors regularly produce and disseminate data and information that is Geo-referenced. This can range from forecast model outputs, earth observation data, stations observation, periodic bulletins and advisories and so on. Usually these are shared on their websites and social media pages in static formats, mostly as PNGs or PDFS.

This is an effort to develop an interactive system for managing and publishing Geo-referenced (GIS) datasets. As the institutions produce and share their products in static formats, they can also use packages like this, to make their data interactive.

The package is developed primarily for use by NMHSs at national levels, but can be adapted in other institutions or places that need to visualize their geospatial data.

Features

All the raster and vector datasets uploaded must have time associated with each file.

For netCDF files with time dimension, time is automatically extracted from the file. For Geotiff, each uploaded file must be manually assigned time.

Data management and visualization

  • Uploading and visualization of gridded data
    • netCDF
    • Geotiff
  • Uploading and visualization of vector data
    • Shapefiles
    • Geojson
  • Raster Tile serving of raster data using django-large-image. All django-large-imagefeatures are available
  • Vector tile serving using PostGIS MVT Tiles

MapViewer Management

  • Management of layers visualized on the geomapviewer
    • Control on visibility (public or private) of layers on the MapViewer

Installation

Prerequisite

Before installing this package, you should make sure you have GDAL installed in your system.

TIP: Installing GDAL can be notoriously difficult. You can use pre-built Python wheels with the GDAL binary bundled, provided by KitWare, for easy installation in production linux environments.

To install GDAL using KitWare GDAL wheel, use:

  pip install --find-links https://girder.github.io/large_image_wheels GDAL

Other required packages that you will need to install, if not installed already in your Wagtail Project

  • psycopg2 - for postgres/postgis database connection

Installation

You can install the package using pip:

pip install geomanager

Install this version of wagtail-admin-sortable from Github. This has some updates to the original packages.

pip install https://github.com/wmo-raf/wagtail-admin-sortable/archive/33bf22f290e7a4210b44667e9ff56e4b35ad309e.zip

Usage

Make sure the following are all added to your INSTALLED_APPS in your Wagtail settings

INSTALLED_APPS = [
    ...
    
    "geomanager",
    "adminboundarymanager",
    "django_large_image",
    'django_json_widget',
    'django_nextjs',
    "django_filters",
    "wagtail_color_panel",
    "wagtail_adminsortable",
    "wagtailhumanitarianicons",
    "wagtailiconchooser",
    "django_extensions",
    "wagtailfontawesomesvg"
    "allauth",
    "allauth.account",
    "wagtailcache",
    "wagtail_modeladmin"
    
    "wagtail.contrib.settings",
    "rest_framework",
    "django.contrib.gis",
    
    ...
]

Run migrations

python manage.py migrate geomanager

Add the following to your project's urls.py

urlpatterns = [
    ...
    path("", include("geomanager.urls")),
    ...
]

Wagtail Cache Setup

Geomanager depends on the wagtail-cache package for caching requests. Please have a look at the wagtail-cache documentation for setup instructions

Including the Map Viewer

This package is the backend component to the frontend geomapviewer.

Testing local changes in ClimWeb

If you are developing geomanager and want to test your changes inside a running ClimWeb instance, follow the steps below.

Prerequisites

Both repos should be cloned side by side:

wmo/
  climweb/
  geomanager/

Setup

1. Start ClimWeb with the geomanager volume mount

From the climweb directory, use the dev compose file (it already mounts ../geomanager into the containers):

In docker-compose.dev.yml

  cimweb_dev:
    volumes:
      - ../geomanager:/geomanager

Then run ClimWeb as usual:

docker compose -f docker-compose.yml -f docker-compose.dev.yml build
docker compose -f docker-compose.yml -f docker-compose.dev.yml up

2. Install geomanager in editable mode

Inside the running ClimWeb container, replace the pinned geomanager with your local copy:

docker exec climweb_dev pip install -e /geomanager

This must be re-run each time the container is recreated (e.g. after docker compose build).

If your changes also affect Celery tasks, install it in the worker too:

docker exec climweb_celery_worker_dev pip install -e /geomanager

3. Apply database migrations (if needed)

If your geomanager changes include model modifications:

docker exec climweb_dev cd src/climweb && python manage.py makemigrations geomanager
docker exec climweb_dev cd src/climweb && python manage.py migrate

Development workflow

  1. Edit code in the geomanager repo as normal.
  2. Python file changes are picked up automatically (Django dev server reloads).
  3. If you modify models, run makemigrations + migrate again.
  4. When done, commit your migrations in the geomanager repo.

Reverting to the released version

Rebuild the container to go back to the pinned version:

docker compose -f docker-compose.yml -f docker-compose.dev.yml build

Or reinstall the pinned version manually:

docker exec climweb_dev pip install geomanager==<version>

Documentation

TODO

Metadata

Release files for geomanager 0.6.4

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

Source distribution (sdist)

Source distribution for geomanager 0.6.4
File Size Uploaded Provenance Actions
geomanager-0.6.4.tar.gz 714.7 kB With provenance Details for geomanager-0.6.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for geomanager 0.6.4
File Interpreter ABI Platform Actions
geomanager-0.6.4-py3-none-any.whl Python 3 none any Details for geomanager-0.6.4-py3-none-any.whl

Total release size: 1.5 MB

Release files / geomanager-0.6.4.tar.gz

Download URL geomanager-0.6.4.tar.gz
Size 714.7 kB
Tags Source
SHA-256 checksum
How to use checksums
836ae55aa89c6f60aab012369e98a09964cf3cb56343a980448936fd722e8968
BLAKE2b-256 checksum
How to use checksums
691cb52757728d475fd6d931726cb69eb5978bf36ad9219e5ba2eb390ba7e0de
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 15, 2026.

Transparency log

Release files / geomanager-0.6.4-py3-none-any.whl

Download URL geomanager-0.6.4-py3-none-any.whl
Size 812.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86ad9c2eed5cd69bdabcbcaf407cc9a0a3985b2a4f4caca4455cad73847f5e26
BLAKE2b-256 checksum
How to use checksums
7863ea5b82c73efb849db0e8197c756b6deea56f9fcc0a11896766cb1ccb2724
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 15, 2026.

Transparency log

Security for geomanager 0.6.4

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 geomanager-0.6.4.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 15, 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.6.4 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