Skip to content

Commit e80e2f4

Browse files
authored
feat: add support for Python 3.12 (#448)
* feat: add support for Python 3.12 * chore: add changelog entry * chore: change macos tests * chore: bump quackosm to 0.7.1 * chore: change licensecheck config * ci: add pipdeptree call
1 parent b77e917 commit e80e2f4

10 files changed

+107
-51
lines changed

.github/workflows/_tests.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ jobs:
99
fail-fast: false
1010
matrix:
1111
os: [ubuntu-latest]
12-
python-version: ["3.9", "3.10", "3.11"]
12+
python-version: ["3.9", "3.10", "3.11", "3.12"]
1313
include:
14-
- os: macos-latest
15-
python-version: "3.11"
14+
- os: macos-13
15+
python-version: "3.12"
1616
- os: windows-latest
17-
python-version: "3.11"
17+
python-version: "3.12"
1818
env:
1919
OS: ${{ matrix.os }}
2020
PYTHON: ${{ matrix.python-version }}

.github/workflows/bump-and-pr.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
- major
1414

1515
env:
16-
PYTHON_VERSION: 3.11
16+
PYTHON_VERSION: 3.12
1717

1818
jobs:
1919
bump-n-pr:

.github/workflows/ci-dev.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ jobs:
1515
- name: Setup Python
1616
uses: actions/setup-python@v4
1717
with:
18-
python-version: 3.11
18+
python-version: 3.12
1919
- uses: pdm-project/setup-pdm@v3
2020
name: Setup PDM
2121
with:
22-
python-version: 3.11
22+
python-version: 3.12
2323
architecture: x64
2424
enable-pep582: true
2525
cache: true

.github/workflows/ci-prod.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ jobs:
1818
- name: Setup Python
1919
uses: actions/setup-python@v4
2020
with:
21-
python-version: 3.11
21+
python-version: 3.12
2222
- uses: pdm-project/setup-pdm@v3
2323
name: Setup PDM
2424
with:
25-
python-version: 3.11
25+
python-version: 3.12
2626
architecture: x64
2727
enable-pep582: true
2828
cache: true

.github/workflows/manual_tests.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ jobs:
99
fail-fast: false
1010
matrix:
1111
os: [ubuntu-latest]
12-
python-version: ["3.9", "3.10", "3.11"]
12+
python-version: ["3.9", "3.10", "3.11", "3.12"]
1313
include:
1414
- os: macos-latest
15-
python-version: "3.11"
15+
python-version: "3.12"
16+
- os: macos-13
17+
python-version: "3.12"
1618
- os: windows-latest
17-
python-version: "3.11"
19+
python-version: "3.12"
1820
env:
1921
OS: ${{ matrix.os }}
2022
PYTHON: ${{ matrix.python-version }}

.github/workflows/run-manual-pre-commit.yml

+13-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,19 @@ jobs:
1717
- name: Setup Python
1818
uses: actions/setup-python@v4
1919
with:
20-
python-version: "3.11"
20+
python-version: 3.12
21+
- uses: pdm-project/setup-pdm@v3
22+
name: Setup PDM
23+
with:
24+
python-version: 3.12
25+
architecture: x64
26+
enable-pep582: true
27+
cache: true
28+
cache-dependency-path: "**/pdm.lock"
2129
- uses: pre-commit/[email protected]
2230
with:
2331
extra_args: --all-files --hook-stage manual --verbose
32+
- name: Show dependencies graph
33+
run: |
34+
pdm install -d -G license --skip=post_install
35+
pdm run pipdeptree --license

CHANGELOG.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- Support for Python 3.12 after upgrading QuackOSM to `0.7.0` and DuckDB to `0.10.2`
13+
1014
## [0.7.3] - 2024-04-21
1115

1216
### Changed
1317

14-
- make geofabrik the default download source for OSMPbfLoader
18+
- Make geofabrik the default download source for OSMPbfLoader
1519

1620
## [0.7.2] - 2024-04-20
1721

1822
### Changed
1923

2024
- Update tooling
21-
- remove Black in favour of Ruff format
25+
- Remove Black in favour of Ruff format
2226

2327
### Added
2428

pdm.lock

+65-33
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

+8-3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ classifiers = [
4141
"Programming Language :: Python :: 3.9",
4242
"Programming Language :: Python :: 3.10",
4343
"Programming Language :: Python :: 3.11",
44+
"Programming Language :: Python :: 3.12",
4445
"Operating System :: Unix",
4546
"Operating System :: MacOS",
4647
"Operating System :: Microsoft :: Windows",
@@ -62,7 +63,7 @@ osm = [
6263
"overpass",
6364
"pillow",
6465
"beautifulsoup4",
65-
"quackosm>=0.4.2",
66+
"quackosm>=0.7.1",
6667
]
6768
# pdm add -G voronoi <library>
6869
voronoi = ["pymap3d", "haversine", "scipy", "spherical-geometry"]
@@ -122,7 +123,10 @@ docs = [
122123
"umap-learn",
123124
]
124125
# performance = ["scalene"]
125-
license = ["licensecheck"]
126+
license = [
127+
"licensecheck",
128+
"pipdeptree",
129+
]
126130

127131
[tool.pdm.scripts]
128132
post_install = "pre-commit install"
@@ -210,7 +214,7 @@ log_cli = true
210214

211215
[tool.licensecheck]
212216
using = "requirements"
213-
zero = false
217+
zero = true
214218
ignore_licenses = ["UNKNOWN"]
215219
ignore_packages = [
216220
'srai', # skip self
@@ -243,4 +247,5 @@ ignore_packages = [
243247
'nvidia-nccl-cu12', # uses NVIDIA license
244248
'nvidia-nvtx-cu12', # uses NVIDIA license
245249
'nvidia-nvjitlink-cu12', # uses NVIDIA license
250+
'mkl', # Github Action artifact, uses Intel Simplified Software License
246251
]

tox.ini

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ envlist =
33
python3.9
44
python3.10
55
python3.11
6+
python3.12
67
isolated_build = True
78
skip_missing_interpreters = True
89

0 commit comments

Comments
 (0)