Skip to main content
https://github.com/mapchete/mapchete-hub/blob/main/logo/mapchete_hub_grey.svg

Distributed mapchete processing.

https://img.shields.io/pypi/v/mapchete-hub.svg https://img.shields.io/conda/v/conda-forge/mapchete-hub https://img.shields.io/pypi/l/mapchete-hub.svg https://img.shields.io/github/actions/workflow/status/mapchete/mapchete-hub/python-package.yml?label=tests https://codecov.io/gh/mapchete/mapchete-hub/graph/badge.svg?token=VD1YOF3QA2 https://img.shields.io/github/repo-size/mapchete/mapchete-hub

mapchete Hub provides a RESTful web interface to the mapchete geospatial data processing engine. Its API is inspired by the OGC API - Processes standard and allows you to execute, manage, and scale your processing jobs over HTTP.

The main use cases for the Hub are running processing jobs asynchronously and scaling them up in the background, potentially using Dask for distributed computing.

Key Features

  • 🌐 OGC API - Processes inspired: A REST API for submitting jobs, monitoring their status, and retrieving results.

  • ⚙️ Advanced Job Monitoring: Inspect detailed job states (pending, running, failed, success) and view the overall progress percentage for currently running jobs.

  • 🚀 Scalable Execution: Can be configured to use Dask for distributed, parallel execution of jobs.

  • 💬 Slack Notifications: Optionally sends job status updates directly to a configured Slack channel.

  • 🐳 Container-Ready: Designed to be deployed in containerized environments like Docker, making it easy to scale your processing capabilities.

How It Works

  1. Serve: Start the mapchete Hub server. It listens for incoming job requests.

  2. Prepare Job: A client application prepares a job configuration as a JSON object that follows the MapcheteJob schema.

  3. Submit: The client POSTs the JSON configuration to the /jobs endpoint. The Hub validates it and returns a unique job_id.

  4. Monitor: The client uses the job_id to poll the /jobs/{job_id} endpoint to track the job’s status and progress.

  5. Retrieve: Once the job is successful, the results can be accessed from the location defined in the job’s output configuration.

Getting Started

Installation

Install mapchete Hub and its dependencies from PyPI:

pip install mapchete-hub

Running the Server

To start the server, simply run the following command:

mhub-server start

The API documentation will be available at http://127.0.0.1:8000/docs.

Interacting with the Hub

While you can use tools like curl, the easiest way to interact with the Hub is by using the mapchete-hub-cli package.

First, install the client: .. code-block:: bash

pip install mapchete-hub-cli

Next, create a job configuration file, for example my_job.json:

{
  "process": "mapchete.processes.examples.hillshade",
  "zoom_levels": [
    10
  ],
  "pyramid": {
    "grid": "geodetic"
  },
  "input": {
    "dem": "https://storage.googleapis.com/mapchete-test-data/cleantopo2/dem.tif"
  },
  "output": {
    "path": "./hillshade_output",
    "format": "GTiff",
    "dtype": "uint8",
    "bands": 1
  }
}

Now, use the CLI to submit the job and check its status:

# Submit the job
mhub-cli submit my_job.json

# The command will return a job_id. Use it to check the status:
mhub-cli status <your_job_id>

Contributing

mapchete Hub is an open-source project and we welcome contributions! Please see the Contributing Guide in the main mapchete repository for guidelines on how to get started.

Acknowledgements

The initial development of mapchete Hub was made possible with the resources and support of EOX IT Services GmbH.

Release files for mapchete-hub 2026.4.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 mapchete-hub 2026.4.0
File Size Uploaded
mapchete_hub-2026.4.0.tar.gz 34.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mapchete-hub 2026.4.0
File Interpreter ABI Platform
mapchete_hub-2026.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 81.3 kB

Release files / mapchete_hub-2026.4.0.tar.gz

Download URL mapchete_hub-2026.4.0.tar.gz
Size 34.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f14a2ce388805fd6a9b7051428a7e6a48edd4a0d6ef6513b45f77ff6a5e87922
BLAKE2b-256 checksum
How to use checksums
6f54c2e8c6f4d3d0ba3a28bdf5b5796509816ee2f4a0d929a3c20debce276f40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.4 cpython/3.14.4 HTTPX/0.28.1

Release files / mapchete_hub-2026.4.0-py3-none-any.whl

Download URL mapchete_hub-2026.4.0-py3-none-any.whl
Size 47.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5db5c0bf7a427118541fdc77272f9aaa6c595be75d74ebc12dc7783f9e3fe8b7
BLAKE2b-256 checksum
How to use checksums
0979f06987864aaf8cd482e20b636c49f2f5100af4200249dc8601e41b456fb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.4 cpython/3.14.4 HTTPX/0.28.1

Release history Release notifications | RSS feed

This release

2026.4.0 This release

2 release 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