Skip to content

Commit dac0c08

Browse files
authored
Update Python versions to 3.12-3.14 (#143)
CI and the project configuration currently target Python 3.9, which is now end-of-life. This commit updates the project configuration to use version 3.10 and higher, and does CI testing on versions 3.10-3.14. It does simplified tests on Ubuntu for all supported Python versions (3.10-3.14), plus detailed CI on all supported platforms (Ubuntu, macOS, Windows) on 3.14. Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
1 parent 0b0e5a3 commit dac0c08

3 files changed

Lines changed: 13 additions & 10 deletions

File tree

.github/workflows/python_detailed.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ env:
1717
WIN_LIBOQS_INSTALL_PATH: C:\liboqs
1818
VERSION: 0.14.0
1919
PYOQS_ENABLE_FAULTHANDLER: "1"
20+
UV_PYTHON: "3.14"
2021

2122
concurrency:
2223
group: test-python-detailed-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
@@ -39,8 +40,8 @@ jobs:
3940
enable-cache: true
4041
cache-dependency-glob: "**/pyproject.toml"
4142

42-
- name: Set up Python 3.9
43-
run: uv python install 3.9
43+
- name: Set up Python 3.14
44+
run: uv python install 3.14
4445

4546
- name: Install dependencies
4647
run: uv sync --extra dev

.github/workflows/python_simplified.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ jobs:
2222
build:
2323
strategy:
2424
matrix:
25-
os: [ ubuntu-latest, macos-latest, windows-latest ]
26-
runs-on: ${{ matrix.os }}
25+
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
26+
runs-on: ubuntu-latest
27+
env:
28+
UV_PYTHON: ${{ matrix.python-version }}
2729

2830
steps:
2931
- uses: actions/checkout@v4
@@ -35,8 +37,8 @@ jobs:
3537
enable-cache: true
3638
cache-dependency-glob: "**/pyproject.toml"
3739

38-
- name: Set up Python 3.9
39-
run: uv python install 3.9
40+
- name: Set up Python ${{ matrix.python-version }}
41+
run: uv python install ${{ matrix.python-version }}
4042

4143
- name: Run examples
4244
run: |

pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "liboqs-python"
3-
requires-python = ">=3.9"
3+
requires-python = ">=3.10"
44
version = "0.16.0-dev"
55
description = "Python bindings for liboqs, providing post-quantum public key cryptography algorithms"
66
authors = [
@@ -41,7 +41,7 @@ homepage = "https://github.com/open-quantum-safe/liboqs-python"
4141
repository = "https://github.com/open-quantum-safe/liboqs-python.git"
4242

4343
[tool.isort]
44-
py_version = 39
44+
py_version = 310
4545
src_paths = ["oqs"]
4646
line_length = 99
4747
multi_line_output = 3
@@ -56,7 +56,7 @@ extend_skip_glob = []
5656

5757
[tool.ruff]
5858
src = ["oqs"]
59-
target-version = "py39"
59+
target-version = "py310"
6060
line-length = 99
6161
exclude = [
6262
".git",
@@ -96,7 +96,7 @@ skip-magic-trailing-comma = false
9696
line-ending = "auto"
9797

9898
[tool.mypy]
99-
python_version = "3.9"
99+
python_version = "3.10"
100100
mypy_path = "."
101101
packages = ["oqs"]
102102
plugins = []

0 commit comments

Comments
 (0)