Home
Softono

Python Overpy

Open source MIT Python
263
Stars
56
Forks
29
Issues
9
Watchers
3 months
Last Commit

 About Python Overpy

Python Wrapper to access the Overpass API

Platforms

Web Self-hosted

Languages

Python

Need Help Installing Python Overpy?

We provide expert installation service for this software. Our team will install, configure, and secure Python Overpy on your server. plans start at just $30.

Python Overpy

View on GitHub

Python Overpass Wrapper

A Python Wrapper to access the Overpass API.

Have a look at the documentation_ to find additional information.

.. image:: https://img.shields.io/pypi/v/overpy.svg :target: https://pypi.python.org/pypi/overpy/ :alt: Latest Version

.. image:: https://img.shields.io/pypi/l/overpy.svg :target: https://pypi.python.org/pypi/overpy/ :alt: License

.. image:: https://github.com/DinoTools/python-overpy/actions/workflows/ci.yml/badge.svg?branch=master :target: https://github.com/DinoTools/python-overpy/actions/workflows/ci.yml?query=branch%3Amaster+

.. image:: https://coveralls.io/repos/DinoTools/python-overpy/badge.png?branch=master :target: https://coveralls.io/r/DinoTools/python-overpy?branch=master

Features

  • Query Overpass API
  • Parse JSON and XML response data
  • Additional helper functions

Install

Requirements:

Supported Python versions:

  • Python >= 3.7
  • PyPy3

Install:

.. code-block:: console

$ pip install overpy

Examples

Additional examples can be found in the documentation_ and in the examples directory.

.. code-block:: python

import overpy

api = overpy.Overpass()

# fetch all ways and nodes
result = api.query("""
    way(50.746,7.154,50.748,7.157) ["highway"];
    (._;>;);
    out body;
    """)

for way in result.ways:
    print("Name: %s" % way.tags.get("name", "n/a"))
    print("  Highway: %s" % way.tags.get("highway", "n/a"))
    print("  Nodes:")
    for node in way.nodes:
        print("    Lat: %f, Lon: %f" % (node.lat, node.lon))

Helper


Helper methods are available to provide easy access to often used requests.

.. code-block:: python

    import overpy.helper

    # 3600062594 is the OSM id of Chemnitz and is the bounding box for the request
    street = overpy.helper.get_street(
        "Straße der Nationen",
        "3600062594"
    )

    # this finds an intersection between Straße der Nationen and Carolastraße in Chemnitz
    intersection = overpy.helper.get_intersection(
        "Straße der Nationen",
        "Carolastraße",
        "3600062594"
    )


License
-------

Published under the MIT (see LICENSE for more information)

.. _`documentation`: http://python-overpy.readthedocs.org/