Skip to main content

PyDriosm

A Python package for downloading, reading and PostgreSQL-based I/O of OpenStreetMap data.

Python Version License ReadTheDocs Documentation GitHub Actions Workflow Status Codacy - Code Quality DOI

PyDriosm is an open-source Python package designed to simplify the acquisition and management of OpenStreetMap (OSM) data. It provides automated utilities for downloading and parsing data extracts from Geofabrik and BBBike in several popular formats, including Protocolbuffer Binary Format (PBF), Shapefiles and GeoPackage (GPKG).

Beyond data retrieval, the package integrates a robust I/O interface for PostgreSQL databases. This allows users to import parsed OSM data directly into a relational database, facilitating complex spatial querying and efficient data manipulation. By handling the complexities of source scraping, file parsing and schema mapping, pydriosm provides a streamlined workflow for researchers and developers working with large-scale geographic datasets.

Core features:

  • Automated downloads: Direct access to Geofabrik and BBBike subregion extracts.
  • Format support: Parse regional data of PBF, Shapefiles and GeoPackage files into standard Pandas DataFrames or GeoDataFrames.
  • PostgreSQL integration: Streamlined geometry I/O for efficient database storage.
  • Multi-region processing: Tools for merging regional data layers into unified datasets.

Installation

To install the latest release of pydriosm from PyPI via pip:

$ pip install --upgrade pydriosm

For more information, see the Installation.

Quick start

For a concise guide with practical examples, please check out the Quick Start tutorial, which demonstrates how to use pydriosm to download, parse and perform storage I/O operations on OSM data using a PostgreSQL database.

Documentation

The complete PyHelpers Documentation is available in [HTML] [PDF] formats.

It is hosted on ReadTheDocs and provides detailed examples, tutorials and comprehensive references to help users get the most out of pydriosm.

Cite as

Fu, Q. (2020). PyDriosm: An open-source tool for downloading, reading and PostgreSQL-based I/O of OpenStreetMap data. Zenodo. doi:10.5281/zenodo.4281194

@software{qian_fu_pydriosm_4281194,
  author    = {Fu, Qian},
  title     = {{PyDriosm: An open-source tool for downloading, reading and PostgreSQL-based I/O of OpenStreetMap data}},
  year      = {2020},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.4281194},
  license   = {GPLv3},
  url       = {https://github.com/mikeqfu/pydriosm}
}

(Please also refer to the export options from Zenodo to reference the specific version of pydriosm as appropriate.)

License

Acknowledgement

The development of pydriosm, including the example code that demonstrates how to use the package, heavily relies on freely available OpenStreetMap data. The author would like to express sincere gratitude to all the OpenStreetMap contributors for their invaluable contributions in making this data accessible to the community.

Metadata

Release files for pydriosm 2.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydriosm 2.4.0
File Size Uploaded
pydriosm-2.4.0.tar.gz 2.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydriosm 2.4.0
File Interpreter ABI Platform
pydriosm-2.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 4.3 MB

Release files / pydriosm-2.4.0.tar.gz

Download URL pydriosm-2.4.0.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
178efb89c9857386d7b71b0d769dcaa8e74a451d7818bb59508ef43ed98d4130
BLAKE2b-256 checksum
How to use checksums
37ee059b09091640b777656ccd594a484607dd68eb694d543c2e8a7150a4eb3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / pydriosm-2.4.0-py3-none-any.whl

Download URL pydriosm-2.4.0-py3-none-any.whl
Size 2.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ee5f03460a5c4552d93c7117caffb5daf5aea5ddd1203095dadaf3a199dd8349
BLAKE2b-256 checksum
How to use checksums
1871c81ec9de624396296aeba492868687db5364d05fa6df0d2388dc24275c1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

2.4.0 This release

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.17

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page