From c604c0a3bcf187932cbe69db471348706cf4d549 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 8 Oct 2025 15:33:43 -0400 Subject: [PATCH 1/3] Add Python 3.14 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Python 3.14 to classifiers - Update CI workflows to use Python 3.14 Fixes #178 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/workflows/code_changes.yaml | 2 +- .github/workflows/pr_code_changes.yaml | 2 +- .github/workflows/versioning.yaml | 4 ++-- changelog_entry.yaml | 4 ++++ pyproject.toml | 10 +++++++++- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/workflows/code_changes.yaml b/.github/workflows/code_changes.yaml index 33fc437a..a21830f9 100644 --- a/.github/workflows/code_changes.yaml +++ b/.github/workflows/code_changes.yaml @@ -37,7 +37,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.13' + python-version: '3.14' - name: Install package run: uv pip install -e .[dev] --system diff --git a/.github/workflows/pr_code_changes.yaml b/.github/workflows/pr_code_changes.yaml index aa03bc02..b6284335 100644 --- a/.github/workflows/pr_code_changes.yaml +++ b/.github/workflows/pr_code_changes.yaml @@ -34,7 +34,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.13' + python-version: '3.14' - name: Install package run: uv pip install -e .[dev] --system diff --git a/.github/workflows/versioning.yaml b/.github/workflows/versioning.yaml index a30a0e47..6b1fc75a 100644 --- a/.github/workflows/versioning.yaml +++ b/.github/workflows/versioning.yaml @@ -25,7 +25,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: 3.13 + python-version: 3.14 - name: Build changelog run: pip install yaml-changelog && make changelog - name: Preview changelog update @@ -49,7 +49,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.13' + python-version: '3.14' - name: Install package run: uv pip install -e .[dev] --system - name: Install policyengine diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29b..f1d50a6c 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + added: + - Support for Python 3.14 diff --git a/pyproject.toml b/pyproject.toml index 251a2d68..b4e6ca0d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,15 @@ authors = [ {name = "PolicyEngine", email = "hello@policyengine.org"}, ] license = {file = "LICENSE"} -requires-python = ">=3.13" +requires-python = ">=3.13,<3.15" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: GNU Affero General Public License v3", + "Operating System :: POSIX", + "Programming Language :: Python", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", +] dependencies = [ "sqlalchemy>=2.0.0", "sqlmodel>=0.0.21", From 01c631d8e5b0d0e77be10d230839444ce3b6df2c Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 8 Oct 2025 15:35:58 -0400 Subject: [PATCH 2/3] Add .python-version for uv default --- .python-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .python-version diff --git a/.python-version b/.python-version new file mode 100644 index 00000000..3767b4b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.14 \ No newline at end of file From 6386c5c122367be615b1958e5b60184f3bd78fd6 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 8 Oct 2025 16:39:01 -0400 Subject: [PATCH 3/3] Drop Python 3.10 support (following SPEC 0 policy) --- changelog_entry.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog_entry.yaml b/changelog_entry.yaml index f1d50a6c..e6a81e5b 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -2,3 +2,5 @@ changes: added: - Support for Python 3.14 + removed: + - Support for Python 3.10 (following SPEC 0 policy)