{"id":15058940,"url":"https://github.com/osmcode/pyosmium","last_synced_at":"2025-05-14T06:14:28.117Z","repository":{"id":21045551,"uuid":"24344280","full_name":"osmcode/pyosmium","owner":"osmcode","description":"Python bindings for libosmium","archived":false,"fork":false,"pushed_at":"2025-03-10T09:28:07.000Z","size":7428,"stargazers_count":342,"open_issues_count":14,"forks_count":66,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-04T14:02:54.706Z","etag":null,"topics":["openstreetmap","python"],"latest_commit_sha":null,"homepage":"https://osmcode.org/pyosmium","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osmcode.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.TXT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"lonvia","custom":"https://osmcode.org/sponsors.html"}},"created_at":"2014-09-22T20:25:42.000Z","updated_at":"2025-03-28T00:04:24.000Z","dependencies_parsed_at":"2023-02-12T08:45:53.478Z","dependency_job_id":"ff237728-60da-46ac-b3b9-7c05a916d58a","html_url":"https://github.com/osmcode/pyosmium","commit_stats":{"total_commits":610,"total_committers":29,"mean_commits":21.03448275862069,"dds":"0.20163934426229513","last_synced_commit":"f9b9f2ccdc969f16f6640878926bef3c855f5cc8"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmcode%2Fpyosmium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmcode%2Fpyosmium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmcode%2Fpyosmium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmcode%2Fpyosmium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osmcode","download_url":"https://codeload.github.com/osmcode/pyosmium/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248469101,"owners_count":21108958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openstreetmap","python"],"created_at":"2024-09-24T22:33:51.438Z","updated_at":"2025-04-11T19:44:43.204Z","avatar_url":"https://github.com/osmcode.png","language":"Python","readme":"# pyosmium\n\nProvides Python bindings for the [Libosmium](https://github.com/osmcode/libosmium) C++\nlibrary, a library for working with OpenStreetMap data in a fast and flexible\nmanner.\n\n[![Github Actions Build Status](https://github.com/osmcode/pyosmium/workflows/CI/badge.svg)](https://github.com/osmcode/pyosmium/actions?query=workflow%3ACI)\n\n## Installation\n\nPyosmium works with Python \u003e= 3.7. Pypy is known to not work.\n\n### Using Pip\n\nThe recommended way to install pyosmium is via pip:\n\n    pip install osmium\n\nWe provide binary wheels for Linux and Windows 64 for all actively\nmaintained Python versions.\n\nFor other versions, a source wheel is provided. Make sure to install all\nexternal dependencies first. On Debian/Ubuntu-like systems, the following\ncommand installs all required packages:\n\n    sudo apt-get install build-essential cmake libboost-dev \\\n                         libexpat1-dev zlib1g-dev libbz2-dev\n\n\n### Installing from source\n\n#### Prerequisites\n\npyosmium has the following dependencies:\n\n * [libosmium](https://github.com/osmcode/libosmium) \u003e= 2.16.0\n * [protozero](https://github.com/mapbox/protozero)\n * [cmake](https://cmake.org/)\n * [Pybind11](https://github.com/pybind/pybind11) \u003e= 2.7\n * [expat](https://libexpat.github.io/)\n * [libz](https://www.zlib.net/)\n * [libbz2](https://www.sourceware.org/bzip2/)\n * [Boost](https://www.boost.org/) variant and iterator \u003e= 1.41\n * [Python Requests](https://docs.python-requests.org/)\n * Python setuptools\n * a C++17-compatible compiler (Clang 13+, GCC 10+ are supported)\n\n### Compiling from Source\n\nGet the latest versions of libosmium, protozero and pybind11 source code. It is\nrecommended that you put them in a subdirectory `contrib`. \n\nYou can do this by cloning their repositories into that location.\n\nFollowing commands should achieve this:\n\n```\nmkdir contrib\ncd contrib\ngit clone https://github.com/osmcode/libosmium.git\ngit clone https://github.com/mapbox/protozero.git\ngit clone https://github.com/pybind/pybind11.git\n```\n\nYou can also set custom locations with `LIBOSMIUM_PREFIX`, `PROTOZERO_PREFIX` and\n`PYBIND11_PREFIX` respectively.\n\nTo use a custom boost installation, set `BOOST_PREFIX`.\n\nTo compile the bindings during development, you can use\n[build](https://pypa-build.readthedocs.io/en/stable/).\nOn Debian/Ubuntu-like systems, install `python3-build`, then\nrun:\n\n    python3 -m build -w\n\nTo compile and install the bindings, run\n\n    pip install .\n\n\n## Examples\n\nThe `example` directory contains small examples on how to use the library.\nThey are mostly ports of the examples in Libosmium and osmium-contrib.\n\n\n## Testing\n\nThere is a small test suite in the test directory. This provides unit\ntest for the python bindings, it is not meant to be a test suite for Libosmium.\n\nTesting requires `pytest` and `pytest-httpserver`. On Debian/Ubuntu install\nthe dependencies with:\n\n    sudo apt-get install python3-pytest python3-pytest-httpserver\n\nor install them with pip using:\n\n    pip install osmium[tests]\n\nThe test suite can be run with:\n\n    pytest test\n\n\n## Documentation\n\nTo build the documentation you need [mkdocs](https://www.mkdocs.org/)\nwith the [mkdocstrings](https://mkdocstrings.github.io/)\nand [jupyter](https://github.com/danielfrg/mkdocs-jupyter) extensions\nand the [material theme](https://squidfunk.github.io/mkdocs-material/).\n\nAll necessary packages can be installed via pip:\n\n    pip install osmium[docs]\n\nTo build the documentation run:\n\n    mkdocs build\n\nor to few it locally, you can use:\n\n    mkdocs serve\n\nFor building the man pages for the tools run:\n\n    cd docs\n    make man\n\nThe man pages can be found in docs/man.\n\n## Bugs and Questions\n\nIf you find bugs or have feature requests, please report those in the\n[github issue tracker](https://github.com/osmcode/pyosmium/issues/).\n\nFor general questions about using pyosmium you can use the\n[OSM development mailing list](https://lists.openstreetmap.org/listinfo/dev)\nor ask on [OSM help](https://help.openstreetmap.org/).\n\n## License\n\nPyosmium is available under the BSD 2-Clause License. See LICENSE.TXT.\n\n## Authors\n\nSarah Hoffmann (lonvia@denofr.de)\n","funding_links":["https://github.com/sponsors/lonvia","https://osmcode.org/sponsors.html"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmcode%2Fpyosmium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosmcode%2Fpyosmium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmcode%2Fpyosmium/lists"}