Skip to content

Update all python dependencies

shepard bot requested to merge renovate/all-python-deps into main

This MR contains the following updates:

Package Type Update Change
python-gitlab (changelog) dependencies minor 4.4.0 -> 4.6.0
ruff (source, changelog) dependencies patch 0.4.3 -> 0.4.7

Release Notes

python-gitlab/python-gitlab (python-gitlab)

v4.6.0

Compare Source

Chore
  • chore(deps): update python-semantic-release/upload-to-gh-release digest to 673709c (1b550ac)

  • chore(deps): update all non-major dependencies (4c7014c)

  • chore: update commit reference in git-blame-ignore-revs (d0fd5ad)

  • chore(cli): add ability to not add _id_attr as an argument

In some cases we don't want to have _id_attr as an argument.

Add ability to have it not be added as an argument. (2037352)

  • chore: create a CustomAction dataclass (61d8679)

  • chore: add an initial .git-blame-ignore-revs

This adds the .git-blame-ignore-revs file which allows ignoring certain commits when doing a git blame --ignore-revs

Ignore the commit that requires keyword arguments for register_custom_action()

https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view (74db84c)

  • chore: require keyword arguments for register_custom_action

This makes it more obvious when reading the code what each argument is for. (7270523)

  • chore: remove typing-extensions from requirements.txt

We no longer support Python versions before 3.8. So it isn't needed anymore. (d569128)

  • chore(deps): update dependency requests to v2.32.0 [security] (1bc788c)

  • chore(deps): update all non-major dependencies (ba1eec4)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17 (5070d07)

  • chore(cli): on the CLI help show the API endpoint of resources

This makes it easier for people to map CLI command names to the API.

Looks like this: $ gitlab --help <snip> The GitLab resource to manipulate. application API endpoint: /applications application-appearance API endpoint: /application/appearance application-settings API endpoint: /application/settings application-statistics API endpoint: /application/statistics <snip> (f1ef565)

  • chore(cli): add some simple help for the standard operations

Add help for the following standard operations:

  • list: List the GitLab resources
  • get: Get a GitLab resource
  • create: Create a GitLab resource
  • update: Update a GitLab resource
  • delete: Delete a GitLab resource

For example: $ gitlab project-key --help usage: gitlab project-key [-h] {list,get,create,update,delete,enable} ...

options: -h, --help show this help message and exit

action: list get create update delete enable Action to execute on the GitLab resource. list List the GitLab resources get Get a GitLab resource create Create a GitLab resource update Update a GitLab resource delete Delete a GitLab resource (5a4a940)

  • chore: correct type-hint for job.trace()

Closes: #​2808 (840572e)

  • chore: add type info for ProjectFile.content

Closes: #​2821 (62fa271)

Feature
  • feat(api): add additional parameter to project/group iteration search (#​2796)

Co-authored-by: Cristiano Casella <cristiano.casella@seacom.it> Co-authored-by: Nejc Habjan <hab.nejc@gmail.com> (623dac9)

  • feat(api): add support for gitlab service account (#​2851)

Co-authored-by: Nejc Habjan <hab.nejc@siemens.com> (b187dea)

  • feat: more usernames support for MR approvals

I don't think commit a2b8c8c went far enough to enable usernames support. We create and edit a lot of approval rules based on an external service (similar to CODE_OWNERS), but only have the usernames available, and currently, have to look up each user to get their user ID to populate user_ids for .set_approvers() calls. Would very much like to skip the lookup and just send the usernames, which this change should allow.

See: https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-project-level-rule

Signed-off-by: Jarod Wilson <jarod@redhat.com> (12d195a)

Fix
  • fix(deps): update minimum dependency versions in pyproject.toml

Update the minimum versions of the dependencies in the pyproject.toml file.

This is related to MR #​2878 (37b5a70)

  • fix(cli): don't require --id when enabling a deploy key

No longer require --id when doing: gitlab project-key enable

Now only the --project-id and --key-id are required. (98fc578)

  • fix: don't raise RedirectError for redirected HEAD requests (8fc13b9)

  • fix: handle large number of approval rules

Use iterator=True when going through the list of current approval rules. This allows it to handle more than the default of 20 approval rules.

Closes: #​2825 (ef8f0e1)

  • fix(projects): fix 'import_project' file argument type for typings

Signed-off-by: Adrian DC <radian.dc@gmail.com> (33fbc14)

v4.5.0

Compare Source

Build
  • build: Add "--no-cache-dir" to pip commands in Dockerfile

This would not leave cache files in the built docker image.

Additionally, also only build the wheel in the build phase.

On my machine, before this MR, size is 7484539; after this MR, size is 7261771. (4ef94c8)

Chore
  • chore(deps): update all non-major dependencies (4f338ae)

  • chore(deps): update gitlab/gitlab-ee docker tag to v16.11.2-ee.0 (9be48f0)

  • chore(deps): update dependency myst-parser to v3 (9289189)

  • chore(deps): update all non-major dependencies (65d0e65)

  • chore(deps): update dependency jinja2 to v3.1.4 [security] (8ea10c3)

  • chore(deps): update all non-major dependencies (1f0343c)

  • chore(deps): update gitlab/gitlab-ee docker tag to v16.11.1-ee.0 (1ed8d6c)

  • chore(deps): update all non-major dependencies (0e9f4da)

  • chore(deps): update gitlab/gitlab-ee docker tag to v16 (ea8c4c2)

  • chore(deps): update all non-major dependencies (d5b5fb0)

  • chore(deps): update dependency pytest-cov to v5 (db32000)

  • chore: update mypy to 1.9.0 and resolve one issue

mypy 1.9.0 flagged one issue in the code. Resolve the issue. Current unit tests already check that a None value returns text/plain. So function is still working as expected. (dd00bfc)

  • chore(deps): update dependency black to v24.3.0 [security] (f6e8692)

  • chore(deps): update all non-major dependencies (14a3ffe)

  • chore(deps): update all non-major dependencies (3c4dcca)

  • chore(deps): update all non-major dependencies (04c569a)

  • chore: add tox labels to enable running groups of environments

tox now has a feature of labels which allows running groups of environments using the command tox -m LABEL_NAME. For example tox -m lint which has been setup to run the linters.

Bumped the minimum required version of tox to be 4.0, which was released over a year ago. (d7235c7)

  • chore: add py312 & py313 to tox environment list

Even though there isn't a Python 3.13 at this time, this is done for the future. tox is already configured to just warn about missing Python versions, but not fail if they don't exist. (679ddc7)

  • chore(deps): update python-semantic-release/python-semantic-release action to v9 (e11d889)

  • chore(deps): update all non-major dependencies (3c4b27e)

  • chore(deps): update dependency furo to v2024 (f6fd02d)

  • chore(deps): update dependency pytest to v8 (253babb)

  • chore(deps): update dependency pytest-docker to v3 (35d2aec)

  • chore: update version of black for pre-commit

The version of black needs to be updated to be in sync with what is in requirements-lint.txt (3501716)

  • chore(deps): update all non-major dependencies (7dc2fa6)

  • chore(deps): update codecov/codecov-action action to v4 (d2be1f7)

  • chore: adapt style for black v24 (4e68d32)

  • chore(deps): update dependency black to v24 (f59aee3)

  • chore(deps): update all non-major dependencies (48726fd)

Documentation
  • docs: add FAQ about conflicting parameters

We have received multiple issues lately about this. Add it to the FAQ. (683ce72)

  • docs(README): tweak GitLab CI usage docs (d9aaa99)

  • docs: how to run smoke tests

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (2d1f487)

  • docs(objects): minor rst formatting typo

To correctly format a code block have to use :: (57dfd17)

  • docs: correct rotate token example

Rotate token returns a dict. Change example to print the entire dict.

Closes: #​2836 (c53e695)

  • docs: Note how to use the Docker image from within GitLab CI

Ref: #​2823 (6d4bffb)

  • docs(artifacts): Fix argument indentation (c631eeb)
Feature
  • feat(job_token_scope): support Groups in job token allowlist API (#​2816)

  • feat(job_token_scope): support job token access allowlist API

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> l.dwp.gov.uk> Co-authored-by: Nejc Habjan <nejc.habjan@siemens.com> (2d1b749)

  • feat(cli): allow skipping initial auth calls (001e596)

  • feat(api): allow updating protected branches (#​2771)

  • feat(api): allow updating protected branches

Closes #​2390 (a867c48)

Fix
  • fix: Consider scope an ArrayAttribute in PipelineJobManager

List query params like 'scope' were not being handled correctly for pipeline/jobs endpoint. This change ensures multiple values are appended with '[]', resulting in the correct URL structure.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>


Background: If one queries for pipeline jobs with scope=[&#&#8203;34;failed&#&#8203;34;, &#&#8203;34;success&#&#8203;34;]

One gets: GET /api/v4/projects/176/pipelines/1113028/jobs?scope=success&scope=failed

But it is supposed to get: GET /api/v4/projects/176/pipelines/1113028/jobs?scope[]=success&scope[]=failed

The current version only considers the last element of the list argument.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> (c5d0404)

  • fix(test): use different ids for merge request, approval rule, project

The original bug was that the merge request identifier was used instead of the approval rule identifier. The test didn't notice that because it used 1 for all identifiers. Make these identifiers different so that a mixup will become apparent. (c23e6bd)

  • fix(api): fix saving merge request approval rules

Closes #​2548 (b8b3849)

  • fix: user.warn() to show correct filename of issue

Previously would only go to the 2nd level of the stack for determining the offending filename and line number. When it should be showing the first filename outside of the python-gitlab source code. As we want it to show the warning for the user of the libraries code.

Update test to show it works as expected. (529f1fa)

  • fix(api): update manual job status when playing it (9440a32)

  • fix(cli): allow exclusive arguments as optional (#​2770)

  • fix(cli): allow exclusive arguments as optional

The CLI takes its arguments from the RequiredOptional, which has three fields: required, optional, and exclusive. In practice, the exclusive options are not defined as either required or optional, and would not be allowed in the CLI. This changes that, so that exclusive options are also added to the argument parser.

  • fix(cli): inform argument parser that options are mutually exclusive

  • fix(cli): use correct exclusive options, add unit test

Closes #​2769 (7ec3189)

Test
  • test: remove approve step

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (48a6705)

  • test: tidy up functional tests

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (06266ea)

  • test: update api tests for GL 16.10
  • Make sure we're testing python-gitlab functionality, make sure we're not awaiting on Gitlab Async functions
  • Decouple and improve test stability

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (4bef473)

  • test(functional): enable bulk import feature flag before test (b81da2e)

  • test: don't use weak passwords

Newer versions of GitLab will refuse to create a user with a weak password. In order for us to move to a newer GitLab version in testing use a stronger password for the tests that create a user. (c64d126)

  • test: update tests for gitlab 16.8 functionality
  • use programmatic dates for expires_at in tokens tests
  • set PAT for 16.8 into tests

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (f8283ae)

  • test(smoke): normalize all dist titles for smoke tests (ee013fe)
astral-sh/ruff (ruff)

v0.4.7

Compare Source

Preview features
  • [flake8-pyi] Implement PYI064 (#​11325)
  • [flake8-pyi] Implement PYI066 (#​11541)
  • [flake8-pyi] Implement PYI057 (#​11486)
  • [pyflakes] Enable F822 in __init__.py files by default (#​11370)
Formatter
  • Fix incorrect placement of trailing stub function comments (#​11632)
Server
  • Respect file exclusions in ruff server (#​11590)
  • Add support for documents not exist on disk (#​11588)
  • Add Vim and Kate setup guide for ruff server (#​11615)
Bug fixes
  • Avoid removing newlines between docstring headers and rST blocks (#​11609)
  • Infer indentation with imports when logical indent is absent (#​11608)
  • Use char index rather than position for indent slice (#​11645)
  • [flake8-comprehension] Strip parentheses around generators in C400 (#​11607)
  • Mark repeated-isinstance-calls as unsafe on Python 3.10 and later (#​11622)

v0.4.6

Compare Source

Breaking changes
  • Use project-relative paths when calculating GitLab fingerprints (#​11532)
  • Bump minimum supported Windows version to Windows 10 (#​11613)
Preview features
  • [flake8-async] Sleep with >24 hour interval should usually sleep forever (ASYNC116) (#​11498)
Rule changes
  • [numpy] Add missing functions to NumPy 2.0 migration rule (#​11528)
  • [mccabe] Consider irrefutable pattern similar to if .. else for C901 (#​11565)
  • Consider match-case statements for C901, PLR0912, and PLR0915 (#​11521)
  • Remove empty strings when converting to f-string (UP032) (#​11524)
  • [flake8-bandit] request-without-timeout should warn for requests.request (#​11548)
  • [flake8-self] Ignore sunder accesses in flake8-self rules (#​11546)
  • [pyupgrade] Lint for TypeAliasType usages (UP040) (#​11530)
Server
  • Respect excludes in ruff server configuration discovery (#​11551)
  • Use default settings if initialization options is empty or not provided (#​11566)
  • ruff server correctly treats .pyi files as stub files (#​11535)
  • ruff server searches for configuration in parent directories (#​11537)
  • ruff server: An empty code action filter no longer returns notebook source actions (#​11526)
Bug fixes
  • [flake8-logging-format] Fix autofix title in logging-warn (G010) (#​11514)
  • [refurb] Avoid recommending operator.itemgetter with dependence on lambda arguments (#​11574)
  • [flake8-simplify] Avoid recommending context manager in __enter__ implementations (#​11575)
  • Create intermediary directories for --output-file (#​11550)
  • Propagate reads on global variables (#​11584)
  • Treat all singledispatch arguments as runtime-required (#​11523)

v0.4.5

Compare Source

Ruff's language server is now in Beta

v0.4.5 marks the official Beta release of ruff server, an integrated language server built into Ruff. ruff server supports the same feature set as ruff-lsp, powering linting, formatting, and code fixes in Ruff's editor integrations -- but with superior performance and no installation required. We'd love your feedback!

You can enable ruff server in the VS Code extension today.

To read more about this exciting milestone, check out our blog post!

Rule changes
  • [flake8-future-annotations] Reword future-rewritable-type-annotation (FA100) message (#​11381)
  • [pycodestyle] Consider soft keywords for E27 rules (#​11446)
  • [pyflakes] Recommend adding unused import bindings to __all__ (#​11314)
  • [pyflakes] Update documentation and deprecate ignore_init_module_imports (#​11436)
  • [pyupgrade] Mark quotes as unnecessary for non-evaluated annotations (#​11485)
Formatter
  • Avoid multiline quotes warning with quote-style = preserve (#​11490)
Server
  • Support Jupyter Notebook files (#​11206)
  • Support noqa comment code actions (#​11276)
  • Fix automatic configuration reloading (#​11492)
  • Fix several issues with configuration in Neovim and Helix (#​11497)
CLI
  • Add --output-format as a CLI option for ruff config (#​11438)
Bug fixes
  • Avoid PLE0237 for property with setter (#​11377)
  • Avoid TCH005 for if stmt with elif/else block (#​11376)
  • Avoid flagging __future__ annotations as required for non-evaluated type annotations (#​11414)
  • Check for ruff executable in 'bin' directory as installed by 'pip install --target'. (#​11450)
  • Sort edits prior to deduplicating in quotation fix (#​11452)
  • Treat escaped newline as valid sequence (#​11465)
  • [flake8-pie] Preserve parentheses in unnecessary-dict-kwargs (#​11372)
  • [pylint] Ignore __slots__ with dynamic values (#​11488)
  • [pylint] Remove try body from branch counting (#​11487)
  • [refurb] Respect operator precedence in FURB110 (#​11464)
Documentation
  • Add --preview to the README (#​11395)
  • Add Python 3.13 to list of allowed Python versions (#​11411)
  • Simplify Neovim setup documentation (#​11489)
  • Update CONTRIBUTING.md to reflect the new parser (#​11434)
  • Update server documentation with new migration guide (#​11499)
  • [pycodestyle] Clarify motivation for E713 and E714 (#​11483)
  • [pyflakes] Update docs to describe WAI behavior (F541) (#​11362)
  • [pylint] Clearly indicate what is counted as a branch (#​11423)

v0.4.4

Compare Source

Preview features
  • [pycodestyle] Ignore end-of-line comments when determining blank line rules (#​11342)
  • [pylint] Detect pathlib.Path.open calls in unspecified-encoding (PLW1514) (#​11288)
  • [flake8-pyi] Implement PYI059 (generic-not-last-base-class) (#​11233)
  • [flake8-pyi] Implement PYI062 (duplicate-literal-member) (#​11269)
Rule changes
  • [flake8-boolean-trap] Allow passing booleans as positional-only arguments in code such as set(True) (#​11287)
  • [flake8-bugbear] Ignore enum classes in cached-instance-method (B019) (#​11312)
Server
  • Expand tildes when resolving Ruff server configuration file (#​11283)
  • Fix ruff server hanging after Neovim closes (#​11291)
  • Editor settings are used by default if no file-based configuration exists (#​11266)
Bug fixes
  • [pylint] Consider with statements for too-many-branches (PLR0912) (#​11321)
  • [flake8-blind-except, tryceratops] Respect logged and re-raised expressions in nested statements (BLE001, TRY201) (#​11301)
  • Recognise assignments such as __all__ = builtins.list(["foo", "bar"]) as valid __all__ definitions (#​11335)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by shepard bot

Merge request reports