mt-downloader


Namemt-downloader JSON
Version 1.2.9 PyPI version JSON
download
home_pageNone
SummaryFast interactive Meshtastic and MeshCore maps downloader
upload_time2025-10-09 08:39:47
maintainerNone
docs_urlNone
authorPeter Javorsky, @tekk
requires_python>=3.9
licenseNone
keywords maps tiles meshtastic meshcore downloader
VCS
bugtrack_url
requirements aiohttp tqdm fastkml uvloop windows-curses requests aiofiles questionary lxml geonamescache pytest-asyncio
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://github.com/tekk/map-tiles-downloader/actions/workflows/ci.yml/badge.svg)](https://github.com/tekk/map-tiles-downloader/actions/workflows/ci.yml)
[![Release](https://github.com/tekk/map-tiles-downloader/actions/workflows/release.yml/badge.svg)](https://github.com/tekk/map-tiles-downloader/actions/workflows/release.yml)
[![PyPI - Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/)
[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](LICENSE)

![Map Tiles Downloader - screenshot](https://github.com/tekk/map-tiles-downloader/blob/7794a00bf113241f3260ea58a8ce6ba606483754/img/screenshot.png)

## Install with pipx (recommended)

pipx installs Python apps into isolated environments and exposes the commands on your PATH.

#### macOS (Homebrew)

```bash
brew install pipx
pipx ensurepath
exec zsh
pipx install mt-downloader
mt-downloader  # or: map-tiles-downloader
```

#### Windows (winget)

In PowerShell:

```powershell
winget install --id=Python.Pipx -e
pipx ensurepath
# Close and reopen the terminal (or run: $env:Path = [System.Environment]::GetEnvironmentVariable('Path','User') + ';' + [System.Environment]::GetEnvironmentVariable('Path','Machine'))
pipx install mt-downloader
mt-downloader  # or: map-tiles-downloader
```

## Install from PyPI

```bash
pip install mt-downloader
```

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

```bash
pip install --user mt-downloader
```

Then run:
```bash
mt-downloader
```

## Pre-compiled binaries

Download the installer/pre-compiled binaries from the Github [Releases](https://github.com/tekk/map-tiles-downloader/releases) page.

## Source code

The source code lives in the GitHub repository: [tekk/map-tiles-downloader](https://github.com/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

```bash
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:

```powershell
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.

```bash
mt-downloader bbox SOUTH WEST NORTH EAST --max-zoom 12 -o ~/maps/out
```

```bash
mt-downloader kml /path/to/file.kml --max-zoom 12 -o ~/maps/out
```

For [Thunderforest](https://www.thunderforest.com/docs/apikeys/), set your API key once per session, or pass it with `-k`.

```bash
export THUNDERFOREST_API_KEY="your_key_here"
```

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

```bash
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](https://github.com/tekk).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mt-downloader",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "maps, tiles, meshtastic, meshcore, downloader",
    "author": "Peter Javorsky, @tekk",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a5/3f/704a157e128340c2bb6d5baca8e11fa0ecc075e4edba89028b531160c8b6/mt_downloader-1.2.9.tar.gz",
    "platform": null,
    "description": "# Map Tiles Downloader\n\n## For Meshtastic & MeshCore\n\nThis 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.\n\n[![CI](https://github.com/tekk/map-tiles-downloader/actions/workflows/ci.yml/badge.svg)](https://github.com/tekk/map-tiles-downloader/actions/workflows/ci.yml)\n[![Release](https://github.com/tekk/map-tiles-downloader/actions/workflows/release.yml/badge.svg)](https://github.com/tekk/map-tiles-downloader/actions/workflows/release.yml)\n[![PyPI - Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/)\n[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](LICENSE)\n\n![Map Tiles Downloader - screenshot](https://github.com/tekk/map-tiles-downloader/blob/7794a00bf113241f3260ea58a8ce6ba606483754/img/screenshot.png)\n\n## Install with pipx (recommended)\n\npipx installs Python apps into isolated environments and exposes the commands on your PATH.\n\n#### macOS (Homebrew)\n\n```bash\nbrew install pipx\npipx ensurepath\nexec zsh\npipx install mt-downloader\nmt-downloader  # or: map-tiles-downloader\n```\n\n#### Windows (winget)\n\nIn PowerShell:\n\n```powershell\nwinget install --id=Python.Pipx -e\npipx ensurepath\n# Close and reopen the terminal (or run: $env:Path = [System.Environment]::GetEnvironmentVariable('Path','User') + ';' + [System.Environment]::GetEnvironmentVariable('Path','Machine'))\npipx install mt-downloader\nmt-downloader  # or: map-tiles-downloader\n```\n\n## Install from PyPI\n\n```bash\npip install mt-downloader\n```\n\nIf you get a warning about \"breaking system packages\", use:\n\n```bash\npip install --user mt-downloader\n```\n\nThen run:\n```bash\nmt-downloader\n```\n\n## Pre-compiled binaries\n\nDownload the installer/pre-compiled binaries from the Github [Releases](https://github.com/tekk/map-tiles-downloader/releases) page.\n\n## Source code\n\nThe source code lives in the GitHub repository: [tekk/map-tiles-downloader](https://github.com/tekk/map-tiles-downloader).\n\n### If you want to compile yourself\n\nFirst, 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\u2019ll be asked for it.\n\n#### MacOS / Linux\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\npip install . # note the dot at the end of command\nmt-downloader\n```\n\n#### Windows\n\nIn Powershell in Windows Terminal (not cmd), run:\n\n```powershell\npython -m venv .venv\n.\\.venv\\Scripts\\Activate.ps1\npip install -r .\\requirements.txt\npip install . # note the dot at the end of command\nmt-downloader\n```\n\nIf 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.\n\n```bash\nmt-downloader bbox SOUTH WEST NORTH EAST --max-zoom 12 -o ~/maps/out\n```\n\n```bash\nmt-downloader kml /path/to/file.kml --max-zoom 12 -o ~/maps/out\n```\n\nFor [Thunderforest](https://www.thunderforest.com/docs/apikeys/), set your API key once per session, or pass it with `-k`.\n\n```bash\nexport THUNDERFOREST_API_KEY=\"your_key_here\"\n```\n\nYou can also preview a download without fetching data to see how many tiles you\u2019ll get.\n\n```bash\nmt-downloader bbox 45.9668 5.7767 48.3068 8.7167 --max-zoom 12 --dry-run\n```\n\nThat\u2019s all you need. Launch the TUI, pick areas, and the downloader will handle the rest.\n\n## Contributing\n\nI'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.\n\nThis project is created and maintained with :heart: by [tekk](https://github.com/tekk).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Fast interactive Meshtastic and MeshCore maps downloader",
    "version": "1.2.9",
    "project_urls": {
        "Homepage": "https://github.com/tekk/map-tiles-downloader",
        "Repository": "https://github.com/tekk/map-tiles-downloader.git"
    },
    "split_keywords": [
        "maps",
        " tiles",
        " meshtastic",
        " meshcore",
        " downloader"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e4a4244e0ae12dedc5f9fe87ea0e70b817d8448c7c2d82d606832f5cf808958d",
                "md5": "e6a0e39ad7259886e7aef75ccfb81d10",
                "sha256": "b3b42f44879dd547a9f06888723298e797796260d49979f26176b45c8b9a59cc"
            },
            "downloads": -1,
            "filename": "mt_downloader-1.2.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e6a0e39ad7259886e7aef75ccfb81d10",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 26053,
            "upload_time": "2025-10-09T08:39:44",
            "upload_time_iso_8601": "2025-10-09T08:39:44.545188Z",
            "url": "https://files.pythonhosted.org/packages/e4/a4/244e0ae12dedc5f9fe87ea0e70b817d8448c7c2d82d606832f5cf808958d/mt_downloader-1.2.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a53f704a157e128340c2bb6d5baca8e11fa0ecc075e4edba89028b531160c8b6",
                "md5": "8e5ddaed4573f4bcda1eb988924621e1",
                "sha256": "7b8ec1590e83825e10bd61bd5e9e7c5d012bbbe777f3497ca9b0911dda3e1999"
            },
            "downloads": -1,
            "filename": "mt_downloader-1.2.9.tar.gz",
            "has_sig": false,
            "md5_digest": "8e5ddaed4573f4bcda1eb988924621e1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 36917,
            "upload_time": "2025-10-09T08:39:47",
            "upload_time_iso_8601": "2025-10-09T08:39:47.157173Z",
            "url": "https://files.pythonhosted.org/packages/a5/3f/704a157e128340c2bb6d5baca8e11fa0ecc075e4edba89028b531160c8b6/mt_downloader-1.2.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-09 08:39:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tekk",
    "github_project": "map-tiles-downloader",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    ">=",
                    "3.9"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.65"
                ]
            ]
        },
        {
            "name": "fastkml",
            "specs": [
                [
                    ">=",
                    "0.12"
                ]
            ]
        },
        {
            "name": "uvloop",
            "specs": []
        },
        {
            "name": "windows-curses",
            "specs": []
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.31"
                ]
            ]
        },
        {
            "name": "aiofiles",
            "specs": [
                [
                    ">=",
                    "23.1"
                ]
            ]
        },
        {
            "name": "questionary",
            "specs": [
                [
                    ">=",
                    "2.0"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    ">=",
                    "5.0"
                ]
            ]
        },
        {
            "name": "geonamescache",
            "specs": [
                [
                    ">=",
                    "2.0"
                ]
            ]
        },
        {
            "name": "pytest-asyncio",
            "specs": [
                [
                    ">=",
                    "0.23"
                ]
            ]
        }
    ],
    "lcname": "mt-downloader"
}
        
Elapsed time: 2.70253s