🗺️ map2poster
Create beautiful, minimalist map posters for any city in the world.
map2poster is a high-performance Python tool that transforms OpenStreetMap data into stunning, gallery-ready minimalist art. Whether you're capturing the grid of New York, the canals of Venice, or the organic sprawl of Tokyo, map2poster delivers premium-quality visualizations with customizable themes and professional typography.
✨ Features
- Global Coverage: Fetch street networks, water bodies, and green spaces for any location on Earth.
- Premium Themes: Choose from 17+ curated color palettes (Noir, Terracotta, Neon Cyberpunk, etc.).
- Vector Output: Export as PNG, SVG, or PDF for high-resolution printing.
- Precision Control: Custom radius, dimensions, and coordinate overrides.
- Multilingual Support: Supports native scripts (CJK, Arabic, etc.) with automatic Google Fonts integration.
- Fast & Efficient: Local caching and optimized rendering pipeline.
🚀 Installation
With uv (Recommended)
uv pip install map2poster
With pip
pip install map2poster
🛠️ Usage
Command Line Interface
Generate a poster instantly from your terminal:
map2poster --city "Paris" --country "France" --theme noir
| Option | Short | Description | Default |
|---|---|---|---|
--city |
-c |
City name for geocoding | Required |
--country |
-C |
Country name for geocoding | Required |
--theme |
-t |
Theme name (noir, terracotta, etc.) | terracotta |
--distance |
-d |
Map radius in meters | 18000 |
--format |
-f |
Output format (png, svg, pdf) | png |
--list-themes |
Show all available styles |
Python API
Integrate map generation into your own workflows:
from map2poster import CreatePoster, load_theme, get_coordinates
# 1. Resolve location
coords = get_coordinates("Tokyo", "Japan")
# 2. Pick a style
theme = load_theme("japanese_ink")
# 3. Create the art
CreatePoster(
city="Tokyo",
country="Japan",
point=coords,
dist=12000,
output_file="tokyo_poster.png",
output_format="png",
theme=theme
)
🎨 Themes
Capturing the mood of your city:
- Noir: Classic high-contrast black and white.
- Terracotta: Warm Mediterranean clay tones.
- Neon Cyberpunk: Electric pinks and cyans on deep indigo.
- Midnight Blue: Elegant navy and gold.
- Blueprint: Technical architectural aesthetic.
- ...and many more! Use
map2poster --list-themesto see them all.
📜 License
Distributed under the MIT License. See LICENSE for more information.
Created with ❤️ by Anton Vice (a1996nton@gmail.com)
Metadata
Release files for map2poster 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| map2poster-0.2.4.tar.gz | 800.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| map2poster-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / map2poster-0.2.4.tar.gz
| Download URL | map2poster-0.2.4.tar.gz |
|---|---|
| Size | 800.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2c83c267f21d6027976cb805c9c8a5931993567f311d56c2e11a50f03782b5e0
|
|
BLAKE2b-256 checksum How to use checksums |
c6972a98b5c96ff78783a7a7545963e4b986049f95cf24e3a32a3d46c5a90656
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / map2poster-0.2.4-py3-none-any.whl
| Download URL | map2poster-0.2.4-py3-none-any.whl |
|---|---|
| Size | 806.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
199e9a8f249f6745bd4af96dd4d001158997e6838f5a81cf69229c919f096b06
|
|
BLAKE2b-256 checksum How to use checksums |
7b024b47742eb4f69aa7e25aa2194dfe51fdab8c540207c856aedaa1afaae225
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|