Provides Python bindings for the Libosmium C++ library, a library for working with OpenStreetMap data in a fast and flexible manner.
Python >= 2.7 is supported but a version >= 3.3 is strongly recommended.
You'll need Python setuptools. On Debian/Ubuntu install python-setuptools
.
pyosmium uses Boost.Python
to create the bindings. On Debian/Ubuntu install libboost-python-dev
. OS X run
brew install boost-python
or brew install boost-python --with-python3
depending on which python version you want to use. You can also (re)install
both.
Other dependencies are expat, libz, libbz2 and Boost iterator. See Libosmium dependencies for required packages for various distributions.
You have to compile with the same compiler version python is compiled with on your system, otherwise it might not work.
To compile the bindings, run
python setup.py build
To compile and install the bindings, run
python setup.py install --user
to install only for your user, or
python setup.py install
to install globally.
The setup script uses per default either a globally installed libosmium or
looks for the source in ../libosmium
. You can set a custom location with
LIBOSMIUM_PREFIX
.
To use a custom boost installation, set BOOST_PREFIX
.
The example
directory contains small examples on how to use the library.
They are mostly ports of the examples in Libosmium and osmium-contrib.
There is a small test suite in the test directory. This provides regression test for the python bindings, it is not meant to be a test suite for Libosmium.
You'll need the Python nose
module. On Debian/Ubuntu install the package
python-nose
. For Python2 mock
is required as well (package python-mock
).
The suite can be run with:
cd test
python run_tests.py
To build the documentation you need Sphinx
and the autoprogram extension
On Debian/Ubuntu install python-sphinx sphinxcontrib-autoprogram
or python3-sphinx python3-sphinxcontrib.autoprogram
.
First compile the bindings as described above and then run:
cd doc
make html
For building the man pages for the tools run:
cd doc
make man
If you find bugs or have feature requests, please report those in the github issue tracker.
For general questions about using pyosmium you can use the OSM development mailing list or ask on OSM help.
Pyosmium is available under the BSD 2-Clause License. See LICENSE.TXT.
Sarah Hoffmann ([email protected])