Generate beautiful, minimalist map posters for any city in the world.
Project description
🗺️ 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)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file map2poster-0.2.4.tar.gz.
File metadata
- Download URL: map2poster-0.2.4.tar.gz
- Upload date:
- Size: 800.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c83c267f21d6027976cb805c9c8a5931993567f311d56c2e11a50f03782b5e0
|
|
| MD5 |
03bc51a5a2e9c76749ede901ab1d7eee
|
|
| BLAKE2b-256 |
c6972a98b5c96ff78783a7a7545963e4b986049f95cf24e3a32a3d46c5a90656
|
File details
Details for the file map2poster-0.2.4-py3-none-any.whl.
File metadata
- Download URL: map2poster-0.2.4-py3-none-any.whl
- Upload date:
- Size: 806.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
199e9a8f249f6745bd4af96dd4d001158997e6838f5a81cf69229c919f096b06
|
|
| MD5 |
f881c838f51de2ffaa21525cb6e12ea0
|
|
| BLAKE2b-256 |
7b024b47742eb4f69aa7e25aa2194dfe51fdab8c540207c856aedaa1afaae225
|