diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index cb867d654..59e1a333d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -24,9 +24,9 @@ jobs: steps: - uses: actions/checkout@v7.0.1 - name: Set up Python - uses: actions/setup-python@v7.0.0 + uses: actions/setup-python@v7.1.0 with: - python-version: "3.14" + python-version: "3.15" - name: Install dependencies run: pip install tox - name: Build docs @@ -39,9 +39,9 @@ jobs: steps: - uses: actions/checkout@v7.0.1 - name: Set up Python - uses: actions/setup-python@v7.0.0 + uses: actions/setup-python@v7.1.0 with: - python-version: "3.14" + python-version: "3.15" - name: Install dependencies run: pip install tox twine wheel - name: Check twine readme rendering diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 735b80f1e..16d020a90 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,9 +25,9 @@ jobs: - uses: actions/checkout@v7.0.1 with: fetch-depth: 0 - - uses: actions/setup-python@v7.0.0 + - uses: actions/setup-python@v7.1.0 with: - python-version: "3.14" + python-version: "3.15" - run: pip install --upgrade tox - name: Run commitizen (https://commitizen-tools.github.io/commitizen/) run: tox -e cz diff --git a/.github/workflows/pre_commit.yml b/.github/workflows/pre_commit.yml index 02aedb20c..eb43fb0e6 100644 --- a/.github/workflows/pre_commit.yml +++ b/.github/workflows/pre_commit.yml @@ -30,9 +30,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7.0.1 - - uses: actions/setup-python@v7.0.0 + - uses: actions/setup-python@v7.1.0 with: - python-version: "3.14" + python-version: "3.15" - name: install tox run: pip install tox==3.26.0 - name: pre-commit diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b259490cc..9e5d58ba9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: Python Semantic Release id: release - uses: python-semantic-release/python-semantic-release@v10.6.2 + uses: python-semantic-release/python-semantic-release@v10.7.0 with: github_token: ${{ secrets.RELEASE_GITHUB_TOKEN }} @@ -32,7 +32,7 @@ jobs: if: steps.release.outputs.released == 'true' - name: Publish package distributions to GitHub Releases - uses: python-semantic-release/publish-action@v10.6.2 + uses: python-semantic-release/publish-action@v10.7.0 if: steps.release.outputs.released == 'true' with: github_token: ${{ secrets.RELEASE_GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index eca7e60ac..36a33263e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,7 +48,7 @@ jobs: steps: - uses: actions/checkout@v7.0.1 - name: Set up Python ${{ matrix.python.version }} - uses: actions/setup-python@v7.0.0 + uses: actions/setup-python@v7.1.0 with: python-version: ${{ matrix.python.version }} - name: Install dependencies @@ -67,9 +67,9 @@ jobs: steps: - uses: actions/checkout@v7.0.1 - name: Set up Python - uses: actions/setup-python@v7.0.0 + uses: actions/setup-python@v7.1.0 with: - python-version: "3.14" + python-version: "3.15" - name: Install dependencies run: pip install tox - name: Run tests @@ -77,7 +77,7 @@ jobs: TOXENV: ${{ matrix.toxenv }} run: tox -- --override-ini='log_cli=True' - name: Upload codecov coverage - uses: codecov/codecov-action@v7.1.0 + uses: codecov/codecov-action@v7.1.1 with: files: ./coverage.xml flags: ${{ matrix.toxenv }} @@ -89,9 +89,9 @@ jobs: steps: - uses: actions/checkout@v7.0.1 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v7.0.0 + uses: actions/setup-python@v7.1.0 with: - python-version: "3.14" + python-version: "3.15" - name: Install dependencies run: pip install tox - name: Run tests @@ -100,7 +100,7 @@ jobs: TOXENV: cover run: tox - name: Upload codecov coverage - uses: codecov/codecov-action@v7.1.0 + uses: codecov/codecov-action@v7.1.1 with: files: ./coverage.xml flags: unit @@ -112,15 +112,15 @@ jobs: name: Python wheel steps: - uses: actions/checkout@v7.0.1 - - uses: actions/setup-python@v7.0.0 + - uses: actions/setup-python@v7.1.0 with: - python-version: "3.14" + python-version: "3.15" - name: Install dependencies run: | pip install -r requirements-test.txt - name: Build package run: python -m build -o dist/ - - uses: actions/upload-artifact@v7.0.1 + - uses: actions/upload-artifact@v7.0.2 with: name: dist path: dist @@ -131,10 +131,10 @@ jobs: steps: - uses: actions/checkout@v7.0.1 - name: Set up Python - uses: actions/setup-python@v7.0.0 + uses: actions/setup-python@v7.1.0 with: - python-version: '3.14' - - uses: actions/download-artifact@v8.0.1 + python-version: '3.15' + - uses: actions/download-artifact@v8.0.2 with: name: dist path: dist diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e0f96ef28..cbe3c60ee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,24 +3,24 @@ default_language_version: repos: - repo: https://github.com/psf/black - rev: 26.5.1 + rev: 26.10.1 hooks: - id: black - repo: https://github.com/commitizen-tools/commitizen - rev: v4.18.1 + rev: v4.19.3 hooks: - id: commitizen stages: [commit-msg] - repo: https://github.com/pycqa/flake8 - rev: 7.3.0 + rev: 7.4.1 hooks: - id: flake8 - repo: https://github.com/pycqa/isort - rev: 9.0.1 + rev: 9.0.2 hooks: - id: isort - repo: https://github.com/pycqa/pylint - rev: v4.0.8 + rev: v4.1.3 hooks: - id: pylint additional_dependencies: @@ -32,7 +32,7 @@ repos: - requests-toolbelt==1.0.0 files: 'gitlab/' - repo: https://github.com/pre-commit/mirrors-mypy - rev: v2.3.1 + rev: v2.4.0 hooks: - id: mypy args: [] @@ -51,6 +51,6 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/maxbrunet/pre-commit-renovate - rev: 44.90.3 + rev: 44.184.0 hooks: - id: renovate-config-validator diff --git a/gitlab/_backends/graphql.py b/gitlab/_backends/graphql.py index 5fe97de70..0995c02a1 100644 --- a/gitlab/_backends/graphql.py +++ b/gitlab/_backends/graphql.py @@ -24,7 +24,7 @@ def close(self) -> None: pass -class GitlabAsyncTransport(HTTPXAsyncTransport): +class GitlabAsyncTransport(HTTPXAsyncTransport): # pylint: disable=abstract-method """An async gql httpx transport that reuses an existing httpx.AsyncClient. By default, gql's transports do not have a keep-alive session and do not enable providing your own session that's kept open. diff --git a/pyproject.toml b/pyproject.toml index a483aa235..88833d6e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -110,7 +110,9 @@ insertion_flag = "All versions below are listed in reverse chronological order." [tool.pylint.messages_control] max-line-length = 88 -jobs = 0 # Use auto-detected number of multiple processes to speed up Pylint. +# TODO: Restore `jobs = 0` once a dill release newer than 0.4.1 is available. Parallel +# mode crashes on Python 3.15: https://github.com/pylint-dev/pylint/issues/11528 +jobs = 1 # TODO(jlvilla): Work on removing these disables over time. disable = [ "arguments-differ", diff --git a/requirements-docker.txt b/requirements-docker.txt index 123a4438a..4856e5875 100644 --- a/requirements-docker.txt +++ b/requirements-docker.txt @@ -1,3 +1,3 @@ -r requirements.txt -r requirements-test.txt -pytest-docker==3.2.5 +pytest-docker==3.2.6 diff --git a/requirements-docs.txt b/requirements-docs.txt index 3118f99e3..6ce0ac560 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -2,6 +2,6 @@ furo==2025.12.19 jinja2==3.1.6 myst-parser==5.1.0 -sphinx==9.1.0 +sphinx==9.2.0 sphinxcontrib-autoprogram==0.1.9 sphinx-autobuild==2025.8.25 diff --git a/requirements-lint.txt b/requirements-lint.txt index 5b77f2085..0ed10d7c4 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -1,14 +1,14 @@ -r requirements.txt argcomplete==2.0.0 black==26.10.1 -commitizen==4.18.1 -flake8==7.3.0 -isort==9.0.1 -mypy==2.3.1 -pylint==4.0.9 +commitizen==4.19.3 +flake8==7.4.1 +isort==9.0.2 +mypy==2.4.0 +pylint==4.1.3 pytest==9.1.1 responses==0.26.3 respx==0.23.1 types-PyYAML==6.0.12.20260906 -types-requests==2.33.0.20260906 -types-setuptools==84.0.0.20260812 +types-requests==2.33.0.20261006 +types-setuptools==84.0.0.20261006 diff --git a/requirements-precommit.txt b/requirements-precommit.txt index 237054009..789e26d8c 100644 --- a/requirements-precommit.txt +++ b/requirements-precommit.txt @@ -1 +1 @@ -pre-commit==4.6.2 +pre-commit==4.7.0 diff --git a/requirements-test.txt b/requirements-test.txt index c32aef14b..5eeae1560 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,7 +1,7 @@ -r requirements.txt anyio==4.15.1 build==1.6.1 -coverage==7.16.1 +coverage==7.17.0 pytest-console-scripts==1.4.1 pytest-cov==7.1.0 pytest-github-actions-annotate-failures==0.4.2 diff --git a/requirements.txt b/requirements.txt index 4cf4bdfb0..54eb47bbd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -gql==4.0.0 +gql==4.4.0 httpx==0.28.1 requests==2.34.2 requests-toolbelt==1.0.0