Skip to main content

Cython wrapper of osrm-backend to be used in Python

Project description

pyosrm

Cython wrapper of osrm-backend to be used in Python.

Installation

Installing via pip

You can install using pip:

pip install pyosrm

This method is available only for Linux, since there is no wheel built for MacOS or Windows.

Installing from source

First things first, osrm-backend needs to be installed.

To install osrm-backend, follow the instructions in the official repository. There is also a wiki tutorial for other platforms. Don't use Mason, otherwise you will get some nasty segfault errors on your python code.

Clone the repository and make sure Cython is installed. Then proceed to install locally via pip:

pip install .

Or, if you want to build inline:

python setup.py build_ext --inplace

Usage

It is most likely you will need to install osrm-backend first to pre-process the data, since this package does not provide the cli tools to do it yet. Follow the instructions in the project wiki to pre-process the data using the desired algorithm (CH or MLD).

To create a PyOSRM object, you need to pass the path to the pre-processed data, and the algorithm (default 'CH' or 'MLD').

import pyosrm
router = posrm.PyOSRM("tests/data/ch/monaco-latest.osrm")

Route

To use the Route API, you just need to pass a list of coordinate pairs in format [lon, lat]. The easiest way to get the result is by using the RouteResult.json method, which formats the data in a easily serializable dictionary like the original API result object.

from pyosrm import PyOSRM, Status
router = PyOSRM("tests/data/ch/monaco-latest.osrm", algorithm='CH')
result = router.route([[7.419758, 43.731142], [7.419505, 43.736825]])
if result.status == Status.Ok:
    print(result.json())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyosrm, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size pyosrm-0.0.2-cp35-cp35m-manylinux2014_x86_64.whl (1.4 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size pyosrm-0.0.2-cp36-cp36m-manylinux2014_x86_64.whl (1.4 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size pyosrm-0.0.2-cp37-cp37m-manylinux2014_x86_64.whl (1.4 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size pyosrm-0.0.2-cp38-cp38-manylinux2014_x86_64.whl (1.4 MB) File type Wheel Python version cp38 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page