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.4.tar.gz (800.7 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.4-py3-none-any.whl (806.2 kB view details)

Uploaded Python 3

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

Hashes for map2poster-0.2.4.tar.gz
Algorithm Hash digest
SHA256 2c83c267f21d6027976cb805c9c8a5931993567f311d56c2e11a50f03782b5e0
MD5 03bc51a5a2e9c76749ede901ab1d7eee
BLAKE2b-256 c6972a98b5c96ff78783a7a7545963e4b986049f95cf24e3a32a3d46c5a90656

See more details on using hashes here.

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

Hashes for map2poster-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 199e9a8f249f6745bd4af96dd4d001158997e6838f5a81cf69229c919f096b06
MD5 f881c838f51de2ffaa21525cb6e12ea0
BLAKE2b-256 7b024b47742eb4f69aa7e25aa2194dfe51fdab8c540207c856aedaa1afaae225

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