morecantile
Construct and use map tile grids (a.k.a TileMatrixSet / TMS).
What it is and what it does
Morecantile is a library for constructing and querying map tile grids (TileMatrixSets) that conform to the OGC Two Dimensional Tile Matrix Set specification version 2.0. It extends the concept of Web Mercator tile indexing to support arbitrary coordinate reference systems and tile grid definitions. The library provides a set of built-in grids covering common projections (Web Mercator, UTM, polar stereographic, and regional systems) and allows you to define custom grids.
You use it to convert between tile coordinates and geographic or projected bounds, retrieve bounding boxes for tiles in their native CRS or in geographic coordinates, and manage tile grid metadata. It's commonly used as a foundation for tile-based geospatial services, raster tile generation, and OGC-compliant tile APIs.
Use it for:
- Generate tile coordinates and bounds for raster data served in non-Web Mercator projections like UTM or polar stereographic.
- Build OGC-compliant tile servers that support multiple TileMatrixSet definitions.
- Convert between tile indices and geographic/projected coordinates for geospatial analysis.
- Integrate tile grid logic into map rendering or tile caching systems.
- Support regional mapping applications using country-specific or continent-specific tile grids.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Construct and work with map tile grids following the OGC TileMatrixSet specification, supporting Web Mercator and many other coordinate reference systems beyond the standard Web Mercator grid.
Yes. Morecantile is actively maintained, has no known vulnerabilities, low install friction, and permissive licensing. Install it if you need to work with map tiles in coordinate systems other than Web Mercator, or if you're building OGC-compliant geospatial services. The library is well-established in the geospatial Python ecosystem.
Install
morecantile on PyPI
pip
pip install morecantileuv
uv add morecantilepoetry
poetry add morecantileInstalling morecantile
Before you install
Low friction: pure Python wheel with four runtime dependencies (attrs, click, pydantic, pyproj). Actively maintained with recent releases; last commit 2026-08-09.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects alike.
Quickstart
pip install morecantile
import morecantile
tms = morecantile.tms.get("WebMercatorQuad")
print(tms.xy_bbox)
print(tms.bounds(morecantile.Tile(10, 10, 4)))
Requires Python 3.11 or later; pyproj dependency may require system PROJ libraries on some platforms.
Verify before relying
- Whether pyproj's system-level PROJ dependency adds meaningful install friction on Windows or macOS.
- Performance characteristics when working with large numbers of tiles or custom TileMatrixSet definitions.
Package facts
| License | MIT License Copyright (c) 2020 Development Seed Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — attrs, click, pydantic, pyproj |
| Maintenance | actively maintained — 191 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 667,109/month — #5,421 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: morecantile-7.0.3-py3-none-any.whl
Keywords: GIS, Map Tile, TMS, TileMatrixSet
Tags
More GIS packages
Shapely provides Python tools for creating,…
permissive · top 1,000 on PyPI
pyprojpyproj provides a Python interface to PROJ,…
permissive · top 1,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI
geopygeopy is a Python client for geocoding and…
permissive · top 5,000 on PyPI
pyogrioPyogrio provides fast, bulk-oriented read and…
permissive · top 5,000 on PyPI
h3h3 provides Python bindings to Uber's H3…
permissive · top 5,000 on PyPI
supermorecadoExtends morecantile with command-line and…
permissive · top 15,000 on PyPI
mercantileMercantile converts between geographic…
permissive · top 5,000 on PyPI
contextilyContextily retrieves tile-based map imagery…
permissive · top 15,000 on PyPI
pmtilesRead and write PMTiles archives, a single-file…
permissive · top 15,000 on PyPI
pyGeoTileConverts between geographic coordinate systems…
permissive · top 15,000 on PyPI
cogeo-mosaicCreates and manages mosaics of Cloud Optimized…
permissive · top 15,000 on PyPI
titiler-mosaicAdds MosaicJSON support to TiTiler, enabling…
permissive · top 15,000 on PyPI
titiler-extensionsProvides pluggable extension classes for…
permissive · top 15,000 on PyPI
rio-tilerrio-tiler reads raster data from local and…
permissive · top 15,000 on PyPI
GridDataFormatsGridDataFormats reads and writes n-dimensional…
copyleft · top 15,000 on PyPI