Skip to main content

A Python wrapper for the MapHub API

Project description

MapHub

PyPI Version PyPI Downloads

Installation

pip

pip install maphub

Usage

Python package

This example demonstrates how to upload a Map from the local path to a MapHub folder with the name France.

from maphub import MapHubClient

client = MapHubClient(api_key="your-api-key")
personal_workspace = client.workspace.get_personal_workspace()
root_folder = client.folder.get_root_folder(personal_workspace["id"])
france_folder = client.folder.create_folder("France", root_folder["folder"]["id"])

client.maps.upload_map(
    map_name="France Population",
    folder_id=france_folder['id'],
    public=False,
    path="path/to/GIS/data.gpkg"
)

Note: The direct endpoint methods (e.g., client.create_project(), client.upload_map()) are deprecated and will be removed in a future version. Use the endpoint classes instead (e.g., client.folder.create_folder(), client.map.upload_map()).

CLI

The MapHub CLI provides a command-line interface for interacting with the MapHub API. It allows you to authenticate with an API key and upload maps to your folders.

Authentication

Before using the CLI, you need to authenticate with your MapHub API key:

maphub auth YOUR_API_KEY

This will save your API key to ~/.maphub/config.json for future use.

Uploading Maps

To upload a GIS file to your root folder:

maphub upload path/to/your/file.gpkg

The map name will be extracted from the file name (without extension).

To upload a GIS file to a specific folder:

maphub upload path/to/your/file.gpkg --folder-id YOUR_FOLDER_ID

If you don't specify a folder ID, the map will be uploaded to your root folder.

To upload a GIS file with a custom map name:

maphub upload path/to/your/file.gpkg --map-name "My Custom Map Name"

If you don't specify a map name, it will be extracted from the file name (without extension).

Cloning Maps and Folders

To clone a folder from MapHub to your local machine:

maphub clone FOLDER_ID

This will clone the folder to the current directory.

To specify an output directory:

maphub clone FOLDER_ID --output path/to/output/directory

Pulling Changes

To pull the latest changes from MapHub to your local clone:

maphub pull

This command should be run from within a directory that was previously cloned. It will update any maps that have changed on the server.

Pushing Changes

To push your local changes back to MapHub:

maphub push

This command should be run from within a directory that was previously cloned. It will upload any maps that have changed locally.

Project details


Download files

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

Source Distribution

maphub-0.2.16.tar.gz (25.2 kB view details)

Uploaded Source

Built Distribution

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

maphub-0.2.16-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file maphub-0.2.16.tar.gz.

File metadata

  • Download URL: maphub-0.2.16.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0b2

File hashes

Hashes for maphub-0.2.16.tar.gz
Algorithm Hash digest
SHA256 f1be9d1bcd96d87ac44470b3631b72463be5962357cd4dcf3c6e4aaca2471336
MD5 dc6f66042c7b92f09cdbed949b134e41
BLAKE2b-256 7d3145b662a1da1e44abe43f87191578203cc365e0700b21d7d296eb5a49de8a

See more details on using hashes here.

File details

Details for the file maphub-0.2.16-py3-none-any.whl.

File metadata

  • Download URL: maphub-0.2.16-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0b2

File hashes

Hashes for maphub-0.2.16-py3-none-any.whl
Algorithm Hash digest
SHA256 d0a40289a9374df9423a50e2633f85badec5d21114b8d16daa2df3b4e4533cfe
MD5 03b603e143c7dfe66826b5a0f2adc774
BLAKE2b-256 383bb88541a8fb1d982c1c9cdb1a8a2f7ba0f56ec245dd8e220bcf0a46752b14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page