From b0068154448a6b2e2ccf9ef0db3b017c57690dcf Mon Sep 17 00:00:00 2001 From: "John L. Villalovos" Date: Mon, 2 Nov 2026 08:56:39 -0800 Subject: [PATCH] feat!: drop Python 3.10 support and add Python 3.15 Python 3.10 is End-of-Life (EOL) as of 2026-10 as stated in https://devguide.python.org/versions/ and https://peps.python.org/pep-0619/#lifespan By dropping support for Python 3.10 and requiring Python 3.11 or higher it allows python-gitlab to take advantage of new features in Python 3.11, which are documented at: https://docs.python.org/3/whatsnew/3.11.html Also mark Python 3.15 as officially supported as it has been released, and use it for the macOS and Windows tests. BREAKING CHANGE: As of python-gitlab 9.0.0, Python 3.10 is no longer supported. Python 3.11 or higher is required. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/test.yml | 12 ++++++------ README.rst | 2 +- pyproject.toml | 4 ++-- tox.ini | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index af899f198..eca7e60ac 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,8 +26,6 @@ jobs: matrix: os: [ubuntu-latest] python: - - version: "3.10" - toxenv: py310,smoke - version: "3.11" toxenv: py311,smoke - version: "3.12" @@ -36,15 +34,17 @@ jobs: toxenv: py313,smoke - version: "3.14" toxenv: py314,smoke + - version: "3.15" + toxenv: py315,smoke include: - os: macos-latest python: - version: "3.14" - toxenv: py314,smoke + version: "3.15" + toxenv: py315,smoke - os: windows-latest python: - version: "3.14" - toxenv: py314,smoke + version: "3.15" + toxenv: py315,smoke steps: - uses: actions/checkout@v7.0.1 - name: Set up Python ${{ matrix.python.version }} diff --git a/README.rst b/README.rst index 1b7b7ce48..afd596cbc 100644 --- a/README.rst +++ b/README.rst @@ -53,7 +53,7 @@ Features Installation ------------ -As of 7.0.0, ``python-gitlab`` is compatible with Python 3.10+. +As of 9.0.0, ``python-gitlab`` is compatible with Python 3.11+. Use ``pip`` to install the latest stable version of ``python-gitlab``: diff --git a/pyproject.toml b/pyproject.toml index 511e6c366..a483aa235 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ maintainers = [ {name = "Nejc Habjan", email="nejc.habjan@siemens.com"}, {name = "Roger Meier", email="r.meier@siemens.com"} ] -requires-python = ">=3.10.0" +requires-python = ">=3.11.0" dependencies = [ "requests>=2.32.0", "requests-toolbelt>=1.0.0", @@ -30,11 +30,11 @@ classifiers = [ "Operating System :: Microsoft :: Windows", "Programming Language :: Python", "Programming Language :: Python :: 3", - "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", + "Programming Language :: Python :: 3.15", ] keywords = ["api", "client", "gitlab", "python", "python-gitlab", "wrapper"] license = {text = "LGPL-3.0-or-later"} diff --git a/tox.ini b/tox.ini index 5e7c01076..9b14e9b8f 100644 --- a/tox.ini +++ b/tox.ini @@ -2,14 +2,14 @@ minversion = 4.0 skipsdist = True skip_missing_interpreters = True -envlist = py314,py313,py312,py311,py310,black,isort,flake8,mypy,twine-check,cz,pylint +envlist = py315,py314,py313,py312,py311,black,isort,flake8,mypy,twine-check,cz,pylint # NOTE(jlvillal): To use a label use the `-m` flag. # For example to run the `func` label group of environments do: # tox -m func labels = lint = black,isort,flake8,mypy,pylint,cz - unit = py314,py313,py312,py311,py310 + unit = py315,py314,py313,py312,py311 # func is the functional tests. This is very time consuming. func = cli_func_v4,api_func_v4