Skip to main content

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-themes to see them all.

📜 License

Distributed under the MIT License. See LICENSE for more information.


Created with ❤️ by Anton Vice (a1996nton@gmail.com)

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

map2poster-0.2.2.tar.gz (800.9 kB view details)

Uploaded Source

Built Distribution

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

map2poster-0.2.2-py3-none-any.whl (806.2 kB view details)

Uploaded Python 3

File details

Details for the file map2poster-0.2.2.tar.gz.

File metadata

  • Download URL: map2poster-0.2.2.tar.gz
  • Upload date:
  • Size: 800.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for map2poster-0.2.2.tar.gz
Algorithm Hash digest
SHA256 c3a178921dc5eb5fa82d3577da563a51908d897b115338d764471139a3db26fe
MD5 fba5196c6d0d62dbce87a95416cfd3c4
BLAKE2b-256 26314387c23fea9f399fa0e87697b6c8d783e97b7fd37b0bb72b49133bc140a2

See more details on using hashes here.

File details

Details for the file map2poster-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: map2poster-0.2.2-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

Hashes for map2poster-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2c38358349e07e2ad154056fc39d46031921fc7dd293b3f28bf2631b947b2844
MD5 524f04e4b2ff49bb9eb02c531023a934
BLAKE2b-256 f19b43c3582a1092bbe479d1b226e29b188c30425a3be6ae203513bf4ece6f1b

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