Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Urban & Regional Planning
  3. Prettymaps

Prettymaps

AGPL-3.0Jupyter Notebookv1.4.2

A minimal Python library to draw customized, stylized maps from OpenStreetMap data using osmnx, matplotlib, and shapely.

Visit WebsiteGitHubGitHub
12.3k stars600 forks0 contributors

What is Prettymaps?

prettymaps is a Python library that generates stylized maps from OpenStreetMap data. It fetches geographic features like buildings, streets, and water bodies, and applies customizable visual styles using matplotlib, allowing users to create artistic and informative map visualizations with minimal code.

Target Audience

Python developers, data visualization enthusiasts, generative artists, and designers who want to create custom map illustrations for projects, presentations, or artistic works.

Value Proposition

It simplifies the process of fetching and styling OpenStreetMap data into a single, intuitive Python library, offering extensive customization through layers and presets without requiring deep GIS expertise.

Overview

Draw pretty maps from OpenStreetMap data! Built with osmnx +matplotlib + shapely

Use Cases

Best For

  • Creating artistic map illustrations for print or digital media
  • Generating custom map styles for data visualization projects
  • Producing pen plotter-compatible SVG maps for physical art
  • Visualizing geographic areas with tailored color palettes and layer compositions
  • Teaching geospatial data concepts with visually engaging examples
  • Prototyping map designs for applications or presentations

Not Ideal For

  • Projects requiring real-time or interactive map displays with zoom/pan functionality
  • High-performance geospatial analysis needing optimized data processing and querying
  • Teams wanting drop-in, pre-styled maps without writing Python code for customization
  • Applications needing frequent, up-to-the-second map data updates due to OSM fetching delays

Pros & Cons

Pros

Rich Customization Options

Allows granular control over layers and styles using OSM tags and matplotlib parameters, as shown in the extensive layer and style dictionary examples in the README.

Preset System for Reusability

Enables saving and sharing visual styles via JSON presets (e.g., 'minimal', 'barcelona'), facilitating consistent designs and quick experimentation across projects.

Pen Plotter Compatibility

Offers a dedicated 'plotter' mode that exports SVG files compatible with physical pen plotters using vsketch integration, ideal for generative art and physical media.

Direct GeoDataFrame Access

Provides access to underlying GeoDataFrames for each layer, allowing for additional geographic analysis or custom visualizations beyond the built-in plotting.

Cons

Slow Data Fetching

Fetching geodataframes from OpenStreetMap can take several seconds (e.g., 14+ seconds in examples), making it impractical for dynamic or real-time applications.

Complex Customization Setup

Requires understanding of both OSM data structure (tags) and matplotlib styling, with no GUI, leading to a steep learning curve for non-technical users.

Static Output Limitations

Generates only static images or SVGs with no built-in interactivity, restricting use in web-based or interactive mapping scenarios without additional tools.

Heavy Dependency Chain

Relies on multiple large libraries (osmnx, matplotlib, shapely, vsketch), increasing setup complexity and potential version conflicts in production environments.

Frequently Asked Questions

Quick Stats

Stars12,306
Forks600
Contributors0
Open Issues52
Last commit10 months ago
CreatedSince 2021

Tags

#cartography#generative-art#matplotlib#shapely#geospatial#map-styling#python#jupyter-notebook#data-visualization#maps#openstreetmap

Built With

s
shapely
o
osmnx
P
Python
S
Streamlit
m
matplotlib

Links & Resources

Website

Included in

Urban & Regional Planning332
Auto-fetched 5 hours ago

Related Projects

FoliumFolium

Python Data. Leaflet.js Maps.

Stars7,387
Forks2,260
Last commit18 hours ago
osmnxosmnx

Download, model, analyze, and visualize street networks and other geospatial features from OpenStreetMap.

Stars5,785
Forks882
Last commit2 days ago
geemapgeemap

A Python package for interactive geospatial analysis and visualization with Google Earth Engine.

Stars3,994
Forks1,147
Last commit2 days ago
LeafmapLeafmap

A Python package for interactive mapping and geospatial analysis with minimal coding in a Jupyter environment

Stars3,734
Forks465
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub