Skip to content

Commit a38933d

Browse files
Drop EOL Python 3.8 support (#249)
* chore: add missing changelog items Signed-off-by: Yurii Serhiichuk <[email protected]> * chore: drop Python 3.8 support Signed-off-by: Yurii Serhiichuk <[email protected]> * chore: add a changelog item on Python 3.8 removal Signed-off-by: Yurii Serhiichuk <[email protected]> * chore: remove mypy-constrains reference as we don't need it anymore Signed-off-by: Yurii Serhiichuk <[email protected]> * chore: Update pre-commit check versions. Signed-off-by: Yurii Serhiichuk <[email protected]> * chore: fix isort pre-commit Signed-off-by: Yurii Serhiichuk <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * chore: Use Python 3.12 as base version Signed-off-by: Yurii Serhiichuk <[email protected]> --------- Signed-off-by: Yurii Serhiichuk <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 37ae369 commit a38933d

File tree

9 files changed

+26
-40
lines changed

9 files changed

+26
-40
lines changed

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- name: Setup Python
1212
uses: actions/setup-python@v5
1313
with:
14-
python-version: '3.11'
14+
python-version: '3.12'
1515
cache: 'pip'
1616
cache-dependency-path: 'requirements/*.txt'
1717
- name: Install dev dependencies
@@ -22,7 +22,7 @@ jobs:
2222
test:
2323
strategy:
2424
matrix:
25-
python: ['3.8', '3.9', '3.10', '3.11']
25+
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
2626
os: [ubuntu-latest, windows-latest, macos-latest]
2727
runs-on: ${{ matrix.os }}
2828
steps:

.github/workflows/pypi-release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
build_dist:
1212
name: Build source distribution
13-
runs-on: ubuntu-22.04
13+
runs-on: ubuntu-latest
1414
steps:
1515
- uses: actions/checkout@v4
1616
with:
@@ -27,17 +27,17 @@ jobs:
2727
- name: Check metadata
2828
run: pipx run twine check dist/*
2929
publish:
30-
runs-on: ubuntu-22.04
30+
runs-on: ubuntu-latest
3131
if: github.event_name == 'push'
3232
needs: [ build_dist ]
3333
steps:
3434
- uses: actions/checkout@v4
3535
with:
3636
fetch-depth: 0
3737
- name: Set up Python
38-
uses: actions/setup-python@v4
38+
uses: actions/setup-python@v5
3939
with:
40-
python-version: "3.11"
40+
python-version: "3.12"
4141
cache: 'pip'
4242
- name: Install build dependencies
4343
run: pip install -U setuptools wheel build

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v4.5.0
3+
rev: v5.0.0
44
hooks:
55
- id: trailing-whitespace
66
- id: end-of-file-fixer
77
- id: check-toml
88
- repo: https://github.com/pycqa/isort
9-
rev: 5.13.2
9+
rev: 6.0.1
1010
hooks:
1111
- id: isort
1212
args: [ "--profile", "black", "--filter-files" ]
1313
- repo: https://github.com/psf/black
14-
rev: 24.4.2
14+
rev: 25.1.0
1515
hooks:
1616
- id: black
1717
language_version: python3.11
1818
- repo: https://github.com/pre-commit/mirrors-mypy
19-
rev: v1.10.0
19+
rev: v1.16.0
2020
hooks:
2121
- id: mypy
2222
files: ^(cloudevents/)

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [1.12.0]
10+
11+
### Changed
12+
13+
- Dropped Python3.8 support while it has reached EOL. ([])
14+
915
## [1.11.1]
1016

1117
### Fixed
1218
- Kafka `conversion` marshaller and unmarshaller typings ([#240])
19+
- Improved public API type annotations and fixed unit test type errors ([#248])
1320

1421
## [1.11.0]
1522

@@ -293,3 +300,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
293300
[#235]: https://github.com/cloudevents/sdk-python/pull/235
294301
[#236]: https://github.com/cloudevents/sdk-python/pull/236
295302
[#240]: https://github.com/cloudevents/sdk-python/pull/240
303+
[#248]: https://github.com/cloudevents/sdk-python/pull/248

cloudevents/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# License for the specific language governing permissions and limitations
1313
# under the License.
1414

15-
__version__ = "1.11.1"
15+
__version__ = "1.12.0"

requirements/constraints.txt

Lines changed: 0 additions & 10 deletions
This file was deleted.

requirements/mypy-constraints.txt

Lines changed: 0 additions & 9 deletions
This file was deleted.

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,11 @@ def get_version(rel_path):
6565
"Programming Language :: Python",
6666
"Programming Language :: Python :: 3",
6767
"Programming Language :: Python :: 3 :: Only",
68-
"Programming Language :: Python :: 3.8",
6968
"Programming Language :: Python :: 3.9",
7069
"Programming Language :: Python :: 3.10",
7170
"Programming Language :: Python :: 3.11",
71+
"Programming Language :: Python :: 3.12",
72+
"Programming Language :: Python :: 3.13",
7273
"Typing :: Typed",
7374
],
7475
keywords="CloudEvents Eventing Serverless",

tox.ini

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py{38,39,310,311,312},lint,mypy,mypy-samples-{image,json}
2+
envlist = py{39,310,311,312,313},lint,mypy,mypy-samples-{image,json}
33
skipsdist = True
44

55
[testenv]
@@ -8,12 +8,11 @@ deps =
88
-r{toxinidir}/requirements/test.txt
99
-r{toxinidir}/requirements/publish.txt
1010
setenv =
11-
PIP_CONSTRAINT={toxinidir}/requirements/constraints.txt
1211
PYTESTARGS = -v -s --tb=long --cov=cloudevents --cov-report term-missing --cov-fail-under=95
1312
commands = pytest {env:PYTESTARGS} {posargs}
1413

1514
[testenv:reformat]
16-
basepython = python3.11
15+
basepython = python3.12
1716
deps =
1817
black
1918
isort
@@ -22,7 +21,7 @@ commands =
2221
isort cloudevents samples
2322

2423
[testenv:lint]
25-
basepython = python3.11
24+
basepython = python3.12
2625
deps =
2726
black
2827
isort
@@ -33,19 +32,16 @@ commands =
3332
flake8 cloudevents samples --ignore W503,E731 --extend-ignore E203 --max-line-length 88
3433

3534
[testenv:mypy]
36-
basepython = python3.11
37-
setenv =
38-
PIP_CONSTRAINT={toxinidir}/requirements/mypy-constraints.txt
35+
basepython = python3.12
3936
deps =
4037
-r{toxinidir}/requirements/mypy.txt
4138
# mypy needs test dependencies to check test modules
4239
-r{toxinidir}/requirements/test.txt
4340
commands = mypy cloudevents
4441

4542
[testenv:mypy-samples-{image,json}]
46-
basepython = python3.11
43+
basepython = python3.12
4744
setenv =
48-
PIP_CONSTRAINT={toxinidir}/requirements/mypy-constraints.txt
4945
mypy-samples-image: SAMPLE_DIR={toxinidir}/samples/http-image-cloudevents
5046
mypy-samples-json: SAMPLE_DIR={toxinidir}/samples/http-json-cloudevents
5147
deps =

0 commit comments

Comments
 (0)