Commit b0068154 authored by John L. Villalovos's avatar John L. Villalovos
Browse files

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: default avatarClaude Opus 5.5 <noreply@anthropic.com>
parent 8daa9404
Loading
Loading
Loading
Loading
+6 −6
Changes for .github/workflows/test.yml: 6 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -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 }}
+1 −1
Changes for README.rst: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -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``:

+2 −2
Changes for pyproject.toml: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -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"}
+2 −2
Changes for tox.ini: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -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