From 39d0fbdf225de11513b0c8115227f1ec2e1c1108 Mon Sep 17 00:00:00 2001 From: Yurii Serhiichuk Date: Sat, 31 May 2025 15:37:26 +0200 Subject: [PATCH] chore: drop Python 3.8 support Signed-off-by: Yurii Serhiichuk --- .github/workflows/main.yml | 2 +- .github/workflows/pypi-release.yml | 6 +++--- cloudevents/__init__.py | 2 +- requirements/constraints.txt | 10 ---------- requirements/mypy-constraints.txt | 9 --------- setup.py | 3 ++- tox.ini | 5 +---- 7 files changed, 8 insertions(+), 29 deletions(-) delete mode 100644 requirements/constraints.txt delete mode 100644 requirements/mypy-constraints.txt diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5eb4b8..e984dff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: test: strategy: matrix: - python: ['3.8', '3.9', '3.10', '3.11'] + python: ['3.9', '3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml index 2b1dbf0..52f9395 100644 --- a/.github/workflows/pypi-release.yml +++ b/.github/workflows/pypi-release.yml @@ -10,7 +10,7 @@ on: jobs: build_dist: name: Build source distribution - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: @@ -27,7 +27,7 @@ jobs: - name: Check metadata run: pipx run twine check dist/* publish: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest if: github.event_name == 'push' needs: [ build_dist ] steps: @@ -35,7 +35,7 @@ jobs: with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.11" cache: 'pip' diff --git a/cloudevents/__init__.py b/cloudevents/__init__.py index d332910..e97372b 100644 --- a/cloudevents/__init__.py +++ b/cloudevents/__init__.py @@ -12,4 +12,4 @@ # License for the specific language governing permissions and limitations # under the License. -__version__ = "1.11.1" +__version__ = "1.12.0" diff --git a/requirements/constraints.txt b/requirements/constraints.txt deleted file mode 100644 index 648d97e..0000000 --- a/requirements/constraints.txt +++ /dev/null @@ -1,10 +0,0 @@ -# This is a requirements constraint file, see: -# https://pip.pypa.io/en/stable/user_guide/#constraints-files - -# sanic stopped supporting 3.8 in 24.12: -# https://sanic.dev/en/release-notes/changelog.html#version-24120- -sanic<24.12.0 ; python_version == '3.8' - -# pydantic stopped supporting 3.8 in 2.11.0: -# https://github.com/pydantic/pydantic/releases/tag/v2.11.0 -pydantic<2.11.0 ; python_version == '3.8' diff --git a/requirements/mypy-constraints.txt b/requirements/mypy-constraints.txt deleted file mode 100644 index 82c5f95..0000000 --- a/requirements/mypy-constraints.txt +++ /dev/null @@ -1,9 +0,0 @@ -# This is a requirements constraint file, see: -# https://pip.pypa.io/en/stable/user_guide/#constraints-files - -# Because we run mypy in python 3.8 compatibility mode, dependencies must be -# versions that support 3.8. - -# pydantic stopped supporting 3.8 in 2.11.0: -# https://github.com/pydantic/pydantic/releases/tag/v2.11.0 -pydantic<2.11.0 diff --git a/setup.py b/setup.py index a4e4bef..f424997 100644 --- a/setup.py +++ b/setup.py @@ -65,10 +65,11 @@ if __name__ == "__main__": "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", "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", "Typing :: Typed", ], keywords="CloudEvents Eventing Serverless", diff --git a/tox.ini b/tox.ini index 88f0bd1..9779cc8 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,39,310,311,312},lint,mypy,mypy-samples-{image,json} +envlist = py{39,310,311,312,313},lint,mypy,mypy-samples-{image,json} skipsdist = True [testenv] @@ -8,7 +8,6 @@ deps = -r{toxinidir}/requirements/test.txt -r{toxinidir}/requirements/publish.txt setenv = - PIP_CONSTRAINT={toxinidir}/requirements/constraints.txt PYTESTARGS = -v -s --tb=long --cov=cloudevents --cov-report term-missing --cov-fail-under=95 commands = pytest {env:PYTESTARGS} {posargs} @@ -34,8 +33,6 @@ commands = [testenv:mypy] basepython = python3.11 -setenv = - PIP_CONSTRAINT={toxinidir}/requirements/mypy-constraints.txt deps = -r{toxinidir}/requirements/mypy.txt # mypy needs test dependencies to check test modules