From e60c00d77db5d15d22a399b4d6c5878891749fa2 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Tue, 4 Nov 2025 08:12:51 +0100 Subject: [PATCH] chore: officially support Python 3.14; run simplified CI on 3.14 --- .github/workflows/coverage.yml | 10 +++------- .github/workflows/formatting.yml | 8 +++----- .github/workflows/packaging_test.yml | 10 +++------- .github/workflows/python-publish.yml | 18 +++++------------- .github/workflows/pythonlint.yml | 8 +++----- .github/workflows/unittests.yml | 2 +- pyproject.toml | 6 +++--- requirements.txt | 2 +- 8 files changed, 22 insertions(+), 42 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 524c661..867f52a 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -3,17 +3,13 @@ name: "Coverage" on: [push] jobs: coverage: - runs-on: ${{ matrix.os }} - strategy: - matrix: - python-version: ["3.13"] - os: [ubuntu-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python uses: actions/setup-python@v6 with: - python-version: ${{ matrix.python-version }} + python-version: 3.14 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/formatting.yml b/.github/workflows/formatting.yml index 67f9317..3b069d7 100644 --- a/.github/workflows/formatting.yml +++ b/.github/workflows/formatting.yml @@ -3,18 +3,16 @@ name: "Formatting" on: [push] jobs: black: - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.13"] - os: [ubuntu-latest] tool: ["black", "isort"] steps: - uses: actions/checkout@v5 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python uses: actions/setup-python@v6 with: - python-version: ${{ matrix.python-version }} + python-version: 3.14 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/packaging_test.yml b/.github/workflows/packaging_test.yml index 84cad0c..737b177 100644 --- a/.github/workflows/packaging_test.yml +++ b/.github/workflows/packaging_test.yml @@ -3,17 +3,13 @@ name: "Packaging Test" on: [pull_request] jobs: check_packaging: - runs-on: ${{ matrix.os }} - strategy: - matrix: - python-version: ["3.11", "3.12", "3.13"] - os: [ubuntu-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python uses: actions/setup-python@v6 with: - python-version: ${{ matrix.python-version }} + python-version: 3.14 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 1b76969..9bc4329 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -14,17 +14,13 @@ on: jobs: tests: if: startsWith(github.ref, 'refs/tags/v') - runs-on: ${{ matrix.os }} - strategy: - matrix: - python-version: ["3.13"] - os: [ubuntu-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python uses: actions/setup-python@v6 with: - python-version: ${{ matrix.python-version }} + python-version: 3.14 - name: Install tox run: | python -m pip install --upgrade pip @@ -35,11 +31,7 @@ jobs: build-n-publish: name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI - runs-on: ${{ matrix.os }} - strategy: - matrix: - python-version: [ "3.12" ] - os: [ ubuntu-latest ] + runs-on: ubuntu-latest # Specifying a GitHub environment, # Specifying a GitHub environment, which is strongly recommended by PyPI: https://docs.pypi.org/trusted-publishers/adding-a-publisher/ # you have to create an environment in your repository settings and add the environment name here environment: release @@ -52,7 +44,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: ${{ matrix.python-version }} + python-version: 3.14 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/pythonlint.yml b/.github/workflows/pythonlint.yml index 57c751b..376fe75 100644 --- a/.github/workflows/pythonlint.yml +++ b/.github/workflows/pythonlint.yml @@ -4,18 +4,16 @@ on: [push] jobs: pylint: name: Python Code Quality and Lint - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.13"] - os: [ubuntu-latest] linter-env: ["linting", "type_check"] steps: - uses: actions/checkout@v5 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python uses: actions/setup-python@v6 with: - python-version: ${{ matrix.python-version }} + python-version: 3.14 - name: Install Dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index d47a521..ef814b1 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -6,7 +6,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] os: [ubuntu-latest] steps: - uses: actions/checkout@v5 diff --git a/pyproject.toml b/pyproject.toml index 42b83bc..af0ce5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "python-generics" description = "A package to determine the values of generic classes through instances or subclasses " license = { text = "MIT" } -requires-python = ">=3.9" +requires-python = ">=3.10" authors = [{ name = "Hochfrequenz Unternehmensberatung GmbH", email = "info@hochfrequenz.de" }] keywords = ["python", "generics"] classifiers = [ @@ -13,11 +13,11 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [] # add all the dependencies from requirements.in here, too dynamic = ["readme", "version"] @@ -54,7 +54,7 @@ Homepage = "https://github.com/Hochfrequenz/python-generics" [tool.black] line-length = 120 -target_version = ["py39", "py310", "py311", "py312", "py313"] +target_version = ["py310", "py311", "py312", "py313", "py314"] [tool.isort] line_length = 120 diff --git a/requirements.txt b/requirements.txt index 985906d..c71f080 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile requirements.in