Skip to content

Commit 22941ac

Browse files
JohnVillalovosnejch
authored andcommitted
feat!: drop Python 3.9 support and add Python 3.14
Python 3.9 is End-of-Life (EOL) as of 2025-10 as stated in https://devguide.python.org/versions/ and https://peps.python.org/pep-0596/#lifespan By dropping support for Python 3.9 and requiring Python 3.10 or higher it allows python-gitlab to take advantage of new features in Python 3.10, which are documented at: https://docs.python.org/3/whatsnew/3.10.html Also mark Python 3.14 as officially supported as it has been released. Closes: #3285 BREAKING CHANGE: As of python-gitlab 7.0.0, Python 3.9 is no longer supported. Python 3.10 or higher is required.
1 parent adbc833 commit 22941ac

File tree

6 files changed

+12
-15
lines changed

6 files changed

+12
-15
lines changed

.github/workflows/test.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ jobs:
2626
matrix:
2727
os: [ubuntu-latest]
2828
python:
29-
- version: "3.9"
30-
toxenv: py39,smoke
3129
- version: "3.10"
3230
toxenv: py310,smoke
3331
- version: "3.11"
@@ -36,17 +34,17 @@ jobs:
3634
toxenv: py312,smoke
3735
- version: "3.13"
3836
toxenv: py313,smoke
39-
- version: "3.14.0-alpha - 3.14" # SemVer's version range syntax
37+
- version: "3.14"
4038
toxenv: py314,smoke
4139
include:
4240
- os: macos-latest
4341
python:
44-
version: "3.13"
45-
toxenv: py313,smoke
42+
version: "3.14"
43+
toxenv: py314,smoke
4644
- os: windows-latest
4745
python:
48-
version: "3.13"
49-
toxenv: py313,smoke
46+
version: "3.14"
47+
toxenv: py314,smoke
5048
steps:
5149
- uses: actions/checkout@v5.0.0
5250
- name: Set up Python ${{ matrix.python.version }}

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 2
33
build:
44
os: ubuntu-22.04
55
tools:
6-
python: "3.11"
6+
python: "3.13"
77

88
sphinx:
99
configuration: docs/conf.py

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Features
5353
Installation
5454
------------
5555

56-
As of 5.0.0, ``python-gitlab`` is compatible with Python 3.9+.
56+
As of 7.0.0, ``python-gitlab`` is compatible with Python 3.10+.
5757

5858
Use ``pip`` to install the latest stable version of ``python-gitlab``:
5959

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ maintainers = [
1515
{name = "Nejc Habjan", email="nejc.habjan@siemens.com"},
1616
{name = "Roger Meier", email="r.meier@siemens.com"}
1717
]
18-
requires-python = ">=3.9.0"
18+
requires-python = ">=3.10.0"
1919
dependencies = [
2020
"requests>=2.32.0",
2121
"requests-toolbelt>=1.0.0",
@@ -30,11 +30,11 @@ classifiers = [
3030
"Operating System :: Microsoft :: Windows",
3131
"Programming Language :: Python",
3232
"Programming Language :: Python :: 3",
33-
"Programming Language :: Python :: 3.9",
3433
"Programming Language :: Python :: 3.10",
3534
"Programming Language :: Python :: 3.11",
3635
"Programming Language :: Python :: 3.12",
3736
"Programming Language :: Python :: 3.13",
37+
"Programming Language :: Python :: 3.14",
3838
]
3939
keywords = ["api", "client", "gitlab", "python", "python-gitlab", "wrapper"]
4040
license = {text = "LGPL-3.0-or-later"}

requirements-test.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
-r requirements.txt
22
anyio==4.11.0
33
build==1.3.0
4-
coverage==7.10.7 ; python_version <= '3.9'
5-
coverage==7.11.0 ; python_version > '3.9'
4+
coverage==7.11.0
65
pytest-console-scripts==1.4.1
76
pytest-cov==7.0.0
87
pytest-github-actions-annotate-failures==0.3.0

tox.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
minversion = 4.0
33
skipsdist = True
44
skip_missing_interpreters = True
5-
envlist = py313,py312,py311,py310,py39,black,isort,flake8,mypy,twine-check,cz,pylint
5+
envlist = py314,py313,py312,py311,py310,black,isort,flake8,mypy,twine-check,cz,pylint
66

77
# NOTE(jlvillal): To use a label use the `-m` flag.
88
# For example to run the `func` label group of environments do:
99
# tox -m func
1010
labels =
1111
lint = black,isort,flake8,mypy,pylint,cz
12-
unit = py313,py312,py311,py310,py39,py38
12+
unit = py314,py313,py312,py311,py310
1313
# func is the functional tests. This is very time consuming.
1414
func = cli_func_v4,api_func_v4
1515

0 commit comments

Comments
 (0)