Package: npyosmium
# npyosmiumFork of [pyosmium](https://github.com/osmcode/pyosmium), including (only one for the time being) efficient numpy interface.# pyosmiumProvides Python bindings for the [Libosmium](https://github.com/osmcode/libosmium) C++
library, a library for working with OpenStreetMap data in a fast and flexible
manner.[![Github Actions Build Status](https://github.com/agrenott/npyosmium/workflows/CI/badge.svg)](https://github.com/agrenott/nyosmium/actions?query=workflow%3ACI)
[![PyPI version](https://badge.fury.io/py/npyosmium.svg)](https://badge.fury.io/py/npyosmium)## Installationnpyosmium works with Python >= 3.8. Pypy is known to not work.### Using PipThe recommended way to install npyosmium is via pip:pip install npyosmiumWe provide binary wheels for Linux and Windows 64 for all actively
maintained Python versions.For other versions, a source wheel is provided. Make sure to install all
external dependencies first. On Debian/Ubuntu-like systems, the following
command installs all required packages:sudo apt-get install build-essential cmake libboost-devlibexpat1-dev zlib1g-dev libbz2-dev### Installing from source#### Prerequisitesnpyosmium has the following dependencies:[libosmium](https://github.com/osmcode/libosmium) >= 2.16.0[protozero](https://github.com/mapbox/protozero)[cmake](https://cmake.org/)[Pybind11](https://github.com/pybind/pybind11) >= 2.2[expat](https://libexpat.github.io/)[libz](https://www.zlib.net/)[libbz2](https://www.sourceware.org/bzip2/)[Boost](https://www.boost.org/) variant and iterator >= 1.41[Python Requests](https://docs.python-requests.org/en/master/)Python setuptoolsa recent C++ compiler (Clang 3.4+, GCC 4.8+)### Compiling from SourceGet the latest versions of libosmium, protozero and pybind11. It is
recommended that you put them in a subdirectorycontrib. You can also
set custom locations withLIBOSMIUM_PREFIX,PROTOZERO_PREFIXandPYBIND11_PREFIXrespectively.` git clone--quiet--depth1https://github.com/osmcode/libosmium.gitcontrib/libosmium git clone--quiet--depth1https://github.com/mapbox/protozero.gitcontrib/protozero git clone--quiethttps://github.com/pybind/pybind11.gitcontrib/pybind11 `To use a custom boost installation, setBOOST_PREFIX.To compile the bindings during development, you can use
[build](https://pypa-build.readthedocs.io/en/stable/).
On Debian/Ubuntu-like systems, installpython3-build, then
run:python3 -m build -wTo compile and install the bindings, runpip install [–user] .## ExamplesTheexampledirectory contains small examples on how to use the library.
They are mostly ports of the examples in Libosmium and osmium-contrib.## TestingThere 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 Pythonpytestmodule. On Debian/Ubuntu install the packagepython3-pytest.The suite can be run with:pytest test## DocumentationTo build the documentation you need [Sphinx](http://sphinx-doc.org/)
and the [autoprogram extension](https://pythonhosted.org/sphinxcontrib-autoprogram/)
On Debian/Ubuntu installpython-sphinx sphinxcontrib-autoprogramorpython3-sphinx python3-sphinxcontrib.autoprogram.First compile the bindings as described above and then run:cd doc
make htmlFor building the man pages for the tools run:cd doc
make man## Bugs and QuestionsIf you find bugs or have feature requests, please report those in the
[github issue tracker](https://github.com/agrenott/npyosmium/issues/).For general questions about using pyosmium you can use the
[OSM development mailing list](https://lists.openstreetmap.org/listinfo/dev)
or ask on [OSM help](https://help.openstreetmap.org/).## Licensenpyosmium is available under the BSD 2-Clause License. See LICENSE.TXT.## AuthorsSarah Hoffmann (lonvia@denofr.de), Aurélien Grenotton (agrenott@gmail.com)