Skip to main content

An open-source tool for downloading Overture Maps data with quality of life features

Project description


Generated using DALL·E 3 model with this prompt: Cute stylized conducting virtuoso using a paper map as music sheet. White background, minimalistic, vector graphics, clean background, encased in a circle. In navy and gold colours. Logo for a python library, should work well as small icon.

GitHub Checks GitHub Workflow Status - DEV GitHub Workflow Status - PROD pre-commit.ci status CodeFactor Grade Codecov Package version Supported Python versions PyPI - Downloads

OvertureMaestro

An open-source tool for reading OvertureMaps data with multiprocessing and additional Quality-of-Life features.

What is OvertureMaestro 🎼🌍?

  • Scalable reader for OvertureMaps data.
  • Is based on top of PyArrow[^1].
  • Saves files in the GeoParquet[^2] file format for easier integration with modern cloud stacks.
  • Filters data based on geometry.
  • Can filter data using PyArrow expressions.
  • Utilizes multiprocessing for faster data download.
  • Utilizes dedicated index of all features in the Overture Maps dataset to download only specific parts based on the geometry filter.
  • Utilizes caching to reduce repeatable computations.
  • Can be used as Python module as well as a beautiful CLI based on Typer[^3].

[^1]: PyArrow Website [^2]: GeoParquet data format [^3]: Typer docs

Installing

As pure Python module

pip install overturemaestro

With beautiful CLI

pip install overturemaestro[cli]

Required Python version?

OvertureMaestro supports Python >= 3.9

Dependencies

Required:

  • overturemaps (>=0.8.0): Reusing oficial CLI library with dedicated schema related functions

  • pyarrow (>=16.0.0): For OvertureMaps GeoParquet dataset wrangling

  • geopandas (>=1.0): For returning GeoDataFrames and reading Geo files

  • shapely (>=2.0): For parsing WKT and GeoJSON strings and filtering data with STRIndex

  • geoarrow-rust-core (>=0.3.0): For transforming Arrow data to Shapely objects

  • pooch (>=1.6.0): For downloading precalculated dataset indexes

  • rich (>=12.0.0): For showing progress bars

  • fsspec (>=2021.04.0) & aiohttp (>=3.8.0): For accessing AWS S3 datasets in PyArrow and GitHub files for precalculated datasets

  • geopy (>=2.0.0): For geocoding of strings

Optional:

  • typer[all] (>=0.9.0) (click, colorama, rich, shellingham): Required in CLI

  • h3 (>=4.0.0b1): For reading H3 strings. Required in CLI

  • s2 (>=0.1.9): For transforming S2 indexes into geometries. Required in CLI

  • python-geohash (>=0.8): For transforming GeoHash indexes into geometries. Required in CLI

  • scikit-learn (>=1.0): For clustering geometries when generating release index. Required for generating release index

  • polars (>=0.20.4): For calculating total bounding box from many bounding boxes. Required for generating release index

Usage

TODO

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

overturemaestro-0.1.0.tar.gz (43.0 kB view details)

Uploaded Source

Built Distribution

overturemaestro-0.1.0-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file overturemaestro-0.1.0.tar.gz.

File metadata

  • Download URL: overturemaestro-0.1.0.tar.gz
  • Upload date:
  • Size: 43.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.19.3 CPython/3.12.7 Linux/6.5.0-1025-azure

File hashes

Hashes for overturemaestro-0.1.0.tar.gz
Algorithm Hash digest
SHA256 14175c0a4748298518239ea253f30c4f957e5fae01ab7b1244cbfcfcd08b3a29
MD5 2f7fe9d4969ad2b890a80fc48aada874
BLAKE2b-256 88fb50bad09356e5556faa437957dd63317dacfe0108225ef062855c9dc736f1

See more details on using hashes here.

File details

Details for the file overturemaestro-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: overturemaestro-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.19.3 CPython/3.12.7 Linux/6.5.0-1025-azure

File hashes

Hashes for overturemaestro-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33d4f0eb6effbee286e375d1433819d63ff26da3ea5fa1508e3d838eb6a0f39b
MD5 208f3f96bb75e5580cebc5215821d11e
BLAKE2b-256 fc79c6223cdadbb89366b14aba544e1e9c2d4f03de47e0c772b86e8e999218a0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page