pip install maphubThis 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()).
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.
Before using the CLI, you need to authenticate with your MapHub API key:
maphub auth YOUR_API_KEYThis will save your API key to ~/.maphub/config.json for future use.
To upload a GIS file to your root folder:
maphub upload path/to/your/file.gpkgThe 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_IDIf 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).
To clone a folder from MapHub to your local machine:
maphub clone FOLDER_IDThis will clone the folder to the current directory.
To specify an output directory:
maphub clone FOLDER_ID --output path/to/output/directoryTo pull the latest changes from MapHub to your local clone:
maphub pullThis command should be run from within a directory that was previously cloned. It will update any maps that have changed on the server.
To push your local changes back to MapHub:
maphub pushThis command should be run from within a directory that was previously cloned. It will upload any maps that have changed locally.