Skip to main content

Fast interactive Meshtastic and MeshCore maps downloader

Project description

Map Tiles Downloader

For Meshtastic & MeshCore

This app helps you fetch map tiles quickly, for offline use. You can pick places using a simple text interface, choose tiles provider and map style, and then download the exact areas that you need. It shows download progress, speed, ETA, and estimates how much disk space will the maps use.

CI Release PyPI - Python Version License: CC BY 4.0

Map Tiles Downloader - screenshot

Install from PyPI

pip install mt-downloader

If you get a warning about "breaking system packages", use:

pip install --user mt-downloader

Then run:

mt-downloader

Pre-compiled binaries

Download the installer/pre-compiled binaries from the Github Releases page.

Source code

The source code lives in the GitHub repository: tekk/map-tiles-downloader.

If you want to compile yourself

First, install the project into a virtual environment. Then launch the interactive interface and follow the prompts. Select one or more continents, countries, and regions, choose a provider (Thunderforest or OpenStreetMap), set zoom levels, and pick an output directory. If the provider needs an API key you’ll be asked for it.

MacOS / Linux

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install . # note the dot at the end of command
mt-downloader

Windows

In Powershell in Windows Terminal (not cmd), run:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r .\requirements.txt
pip install . # note the dot at the end of command
mt-downloader

If you need to automate, or prefer commands instead of the guided interface, there are bbox and kml subcommands (beta). Bounding box mode lets you fetch tiles for a given rectangle. KML mode expands points and routes into small areas around each location.

mt-downloader bbox SOUTH WEST NORTH EAST --max-zoom 12 -o ~/maps/out
mt-downloader kml /path/to/file.kml --max-zoom 12 -o ~/maps/out

For Thunderforest, set your API key once per session, or pass it with -k.

export THUNDERFOREST_API_KEY="your_key_here"

You can also preview a download without fetching data to see how many tiles you’ll get.

mt-downloader bbox 45.9668 5.7767 48.3068 8.7167 --max-zoom 12 --dry-run

That’s all you need. Launch the TUI, pick areas, and the downloader will handle the rest.

Contributing

I'll be very happy for any kind of contributions. Feel free to fork and make a PR, or open an issue. I'll try to maintain this project as long as I'll have enough spare time to do so.

This project is created and maintained with :heart: by tekk.

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

mt_downloader-1.2.7.tar.gz (36.5 kB view details)

Uploaded Source

Built Distribution

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

mt_downloader-1.2.7-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

Details for the file mt_downloader-1.2.7.tar.gz.

File metadata

  • Download URL: mt_downloader-1.2.7.tar.gz
  • Upload date:
  • Size: 36.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for mt_downloader-1.2.7.tar.gz
Algorithm Hash digest
SHA256 e5d8b469023a7038fb1fa979cf3843e3fb29a2b57cfcb00accf988a2a6f1666a
MD5 6381aa1d4a9fe9f91898a02fc538011e
BLAKE2b-256 4e4f6112ca1e79d33a852f39f9bdb9dcdb834e865085623edd09650962a6108a

See more details on using hashes here.

File details

Details for the file mt_downloader-1.2.7-py3-none-any.whl.

File metadata

  • Download URL: mt_downloader-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 25.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for mt_downloader-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b015f477d51734e84c796f2a09d7c1f22aed04de2a04906b72e3b30b8f9eecfa
MD5 fd11ab72d96b92fecddd26a4c79c54a6
BLAKE2b-256 b43340352be180e0ecab67e4358f0f95b978dce2d81cd86a477988f11c38def2

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