Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 4 additions & 30 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,6 @@ jobs:
- name: Typecheck package
run: mypy src

- name: Set up Python 3.7
uses: actions/setup-python@v5
with:
python-version: 3.7

- name: Build package 3.7
run: |
pip install build wheel
python -m build
shell: bash

- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -93,7 +82,6 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: "3.13"
allow-prereleases: true

- name: Build package 3.13
run: |
Expand All @@ -114,7 +102,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12", "3.13"]
python-version: [3.8, 3.9, "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -159,14 +147,14 @@ jobs:
cc: gcc-10
cxx: g++-10
platform: ubuntu-22.04
python: 3.7
python: 3.8
deps: release
flavour: linux
- compiler: clang-old
cc: clang-13
cxx: clang++-13
platform: ubuntu-22.04
python: 3.7
python: 3.8
deps: release
flavour: linux
- compiler: gcc
Expand Down Expand Up @@ -268,19 +256,6 @@ jobs:
run: vcpkg install bzip2:x64-windows expat:x64-windows zlib:x64-windows boost-variant:x64-windows boost-iterator:x64-windows lz4:x86-windows
shell: bash

- name: Set up Python 3.7
uses: actions/setup-python@v5
with:
python-version: 3.7

- name: Build package 3.7
run: |
pip install build wheel
python -m build
shell: bash
env:
CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake

- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -350,7 +325,6 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: "3.13"
allow-prereleases: true

- name: Build package 3.13
run: |
Expand All @@ -373,7 +347,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]

env:
PYTEST_ADDOPTS: ${{ matrix.test-args }}
Expand Down
17 changes: 7 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.8.0)
project(pyosmium VERSION 3.6.0)
cmake_minimum_required(VERSION 3.15.0)
project(pyosmium VERSION 4.0.2)

option(WITH_LZ4 "Build with lz4 support for PBF files" ON)

Expand Down Expand Up @@ -29,22 +29,19 @@ if(NOT "${CMAKE_CXX_STANDARD}")
set(CMAKE_CXX_STANDARD 17)
endif()

# required for pybind11 < 2.6
if(MSVC)
set(PYBIND11_CPP_STANDARD /std=c++${CMAKE_CXX_STANDARD})
else()
set(PYBIND11_CPP_STANDARD -std=c++${CMAKE_CXX_STANDARD})
endif()
set(PYBIND11_CPP_STANDARD -std=c++${CMAKE_CXX_STANDARD})

message(STATUS "Building in C++${CMAKE_CXX_STANDARD} mode")

find_package(Python COMPONENTS Interpreter Development)

if(PYBIND11_PREFIX)
add_subdirectory(${PYBIND11_PREFIX} contrib/pybind11)
else()
find_package(pybind11 2.7 REQUIRED)
find_package(pybind11 2.9 REQUIRED)
endif()

find_package(Boost 1.41 REQUIRED COMPONENTS)
find_package(Boost 1.70 REQUIRED COMPONENTS)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})

function(set_module_output module outdir)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ manner.

## Installation

Pyosmium works with Python >= 3.7. Pypy is known to not work.
Pyosmium works with Python >= 3.8. Pypy is known to not work.

### Using Pip

Expand Down Expand Up @@ -40,7 +40,7 @@ pyosmium has the following dependencies:
* [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
* [Boost](https://www.boost.org/) variant and iterator >= 1.70
* [Python Requests](https://docs.python-requests.org/)
* Python setuptools
* a C++17-compatible compiler (Clang 13+, GCC 10+ are supported)
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
name = "osmium"
description = "Python bindings for libosmium, the data processing library for OSM data"
readme = "README.rst"
requires-python = ">=3.7"
requires-python = ">=3.8"
license = {text = 'BSD-2-Clause'}
authors = [
{name = "Sarah Hoffmann", email = "[email protected]"}
Expand All @@ -19,7 +19,6 @@ classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
Expand Down
6 changes: 3 additions & 3 deletions src/osmium/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# This file is part of pyosmium. (https://osmcode.org/pyosmium/)
#
# Copyright (C) 2024 Sarah Hoffmann <[email protected]> and others.
# Copyright (C) 2025 Sarah Hoffmann <[email protected]> and others.
# For a full list of authors see the git log.
"""
Version information.
Expand All @@ -16,6 +16,6 @@
# libosmium version shipped with the Pip release
libosmium_version = '2.20.0'
# protozero version shipped with the Pip release
protozero_version = '1.7.1'
protozero_version = '1.8.1'
# pybind11 version shipped with the Pip release
pybind11_version = '2.13.6'
pybind11_version = '3.0.0'