Skip to content

deps(deps-dev): bump the python-development group with 15 updates#127

Merged
d3rky merged 2 commits intomainfrom
dependabot/uv/python-development-a8604c862e
Jan 20, 2026
Merged

deps(deps-dev): bump the python-development group with 15 updates#127
d3rky merged 2 commits intomainfrom
dependabot/uv/python-development-a8604c862e

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jan 16, 2026

Bumps the python-development group with 15 updates:

Package From To
freezegun 1.4.0 1.5.5
ipython 8.38.0 9.9.0
mypy 1.8.0 1.19.1
pre-commit 3.6.2 4.5.1
pytest 7.4.4 9.0.2
pytest-cov 4.1.0 7.0.0
pytest-deadfixtures 2.2.1 3.1.0
pytest-django 4.7.0 4.11.1
pytest-mock 3.12.0 3.15.1
pytest-randomly 3.15.0 4.0.1
pytest-xdist 3.5.0 3.8.0
responses 0.24.1 0.25.8
ruff 0.12.11 0.14.13
types-requests 2.31.0.20240406 2.32.4.20260107
wemake-python-styleguide 1.3.0 1.5.0

Updates freezegun from 1.4.0 to 1.5.5

Changelog

Sourced from freezegun's changelog.

1.5.5

  • Allow parametrized arguments called 'func' (Broken in 1.5.4)

1.5.4

  • Fix: Ability to yield fixtures (broken in 1.5.3)

1.5.3

  • Fix compatibility with pytest 8.4.0 when using fixtures
  • Add (back) class-decorator overload to guarantee Pytype understands it

1.5.2

  • Remove support for Python 3.7
  • Explicitly marks support for Python 3.13
  • Improved project documentation

1.5.1

  • Fix the typing of the tick() method, and improve it's behaviour.

1.5.0

  • The default ignore list now contains the queue-package
  • Added a missing move_to-function when calling freeze_time(tick=True)
  • Fixes a rounding error in time.time_ns()
  • Fixed a bug where the default ignore list could not be empty (configure(default_ignore_list=[]))
  • All tick() methods now return the new datetime (instead of None)
  • Type improvements
Commits
  • c9bf52c Increase version number
  • 0f2bd7e Merge pull request #582 from spulec/fixture-called-func
  • a608055 Allow parametrized arguments with name 'func'
  • 2bb4711 Increase version number
  • 7599eee Add 1.5.4 release notes
  • 0d00e7d Merge pull request #579 from zsh8/decorate_generator
  • 10c93f2 fix: preserve functionality in pytest yield fixtures
  • d2e0a00 Increase version number
  • 6229e27 Add 1.5.3 release notes
  • 3111775 Merge pull request #576 from spulec/support-fixtures-pytest-840
  • Additional commits viewable in compare view

Updates ipython from 8.38.0 to 9.9.0

Commits

Updates mypy from 1.8.0 to 1.19.1

Changelog

Sourced from mypy's changelog.

Mypy 1.19.1

  • Fix noncommutative joins with bounded TypeVars (Shantanu, PR 20345)
  • Respect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR 20372)
  • Allow types.NoneType in match cases (A5rocks, PR 20383)
  • Fix mypyc generator regression with empty tuple (BobTheBuidler, PR 20371)
  • Fix crash involving Unpack-ed TypeVarTuple (Shantanu, PR 20323)
  • Fix crash on star import of redefinition (Ivan Levkivskyi, PR 20333)
  • Fix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR 20334)
  • Fail with an explicit error on PyPy (Ivan Levkivskyi, PR 20389)

Acknowledgements

Thanks to all mypy contributors who contributed to this release:

  • A5rocks
  • BobTheBuidler
  • bzoracler
  • Chainfire
  • Christoph Tyralla
  • David Foster
  • Frank Dana
  • Guo Ci
  • iap
  • Ivan Levkivskyi
  • James Hilton-Balfe
  • jhance
  • Joren Hammudoglu
  • Jukka Lehtosalo
  • KarelKenens
  • Kevin Kannammalil
  • Marc Mueller
  • Michael Carlstrom
  • Michael J. Sullivan
  • Piotr Sawicki
  • Randolf Scholz
  • Shantanu
  • Sigve Sebastian Farstad
  • sobolevn
  • Stanislav Terliakov
  • Stephen Morton
  • Theodore Ando
  • Thiago J. Barbalho
  • wyattscarpenter

I’d also like to thank my employer, Dropbox, for supporting mypy development.

Mypy 1.18

We’ve just uploaded mypy 1.18.1 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance

... (truncated)

Commits

Updates pre-commit from 3.6.2 to 4.5.1

Release notes

Sourced from pre-commit's releases.

pre-commit v4.5.1

Fixes

  • Fix language: python with repo: local without additional_dependencies.

pre-commit v4.5.0

Features

pre-commit v4.4.0

Features

Fixes

pre-commit v4.3.0

Features

pre-commit v4.2.0

Features

  • For language: python first attempt a versioned python executable for the default language version before consulting a potentially unversioned sys.executable.

Fixes

... (truncated)

Changelog

Sourced from pre-commit's changelog.

4.5.1 - 2025-12-16

Fixes

  • Fix language: python with repo: local without additional_dependencies.

4.5.0 - 2025-11-22

Features

4.4.0 - 2025-11-08

Features

Fixes

4.3.0 - 2025-08-09

Features

... (truncated)

Commits
  • 8a0630c v4.5.1
  • fcbc745 Merge pull request #3597 from pre-commit/empty-setup-py
  • 51592ee fix python local template when artifact dirs are present
  • 67e8faf Merge pull request #3596 from pre-commit/pre-commit-ci-update-config
  • c251e6b [pre-commit.ci] pre-commit autoupdate
  • 98ccafa Merge pull request #3593 from pre-commit/pre-commit-ci-update-config
  • 4895355 [pre-commit.ci] pre-commit autoupdate
  • 2cedd58 Merge pull request #3588 from pre-commit/pre-commit-ci-update-config
  • 465192d [pre-commit.ci] pre-commit autoupdate
  • fd42f96 Merge pull request #3586 from pre-commit/zipapp-sha256-file-not-needed
  • Additional commits viewable in compare view

Updates pytest from 7.4.4 to 9.0.2

Release notes

Sourced from pytest's releases.

9.0.2

pytest 9.0.2 (2025-12-06)

Bug fixes

  • #13896: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.

    You may enable it again by passing -p terminalprogress. We may enable it by default again once compatibility improves in the future.

    Additionally, when the environment variable TERM is dumb, the escape codes are no longer emitted, even if the plugin is enabled.

  • #13904: Fixed the TOML type of the tmp_path_retention_count settings in the API reference from number to string.

  • #13946: The private config.inicfg attribute was changed in a breaking manner in pytest 9.0.0. Due to its usage in the ecosystem, it is now restored to working order using a compatibility shim. It will be deprecated in pytest 9.1 and removed in pytest 10.

  • #13965: Fixed quadratic-time behavior when handling unittest subtests in Python 3.10.

Improved documentation

  • #4492: The API Reference now contains cross-reference-able documentation of pytest's command-line flags <command-line-flags>.

9.0.1

pytest 9.0.1 (2025-11-12)

Bug fixes

  • #13895: Restore support for skipping tests via raise unittest.SkipTest.
  • #13896: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.
  • #13904: Fixed the TOML type of the verbosity settings in the API reference from number to string.
  • #13910: Fixed UserWarning: Do not expect file_or_dir on some earlier Python 3.12 and 3.13 point versions.

Packaging updates and notes for downstreams

  • #13933: The tox configuration has been adjusted to make sure the desired version string can be passed into its package_env through the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST environment variable as a part of the release process -- by webknjaz.

Contributor-facing changes

  • #13891, #13942: The CI/CD part of the release automation is now capable of creating GitHub Releases without having a Git checkout on disk -- by bluetech and webknjaz.
  • #13933: The tox configuration has been adjusted to make sure the desired version string can be passed into its package_env through the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST environment variable as a part of the release process -- by webknjaz.

... (truncated)

Commits
  • 3d10b51 Prepare release version 9.0.2
  • 188750b Merge pull request #14030 from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...
  • b7d7bef Merge pull request #14014 from bluetech/compat-note
  • bd08e85 Merge pull request #14013 from pytest-dev/patchback/backports/9.0.x/922b60377...
  • bc78386 Add CLI options reference documentation (#13930)
  • 5a4e398 Fix docs typo (#14005) (#14008)
  • d7ae6df Merge pull request #14006 from pytest-dev/maintenance/update-plugin-list-tmpl...
  • 556f6a2 pre-commit: fix rst-lint after new release (#13999) (#14001)
  • c60fbe6 Fix quadratic-time behavior when handling unittest subtests in Python 3.10 ...
  • 73d9b01 Merge pull request #13995 from nicoddemus/patchback/backports/9.0.x/1b5200c0f...
  • Additional commits viewable in compare view

Updates pytest-cov from 4.1.0 to 7.0.0

Changelog

Sourced from pytest-cov's changelog.

7.0.0 (2025-09-09)

  • Dropped support for subprocesses measurement.

    It was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests. It relied on a .pth file, there was no way to opt-out and it created bad interations with coverage's new patch system <https://coverage.readthedocs.io/en/latest/config.html#run-patch>_ added in 7.10 <https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24>_.

    To migrate to this release you might need to enable the suprocess patch, example for .coveragerc:

    .. code-block:: ini

    [run] patch = subprocess

    This release also requires at least coverage 7.10.6.

  • Switched packaging to have metadata completely in pyproject.toml and use hatchling <https://pypi.org/project/hatchling/>_ for building. Contributed by Ofek Lev in [#551](https://github.com/pytest-dev/pytest-cov/issues/551) <https://github.com/pytest-dev/pytest-cov/pull/551>_ with some extras in [#716](https://github.com/pytest-dev/pytest-cov/issues/716) <https://github.com/pytest-dev/pytest-cov/pull/716>_.

  • Removed some not really necessary testing deps like six.

6.3.0 (2025-09-06)

  • Added support for markdown reports. Contributed by Marcos Boger in [#712](https://github.com/pytest-dev/pytest-cov/issues/712) <https://github.com/pytest-dev/pytest-cov/pull/712>_ and [#714](https://github.com/pytest-dev/pytest-cov/issues/714) <https://github.com/pytest-dev/pytest-cov/pull/714>_.
  • Fixed some formatting issues in docs. Anonymous contribution in [#706](https://github.com/pytest-dev/pytest-cov/issues/706) <https://github.com/pytest-dev/pytest-cov/pull/706>_.

6.2.1 (2025-06-12)

  • Added a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.

  • Removed deprecated license classifier (packaging).

  • Disabled coverage warnings in two more situations where they have no value:

    • "module-not-measured" in workers
    • "already-imported" in subprocesses

6.2.0 (2025-06-11)

  • The plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::

    default:unclosed database in <sqlite3.Connection object at:ResourceWarning once::PytestCovWarning

... (truncated)

Commits
  • 224d896 Bump version: 6.3.0 → 7.0.0
  • 73424e3 Cleanup the docs a bit.
  • 36f1cc2 Bump pins in template.
  • f299c59 Bump the github-actions group with 2 updates
  • 25f0b2e Update docs/config.rst
  • bb23eac Improve configuration docs
  • a19531e Switch from build/pre-commit to uv/prek - this should make this faster.
  • 82f9993 Update changelog.
  • 211b5cd Fix links.
  • 97aadd7 Update some ci config, reformat and apply some lint fixes.
  • Additional commits viewable in compare view

Updates pytest-deadfixtures from 2.2.1 to 3.1.0

Release notes

Sourced from pytest-deadfixtures's releases.

3.0.0

What's Changed

New Contributors

Full Changelog: jllorencetti/pytest-deadfixtures@2.2.1...3.0.0

Changelog

Sourced from pytest-deadfixtures's changelog.

3.1.0


* Add `deadfixtures_ignore` decorator to ignore specific fixtures from being reported as unused

3.0.0

  • Drop support for Python 3.5
  • Add support for Python 3.8 and 3.9
Commits
  • 58fd817 Remove license classifier
  • fef94a5 Add documentation for ignoring specific fixtures
  • 33a4a02 Add support for ignoring specific fixtures
  • 7eae1ae Fixes code format
  • e6dbe8e add unused fixtures count
  • 28605dc Run tests on supported Python versions
  • bdae857 Bump actions/checkout from 4 to 5
  • f5e6c4a Bump actions/setup-python from 5 to 6
  • 5abe1f1 add support 3.12 and 3.13 python, min python set 3.8
  • ff9bf35 add support 3.12 and 3.13 python, min python set 3.8
  • Additional commits viewable in compare view

Updates pytest-django from 4.7.0 to 4.11.1

Release notes

Sourced from pytest-django's releases.

v4.11.1

https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4111-2025-04-03

v4.11.0

https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4110-2025-04-01

v4.10.0

https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4100-2025-02-10

v4.9.0

https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v490-2024-09-02

4.8.0

https://pytest-django.readthedocs.io/en/latest/changelog.html#v4-8-0-2024-01-30

Changelog

Sourced from pytest-django's changelog.

v4.11.1 (2025-04-03)

Bugfixes ^^^^^^^^

  • Fixed a regression in v4.11.0 for Django TestCase tests using the databases class variable ([#1188](https://github.com/pytest-dev/pytest-django/issues/1188) <https://github.com/pytest-dev/pytest-django/issues/1188>__).

v4.11.0 (2025-04-01)

Compatibility ^^^^^^^^^^^^^

  • Added official support for Django 5.2 (PR [#1179](https://github.com/pytest-dev/pytest-django/issues/1179) <https://github.com/pytest-dev/pytest-django/pull/1179>__).
  • Dropped testing on MySQL’s MyISAM storage engine (PR [#1180](https://github.com/pytest-dev/pytest-django/issues/1180) <https://github.com/pytest-dev/pytest-django/pull/1180>__).

Bugfixes ^^^^^^^^

  • Stopped setting up and serializing databases on test session setup when not needed (the database is not requested / serialized_rollback is not used). On test databases with large amounts of pre-seeded data, this may remove a delay of a few seconds when running pytest --reuse-db.

    The determination of which databases to setup is done by static inspection of the test suite. Using pytest's dynamic features to request db access, such as :meth:request.getfixturevalue("db") <pytest.FixtureRequest.getfixturevalue>, may throw off this analysis. If you start seeing DatabaseOperationForbidden or "unable to open database" errors, this is likely the cause. To fix this, decorate at least one test with the :func:django_db <pytest.mark.django_db> marker with appropriate databases and serialized_rollback settings.

v4.10.0 (2025-02-10)

Compatibility ^^^^^^^^^^^^^

  • Added official support for Python 3.13.

Improvements ^^^^^^^^^^^^

  • Added using argument to :fixture:django_assert_num_queries and :fixture:django_assert_max_num_queries to easily specify the database alias to use.

Bugfixes ^^^^^^^^

  • Fixed lock/unlock of db breaks if pytest is executed twice in the same process.

v4.9.0 (2024-09-02)

... (truncated)

Commits
  • 5ada9c1 Release 4.11.1
  • cf3f0bb fixtures: fixup a regression in previous release for TestCase multi-db support
  • 6d5c272 Release 4.11.0
  • 8000db0 Only setup and serialize databases as needed by tests
  • 6f7fc26 Add optional integration of pytest into django's manage.py test
  • 3071a66 docs/conf.py: format with ruff format
  • 3f44e50 fixtures: avoid unnecessary closure
  • b732869 Remove testing on MyISAM (#1180)
  • e362f4c Add support for Django 5.2 (#1179)
  • d8dc3d9 Release 4.10.0
  • Additional commits viewable in compare view

Updates pytest-mock from 3.12.0 to 3.15.1

Release notes

Sourced from pytest-mock's releases.

v3.15.1

2025-09-16

  • #529: Fixed itertools._tee object has no attribute error -- now duplicate_iterators=True must be passed to mocker.spy to duplicate iterators.

v3.15.0

2025-09-04

  • Python 3.8 (EOL) is no longer supported.
  • #524: Added spy_return_iter to mocker.spy, which contains a duplicate of the return value of the spied method if it is an Iterator.

v3.14.1

  • #503: Python 3.14 is now officially supported.

v3.14.0

  • #415: MockType and AsyncMockType can be imported from pytest_mock for type annotation purposes.
  • #420: Fixed a regression which would cause mocker.patch.object to not being properly cleared between tests.

v3.13.0

  • #417: spy now has spy_return_list, which is a list containing all the values returned by the spied function.
  • pytest-mock now requires pytest>=6.2.5.
  • #410: pytest-mock's setup.py file is removed. If you relied on this file, e.g. to install pytest using setup.py install, please see Why you shouldn't invoke setup.py directly for alternatives.
Changelog

Sourced from pytest-mock's changelog.

3.15.1

2025-09-16

  • [#529](https://github.com/pytest-dev/pytest-mock/issues/529) <https://github.com/pytest-dev/pytest-mock/issues/529>_: Fixed itertools._tee object has no attribute error -- now duplicate_iterators=True must be passed to mocker.spy to duplicate iterators.

3.15.0

2025-09-04

  • Python 3.8 (EOL) is no longer supported.
  • [#524](https://github.com/pytest-dev/pytest-mock/issues/524) <https://github.com/pytest-dev/pytest-mock/pull/524>_: Added spy_return_iter to mocker.spy, which contains a duplicate of the return value of the spied method if it is an Iterator.

3.14.1 (2025-05-26)

  • [#503](https://github.com/pytest-dev/pytest-mock/issues/503) <https://github.com/pytest-dev/pytest-mock/pull/503>_: Python 3.14 is now officially supported.

3.14.0 (2024-03-21)

  • [#415](https://github.com/pytest-dev/pytest-mock/issues/415) <https://github.com/pytest-dev/pytest-mock/pull/415>_: MockType and AsyncMockType can be imported from pytest_mock for type annotation purposes.

  • [#420](https://github.com/pytest-dev/pytest-mock/issues/420) <https://github.com/pytest-dev/pytest-mock/issues/420>_: Fixed a regression which would cause mocker.patch.object to not being properly cleared between tests.

3.13.0 (2024-03-21)

  • [#417](https://github.com/pytest-dev/pytest-mock/issues/417) <https://github.com/pytest-dev/pytest-mock/pull/417>_: spy now has spy_return_list, which is a list containing all the values returned by the spied function.
  • pytest-mock now requires pytest>=6.2.5.
  • [#410](https://github.com/pytest-dev/pytest-mock/issues/410) <https://github.com/pytest-dev/pytest-mock/pull/410>: pytest-mock's setup.py file is removed. If you relied on this file, e.g. to install pytest using setup.py install, please see Why you shouldn't invoke setup.py directly <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary> for alternatives.
Commits
  • e1b5c62 Release 3.15.1
  • 184eb19 Set spy_return_iter only when explicitly requested (#537)
  • 4fa0088 [pre-commit.ci] pre-commit autoupdate (#536)
  • f5aff33 Fix test failure with pytest 8+ and verbose mode (#535)
  • adc4187 Bump actions/setup-python from 5 to 6 in the github-actions group (#533)
  • 95ad570 [pre-commit.ci] pre-commit autoupdate (#532)
  • e696bf0 Fix standalone mock support (#531)
  • 5b29b03 Fix gen-release-notes script
  • 7d22ef4 Merge pull request #528 from pytest-dev/release-3.15.0
  • 90b29f8 Update CHANGELOG for 3.15.0
  • Additional commits viewable in compare view

Updates pytest-randomly from 3.15.0 to 4.0.1

Changelog

Sourced from pytest-randomly's changelog.

4.0.1 (2025-09-12)

  • Remove the random state caching, which would grow without bound, leaking memory in long test runs. The caching was added to slightly speed up re-using the same (final) seed, but since the final seed is now different for each test, it has no effect.

    PR [#690](https://github.com/pytest-dev/pytest-randomly/issues/690) <https://github.com/pytest-dev/pytest-randomly/issues/687>__.

  • Modify Numpy seed restriction, replacing hashing with a modulo operation. The extra work to hash is unnecessary now that we generate a final seed per test with CRC32. This change saves ~500ns per test when Numpy is installed.

    PR [#691](https://github.com/pytest-dev/pytest-randomly/issues/691) <https://github.com/pytest-dev/pytest-randomly/issues/691>__.

4.0.0 (2025-09-10)

  • Support Python 3.14.

  • Use a different random seed per test, based on the test ID.

    This change should mean that tests exercise more random data values in a given run, and that any randomly-generated identifiers have a lower chance of collision when stored in a shared resource like a database.

    PR [#687](https://github.com/pytest-dev/pytest-randomly/issues/687) <https://github.com/pytest-dev/pytest-randomly/issues/687>. Thanks to Bryce Drennan for the suggestion in Issue [#600](https://github.com/pytest-dev/pytest-randomly/issues/600) <https://github.com/pytest-dev/pytest-randomly/issues/600> and initial implementation in PR [#617](https://github.com/pytest-dev/pytest-randomly/issues/617) <https://github.com/pytest-dev/pytest-randomly/pull/617>__.

  • Move from MD5 to CRC32 for hashing test IDs, as it’s 5x faster and we don’t need cryptographic security.

    Issue [#686](https://github.com/pytest-dev/pytest-randomly/issues/686) <https://github.com/pytest-dev/pytest-randomly/issues/686>__.

3.16.0 (2024-10-25)

  • Drop Python 3.8 support.

  • Support Python 3.13.

Commits

Updates pytest-xdist from 3.5.0 to 3.8.0

Changelog

Sourced from pytest-xdist's changelog.

pytest-xdist 3.8.0 (2025-06-30)

Features

  • [#1083](https://github.com/pytest-dev/pytest-xdist/issues/1083) <https://github.com/pytest-dev/pytest-xdist/issues/1083>_: Add --no-loadscope-reorder and --loadscope-reorder option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using loadscope.

    For example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if --no-loadscope-reorder is used, for either worker, the test_file_a will be executed before test_file_b only if a < b.

    The default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.

pytest-xdist 3.7.0 (2025-05-26)

Features

  • [#1142](https://github.com/pytest-dev/pytest-xdist/issues/1142) <https://github.com/pytest-dev/pytest-xdist/issues/1142>_: Added support for Python 3.13.

  • [#1144](https://github.com/pytest-dev/pytest-xdist/issues/1144) <https://github.com/pytest-dev/pytest-xdist/issues/1144>_: The internal steal command is now atomic - it unschedules either all requested tests or none.

    This is a prerequisite for group/scope support in the worksteal scheduler, so test groups won't be broken up incorrectly.

  • [#1170](https://github.com/pytest-dev/pytest-xdist/issues/1170) <https://github.com/pytest-dev/pytest-xdist/issues/1170>_: Add the --px arg to create proxy gateways.

    Proxy gateways are passed to additional gateways using the via keyword. They can serve as a way to run multiple workers on remote machines.

  • [#1200](https://github.com/pytest-dev/pytest-xdist/issues/1200) <https://github.com/pytest-dev/pytest-xdist/issues/1200>_: Now multiple xdist_group markers are considered when assigning tests to groups (order does not matter).

    Previously, only the last marker would assign a test to a group, but now if a test has multiple xdist_group marks applied (for example via parametrization or via fixtures), they are merged to make a new group.

Removals

  • [#1162](https://github.com/pytest-dev/pytest-xdist/issues/1162) <https://github.com/pytest-dev/pytest-xdist/issues/1162>_: Dropped support for EOL Python 3.8.

Trivial Changes

  • [#1092](https://github.com/pytest-dev/pytest-xdist/issues/1092) <https://github.com/pytest-dev/pytest-xdist/issues/1092>_: Update an error message to better indicate where users should go for more information.

  • [#1190](https://github.com/pytest-dev/pytest-xdist/issues/1190) <https://github.com/pytest-dev/pytest-xdist/issues/1190>_: Switched to using a SPDX license identifier introduced in PEP 639.

pytest-xdist 3.6.1 (2024-04-28)

... (truncated)

Commits
  • 1e3e4dc Release 3.8.0
  • 600aad5 Ensure all xdist group names are strings (#1216)
  • 9d7ba5b Add --no-loadscope-reorder and --loadscope-reorder options (#1217)
  • 532f07f Merge pul...

    Description has been truncated

    • Bump 15 development dependencies (freezegun, ipython, mypy, pre-commit, pytest and pytest plugins, ruff, wemake-python-styleguide, types-requests, responses, etc.)
    • Move package version handling into new module mpt_extension_sdk/runtime/version.py (adds version and get_version()); remove version resolution and get_version from mpt_extension_sdk/runtime/init.py and update imports (swoext)
    • Add product helper utilities: extract_product_ids() and get_for_product() in mpt_extension_sdk/runtime/djapp/conf/product_utils.py and re-export them from mpt_extension_sdk/runtime/djapp/conf/init.py; add tests
    • Adjust RQL exports/imports: expose R and RQLQuery directly from mpt_extension_sdk.swo_rql.init and import R as RQLQuery where used
    • Change command registration in mpt_extension_sdk/runtime/swoext.py to build a cmds collection then add each CLI command
    • Move linter/style configuration from setup.cfg into pyproject.toml (add [tool.flake8], expand [tool.ruff], many per-file ignores); remove linter config from setup.cfg
    • Update .pre-commit-config.yaml (bump ruff pre-commit rev; add flake8-pyproject and wemake-python-styleguide to flake8 hook dependencies)

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jan 16, 2026
@dependabot dependabot Bot requested a review from a team as a code owner January 16, 2026 17:18
@dependabot dependabot Bot requested review from d3rky and robcsegal January 16, 2026 17:18
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jan 16, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 16, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

Version handling moved from the runtime package to a new runtime.version module; djapp config helpers were relocated to product_utils and re-exported; RQL imports/aliases were adjusted; CLI command registration import path updated; linting and pre-commit tooling configurations were consolidated into pyproject.toml and .pre-commit-config.yaml.

Changes

Cohort / File(s) Summary
Version management refactor
mpt_extension_sdk/runtime/__init__.py, mpt_extension_sdk/runtime/version.py, mpt_extension_sdk/runtime/swoext.py
Removed module-level __version__ and get_version() from runtime; added runtime/version.py implementing __version__ and get_version() (reads package metadata); updated swoext.py to import get_version() from mpt_extension_sdk.runtime.version and adjusted CLI command registration flow.
djapp config utilities
mpt_extension_sdk/runtime/djapp/conf/__init__.py, mpt_extension_sdk/runtime/djapp/conf/product_utils.py
Moved implementations of extract_product_ids() and get_for_product() into product_utils.py; __init__.py now imports and re-exports those functions via __all__, removing local implementations; added unit tests under tests/runtime/djapp/conf/.
RQL public API adjustment
mpt_extension_sdk/swo_rql/__init__.py, mpt_extension_sdk/runtime/events/producers.py
swo_rql.__init__ now imports R and RQLQuery directly from ...query_builder; producers.py updated to import R as RQLQuery (alias/import binding change).
Linting & tooling consolidation
pyproject.toml, setup.cfg, .pre-commit-config.yaml, sonar-project.properties
Moved and expanded Flake8/Ruff configuration into pyproject.toml and removed related blocks from setup.cfg; broadened dev dependency version constraints; bumped pre-commit ruff hook and added flake8 additional deps; updated Sonar exclusions.
Tests
tests/runtime/djapp/conf/test_product_utils.py
Added tests for extract_product_ids and get_for_product validating splitting and settings lookup.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore
❌ Failed checks (1 error)
Check name Status Explanation Resolution
Jira Issue Key In Title ❌ Error The PR title does not contain the Jira issue key MPT-16559 in the required format, though it is mentioned in the PR description. Update the PR title to include MPT-16559 at the beginning, e.g., 'MPT-16559: deps(deps-dev): bump the python-development group with 15 updates'.
✅ Passed checks (2 passed)
Check name Status Explanation
Test Coverage Required ✅ Passed Code files were modified and test files were included in the changes, specifically test_product_utils.py.
Single Commit Required ✅ Passed The PR contains exactly one commit (7ccc87e MPT-16559 Fix new ruff rules, move setup.cfg to pyproject.toml), as confirmed by git rev-list --count HEAD returning 1.

Comment @coderabbitai help to get the list of available commands and usage tips.

@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch from 3188f71 to 2d21448 Compare January 16, 2026 18:52
@d3rky
Copy link
Copy Markdown
Collaborator

d3rky commented Jan 16, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 16, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch from 2d21448 to 2060a7c Compare January 16, 2026 18:58
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Fix all issues with AI agents
In `@mpt_extension_sdk/runtime/swoext.py`:
- Around line 30-37: The lazy maps mean import_string is never called and
commands never registered; consume the iterator returned by cmds and register
each command. Replace the second map call with an explicit iteration or
materialize the list so import_string is executed (e.g., iterate over cmds and
call cli.add_command(cmd) for each imported command), referencing the cmds
variable, import_string and cli.add_command to locate and change the code.

In `@mpt_extension_sdk/runtime/version.py`:
- Around line 1-6: The try/except in this module is too broad—narrow the
exception to only handle the expected PackageNotFoundError from
importlib.metadata: import PackageNotFoundError and change the except Exception
around version("swo-runtime") to except PackageNotFoundError so that only the
missing-package case sets __version__ = "0.0.0" while letting other errors
surface; keep the __version__ assignment and the call to version("swo-runtime")
intact.

In `@mpt_extension_sdk/swo_rql/__init__.py`:
- Line 1: The import in __init__.py uses "from
mpt_extension_sdk.swo_rql.query_builder import RQLQuery as R" and currently
includes an unused "# noqa: WPS347" directive; remove the trailing "# noqa:
WPS347" from that import statement so the linter no longer reports RUF100 and
the import remains unchanged (keep the alias R and the RQLQuery symbol).
- Around line 1-3: Restore the removed public export by reintroducing the
RQLQuery alias pointing to R (RQLQuery = R) and include both "R" and "RQLQuery"
in __all__ so external callers using from mpt_extension_sdk.swo_rql import
RQLQuery keep working; add a brief deprecation comment or docstring near the
alias to indicate RQLQuery is deprecated and should be replaced by R for future
removal.

In `@pyproject.toml`:
- Around line 50-55: Replace the broad major-only constraint "ipython==9.*" with
a minor-series wildcard to pin the intended minor version (for example
"ipython==9.9.*"); locate the ipython entry in pyproject.toml (the string
"ipython==9.*") and update it to the chosen minor wildcard so upgrades won't
accidentally jump minor versions.
🧹 Nitpick comments (3)
pyproject.toml (2)

47-49: Add flake8-aaa or remove the TODO to avoid drift.

The dependency is commented out, but team guidance indicates flake8-aaa should be part of the linting stack. If it’s still required, please enable it (and update pre-commit accordingly); otherwise, remove the TODO. Based on learnings, flake8-aaa should be enabled for AAA test validation.

♻️ Suggested change
-    # "flake8-aaa==0.17.*", # also update pre-commit config TODO: add it on next iteration
+    "flake8-aaa==0.17.*", # also update pre-commit config

120-149: Deduplicate per-file-ignores entries for clarity.

There are redundant entries (e.g., mpt_extension_sdk/swo_rql/__init__.py appears twice) and repeated codes (WPS202/WPS460). Consolidating reduces maintenance risk and confusion.

♻️ Cleanup example
-  "mpt_extension_sdk/runtime/utils.py: WPS100 WPS202 WPS460 WPS210 WPS221 WPS349 WPS110 WPS430 WPS237 WPS202 WPS460",
-  "mpt_extension_sdk/swo_rql/__init__.py: WPS111 WPS410",
+  "mpt_extension_sdk/runtime/utils.py: WPS100 WPS202 WPS460 WPS210 WPS221 WPS349 WPS110 WPS430 WPS237",
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)

4-6: Trim and filter product IDs from comma-separated input.
This avoids empty tokens and whitespace-related lookup misses.

♻️ Suggested improvement
 def extract_product_ids(product_ids: str) -> list[str]:
     """Extract product IDs from a comma-separated string."""
-    return product_ids.split(",")
+    return [pid.strip() for pid in product_ids.split(",") if pid.strip()]
📜 Review details

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between be3202f and 2d21448.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (9)
  • mpt_extension_sdk/runtime/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • mpt_extension_sdk/runtime/events/producers.py
  • mpt_extension_sdk/runtime/swoext.py
  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/swo_rql/__init__.py
  • pyproject.toml
  • setup.cfg
💤 Files with no reviewable changes (2)
  • mpt_extension_sdk/runtime/init.py
  • setup.cfg
🧰 Additional context used
📓 Path-based instructions (3)
**/*.py

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.py: All configuration must be provided via environment variables, not hardcoded
Use type annotations (PEP 484) in all Python code
All public functions, methods, and classes must include Google-style docstrings
Do not add inline comments; rely on clear code and docstrings instead
Function and variable names must be explicit and intention-revealing
Follow PEP 8 unless explicitly overridden by ruff
Prefer simple, explicit code over clever or compact implementations

Files:

  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • mpt_extension_sdk/runtime/events/producers.py
  • mpt_extension_sdk/swo_rql/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py
  • mpt_extension_sdk/runtime/swoext.py

⚙️ CodeRabbit configuration file

**/*.py: Follow the linting rules defined in pyproject.toml under [tool.ruff] and [tool.flake8] sections.
For formatting, use Ruff instead of Black. Do not suggest Black formatting changes.

Files:

  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • mpt_extension_sdk/runtime/events/producers.py
  • mpt_extension_sdk/swo_rql/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py
  • mpt_extension_sdk/runtime/swoext.py
**/*

⚙️ CodeRabbit configuration file

**/*: For each subsequent commit in this PR, explicitly verify if previous review comments have been resolved

Files:

  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • mpt_extension_sdk/runtime/events/producers.py
  • pyproject.toml
  • mpt_extension_sdk/swo_rql/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py
  • mpt_extension_sdk/runtime/swoext.py
pyproject.toml

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

In pyproject.toml, use * for minor versions only (e.g., django==4.2.*, not django==^4.2.2)

Files:

  • pyproject.toml
🧠 Learnings (5)
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: Use flake8 exclusively to run wemake-python-styleguide and flake8-aaa for strict Python coding standards and test pattern validation

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: Applies to **/*.py : Follow PEP 8 unless explicitly overridden by ruff

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: Use ruff as the primary linter for general Python style and best practices

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-15T11:58:23.192Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 116
File: pyproject.toml:31-31
Timestamp: 2026-01-15T11:58:23.192Z
Learning: In pyproject.toml, when specifying the Python 'regex' package, prefer calendar versioning (year.month) such as regex==2025.* instead of a general minor-version wildcard. This avoids weekly/monthly updates and aligns with the package's versioning scheme for longer stability.

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-15T15:23:47.310Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 123
File: pyproject.toml:21-25
Timestamp: 2026-01-15T15:23:47.310Z
Learning: Pin exact versions (no wildcards) for opentelemetry-api and opentelemetry-sdk in pyproject.toml to avoid dependency resolution issues with dependabot when combined with azure-monitor-opentelemetry-exporter==1.0.0b46. Ensure the constraints are exact version specifiers (e.g., opentelemetry-api = '1.39.0', opentelemetry-sdk = '1.39.0') and avoid wildcard/minor-range specs. Validate by checking that no '~', '*', '>=', or '<=' operators are used for these packages and that the lockfile or dependency resolver reflects the exact pins.

Applied to files:

  • pyproject.toml
🧬 Code graph analysis (4)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)
mpt_extension_sdk/flows/context.py (1)
  • product_id (25-27)
mpt_extension_sdk/runtime/events/producers.py (1)
mpt_extension_sdk/swo_rql/query_builder.py (1)
  • RQLQuery (55-392)
mpt_extension_sdk/runtime/djapp/conf/__init__.py (1)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (2)
  • extract_product_ids (4-6)
  • get_for_product (9-11)
mpt_extension_sdk/runtime/swoext.py (1)
mpt_extension_sdk/runtime/version.py (1)
  • get_version (9-11)
🪛 Ruff (0.14.11)
mpt_extension_sdk/runtime/version.py

5-5: Do not catch blind exception: Exception

(BLE001)

mpt_extension_sdk/swo_rql/__init__.py

1-1: Unused noqa directive (unknown: WPS347)

Remove unused noqa directive

(RUF100)

🔇 Additional comments (7)
pyproject.toml (2)

45-46: Confirm earlier review comments are resolved for this follow-up commit.

This PR has multiple commits; please verify any prior review comments for earlier commits are fully addressed in this update.


57-63: Confirm intended versions for pytest-deadfixtures and ruff.

The PR objective lists newer targets (pytest-deadfixtures 3.1.x, ruff 0.14.13), but the config currently pins 3.0.* and 0.14.11. Please confirm the intended versions and align if needed.

🔍 If matching the PR target, consider
-    "pytest-deadfixtures==3.0.*",
+    "pytest-deadfixtures==3.1.*",
...
-    "ruff==0.14.11", # force ruff version to have same formatting everywhere, also update in pre-commit config
+    "ruff==0.14.13", # force ruff version to have same formatting everywhere, also update in pre-commit config
mpt_extension_sdk/runtime/version.py (1)

9-11: LGTM: centralized version accessor.

mpt_extension_sdk/runtime/swoext.py (1)

5-5: Import path update looks good.

mpt_extension_sdk/runtime/events/producers.py (1)

14-14: Alias import aligns with the updated swo_rql export.

mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)

9-11: Product-scoped lookup looks fine.

mpt_extension_sdk/runtime/djapp/conf/__init__.py (1)

1-6: Clean re-export and public API declaration.

The import and __all__ make the public surface explicit and consistent.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment thread mpt_extension_sdk/runtime/swoext.py Outdated
Comment thread mpt_extension_sdk/runtime/version.py Outdated
Comment thread mpt_extension_sdk/swo_rql/__init__.py Outdated
Comment thread mpt_extension_sdk/swo_rql/__init__.py Outdated
Comment thread pyproject.toml
@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch from 2060a7c to 41fa29d Compare January 16, 2026 19:12
@d3rky
Copy link
Copy Markdown
Collaborator

d3rky commented Jan 16, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 16, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.pre-commit-config.yaml (1)

25-30: Align wemake-python-styleguide version with pyproject.toml.

The pre-commit hook pins wemake-python-styleguide==1.4.*, while pyproject.toml uses 1.5.*. This can yield inconsistent lint results between local runs and CI.

🔧 Suggested alignment
-          [flake8-pyproject==1.2.*, wemake-python-styleguide==1.4.*]
+          [flake8-pyproject==1.2.*, wemake-python-styleguide==1.5.*]
♻️ Duplicate comments (1)
mpt_extension_sdk/runtime/swoext.py (1)

30-37: Replace list comprehension with explicit loop to avoid non-idiomatic side effects.

The list comprehension [cli.add_command(cmd) for cmd in cmds] at lines 30-37 uses side effects non-idiomatically and triggers Ruff's B018 (unused expression). Replace it with an explicit for loop:

Suggested fix
 cmds = map(
     import_string,
     (
         "mpt_extension_sdk.runtime.commands.run.run",
         "mpt_extension_sdk.runtime.commands.django.django",
     ),
 )
-[cli.add_command(cmd) for cmd in cmds]
+for cmd in cmds:
+    cli.add_command(cmd)
🧹 Nitpick comments (2)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)

4-6: Trim/ignore empty product IDs when splitting.

If callers pass "id1, id2, " or an empty string, this returns tokens with whitespace or "". Consider stripping and filtering to avoid accidental empty IDs.

♻️ Proposed tweak
 def extract_product_ids(product_ids: str) -> list[str]:
     """Extract product IDs from a comma-separated string."""
-    return product_ids.split(",")
+    return [pid.strip() for pid in product_ids.split(",") if pid.strip()]
pyproject.toml (1)

97-149: Consolidate duplicate per-file-ignores entries.

mpt_extension_sdk/swo_rql/__init__.py appears twice. Merging into a single entry avoids ambiguity and future drift.

🧹 Suggested cleanup
-  "mpt_extension_sdk/swo_rql/__init__.py: WPS412 WPS111 WPS410",
@@
-  "mpt_extension_sdk/swo_rql/__init__.py: WPS111 WPS410",
+  "mpt_extension_sdk/swo_rql/__init__.py: WPS412 WPS111 WPS410",
📜 Review details

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2d21448 and 41fa29d.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (10)
  • .pre-commit-config.yaml
  • mpt_extension_sdk/runtime/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • mpt_extension_sdk/runtime/events/producers.py
  • mpt_extension_sdk/runtime/swoext.py
  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/swo_rql/__init__.py
  • pyproject.toml
  • setup.cfg
💤 Files with no reviewable changes (2)
  • mpt_extension_sdk/runtime/init.py
  • setup.cfg
🧰 Additional context used
📓 Path-based instructions (3)
**/*.py

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.py: All configuration must be provided via environment variables, not hardcoded
Use type annotations (PEP 484) in all Python code
All public functions, methods, and classes must include Google-style docstrings
Do not add inline comments; rely on clear code and docstrings instead
Function and variable names must be explicit and intention-revealing
Follow PEP 8 unless explicitly overridden by ruff
Prefer simple, explicit code over clever or compact implementations

Files:

  • mpt_extension_sdk/runtime/events/producers.py
  • mpt_extension_sdk/runtime/swoext.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/swo_rql/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py

⚙️ CodeRabbit configuration file

**/*.py: Follow the linting rules defined in pyproject.toml under [tool.ruff] and [tool.flake8] sections.
For formatting, use Ruff instead of Black. Do not suggest Black formatting changes.

Files:

  • mpt_extension_sdk/runtime/events/producers.py
  • mpt_extension_sdk/runtime/swoext.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/swo_rql/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py
**/*

⚙️ CodeRabbit configuration file

**/*: For each subsequent commit in this PR, explicitly verify if previous review comments have been resolved

Files:

  • mpt_extension_sdk/runtime/events/producers.py
  • mpt_extension_sdk/runtime/swoext.py
  • mpt_extension_sdk/runtime/djapp/conf/product_utils.py
  • pyproject.toml
  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/swo_rql/__init__.py
  • mpt_extension_sdk/runtime/djapp/conf/__init__.py
pyproject.toml

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

In pyproject.toml, use * for minor versions only (e.g., django==4.2.*, not django==^4.2.2)

Files:

  • pyproject.toml
🧠 Learnings (12)
📚 Learning: 2026-01-16T19:06:33.642Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 127
File: mpt_extension_sdk/swo_rql/__init__.py:1-3
Timestamp: 2026-01-16T19:06:33.642Z
Learning: In mpt_extension_sdk/swo_rql/__init__.py, the removal of RQLQuery from the public API (keeping only R) was an expected and intentional breaking change.

Applied to files:

  • mpt_extension_sdk/runtime/events/producers.py
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: Use ruff as the primary linter for general Python style and best practices

Applied to files:

  • .pre-commit-config.yaml
  • pyproject.toml
  • mpt_extension_sdk/swo_rql/__init__.py
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: Use flake8 exclusively to run wemake-python-styleguide and flake8-aaa for strict Python coding standards and test pattern validation

Applied to files:

  • .pre-commit-config.yaml
  • pyproject.toml
  • mpt_extension_sdk/swo_rql/__init__.py
📚 Learning: 2026-01-15T15:23:47.310Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 123
File: pyproject.toml:21-25
Timestamp: 2026-01-15T15:23:47.310Z
Learning: Pin exact versions (no wildcards) for opentelemetry-api and opentelemetry-sdk in pyproject.toml to avoid dependency resolution issues with dependabot when combined with azure-monitor-opentelemetry-exporter==1.0.0b46. Ensure the constraints are exact version specifiers (e.g., opentelemetry-api = '1.39.0', opentelemetry-sdk = '1.39.0') and avoid wildcard/minor-range specs. Validate by checking that no '~', '*', '>=', or '<=' operators are used for these packages and that the lockfile or dependency resolver reflects the exact pins.

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-16T19:06:13.014Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 127
File: pyproject.toml:50-55
Timestamp: 2026-01-16T19:06:13.014Z
Learning: In any pyproject.toml files, apply a dependency version wildcard rule where most packages use a minor-version wildcard, but ipython is an exception and should use a major-version wildcard (e.g., ipython==9.*) similar to how regex may use year-level wildcards. This pattern should be checked whenever reviewing dependency pins in pyproject.toml across the repository.

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-15T11:58:23.192Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 116
File: pyproject.toml:31-31
Timestamp: 2026-01-15T11:58:23.192Z
Learning: In pyproject.toml, when specifying the Python 'regex' package, prefer calendar versioning (year.month) such as regex==2025.* instead of a general minor-version wildcard. This avoids weekly/monthly updates and aligns with the package's versioning scheme for longer stability.

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: Applies to pyproject.toml : In pyproject.toml, use `*` for minor versions only (e.g., `django==4.2.*`, not `django==^4.2.2`)

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: pyproject.toml is the source of truth for code quality rules, and generated code must not violate any configured rules

Applied to files:

  • pyproject.toml
📚 Learning: 2026-01-16T19:07:02.127Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 127
File: mpt_extension_sdk/swo_rql/__init__.py:1-1
Timestamp: 2026-01-16T19:07:02.127Z
Learning: In the mpt-extension-sdk repository, `# noqa: WPS347` directives (and other WPS-prefixed codes) are used for flake8 with wemake-python-styleguide. Ruff may report these as unused (RUF100) because it doesn't recognize WPS rules, but they should be kept for flake8 compatibility.

Applied to files:

  • pyproject.toml
  • mpt_extension_sdk/runtime/version.py
  • mpt_extension_sdk/swo_rql/__init__.py
📚 Learning: 2026-01-12T10:21:44.018Z
Learnt from: CR
Repo: softwareone-platform/mpt-extension-sdk PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-12T10:21:44.018Z
Learning: Applies to **/*.py : Follow PEP 8 unless explicitly overridden by ruff

Applied to files:

  • pyproject.toml
  • mpt_extension_sdk/swo_rql/__init__.py
📚 Learning: 2026-01-16T19:06:13.014Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 127
File: pyproject.toml:50-55
Timestamp: 2026-01-16T19:06:13.014Z
Learning: In pyproject.toml, `ipython` uses a major-version wildcard (e.g., `ipython==9.*`) as an exception to the general minor-version wildcard pattern, similar to how `regex` uses year-level wildcards.

Applied to files:

  • mpt_extension_sdk/runtime/version.py
📚 Learning: 2026-01-16T19:06:33.642Z
Learnt from: d3rky
Repo: softwareone-platform/mpt-extension-sdk PR: 127
File: mpt_extension_sdk/swo_rql/__init__.py:1-3
Timestamp: 2026-01-16T19:06:33.642Z
Learning: In mpt_extension_sdk/swo_rql/__init__.py, removing RQLQuery from the public API is an intentional breaking change. During reviews, ensure this change is clearly documented (CHANGELOG or release notes), communicate deprecation timelines if applicable, and verify that public API surface is updated consistently (e.g., __all__ or API docs). Update tests to reflect the new public surface and consider providing guidance for downstream users on alternatives (R).

Applied to files:

  • mpt_extension_sdk/swo_rql/__init__.py
🧬 Code graph analysis (5)
mpt_extension_sdk/runtime/events/producers.py (1)
mpt_extension_sdk/swo_rql/query_builder.py (1)
  • RQLQuery (55-392)
mpt_extension_sdk/runtime/swoext.py (1)
mpt_extension_sdk/runtime/version.py (1)
  • get_version (9-11)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)
mpt_extension_sdk/flows/context.py (1)
  • product_id (25-27)
mpt_extension_sdk/swo_rql/__init__.py (1)
mpt_extension_sdk/swo_rql/query_builder.py (1)
  • RQLQuery (55-392)
mpt_extension_sdk/runtime/djapp/conf/__init__.py (1)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (2)
  • extract_product_ids (4-6)
  • get_for_product (9-11)
🪛 Ruff (0.14.11)
mpt_extension_sdk/swo_rql/__init__.py

1-1: Unused noqa directive (unknown: WPS347)

Remove unused noqa directive

(RUF100)

🔇 Additional comments (9)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)

9-11: LGTM for product-scoped lookup.

Concise and consistent with direct settings access.

mpt_extension_sdk/runtime/djapp/conf/__init__.py (1)

1-6: Re-export wiring looks good.

Clean public API exposure via all.

.pre-commit-config.yaml (1)

2-3: Ruff hook bump aligns with dev tooling.

Nice to see the hook set to v0.14.11, which should keep lint/format behavior consistent with the dev pin.

mpt_extension_sdk/runtime/version.py (2)

1-6: Scoped PackageNotFoundError handling looks correct.

This resolves the earlier broad-exception concern and avoids masking unexpected failures.


9-11: get_version() accessor is clear and minimal.

No concerns here.

mpt_extension_sdk/runtime/swoext.py (1)

4-6: Import path update aligns with the new version module.

This keeps versioning centralized.

pyproject.toml (1)

45-66: Dev dependency pins follow the wildcard convention; ipython exception acknowledged.

These minor-series wildcards match the expected pattern, and keeping ipython==9.* reflects the documented exception from the earlier discussion. As per coding guidelines, minor wildcards are used where applicable. Based on learnings, the ipython==9.* major wildcard is intentional.

mpt_extension_sdk/swo_rql/__init__.py (1)

1-3: Public API change looks intentional; keep WPS347 and document the break.

Keeping the # noqa: WPS347 is correct for flake8/wemake, and exporting only R matches the intentional breaking change. Please confirm the release notes or changelog call out the removal of RQLQuery and provide migration guidance. Based on learnings, the WPS347 noqa and R-only export are intentional.

mpt_extension_sdk/runtime/events/producers.py (1)

14-14: Alias import aligns with the new public API.

This keeps the local name stable while using the new exported symbol. Based on learnings, this matches the intentional export change.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch 2 times, most recently from d17c4f6 to fab4173 Compare January 19, 2026 15:01
@d3rky
Copy link
Copy Markdown
Collaborator

d3rky commented Jan 19, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 19, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@pyproject.toml`:
- Line 57: The dependency declaration "pytest-deadfixtures==3.0.*" in
pyproject.toml uses a 3.0 wildcard which won't match the intended 3.1.0 update;
update that entry to "pytest-deadfixtures==3.1.*" so the version constraint
matches 3.1.x (ensure the change is applied to the dependency string in
pyproject.toml).
🧹 Nitpick comments (1)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)

4-6: Consider stripping whitespace from extracted IDs.

If the input contains spaces after commas (e.g., "id1, id2"), the resulting list will include leading whitespace ([" id2"]), which could cause silent lookup failures.

💡 Suggested improvement
 def extract_product_ids(product_ids: str) -> list[str]:
     """Extract product IDs from a comma-separated string."""
-    return product_ids.split(",")
+    return [pid.strip() for pid in product_ids.split(",")]

Comment thread pyproject.toml Outdated
@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch from fab4173 to 59c9c84 Compare January 19, 2026 15:12
@d3rky
Copy link
Copy Markdown
Collaborator

d3rky commented Jan 19, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 19, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@pyproject.toml`:
- Around line 100-116: The pyproject currently lists "AAA" in the linter
`select` list but the flake8-aaa plugin is not enabled in dependencies or
pre-commit `additional_dependencies`, causing the AAA rules to have no effect;
either remove "AAA" from the `select` array (the `select = ["AAA", "E999",
"WPS"]` line) or explicitly enable flake8-aaa by adding it to the project
dependencies and to the pre-commit hook `additional_dependencies` (or add a
clear inline comment next to `select` explaining this is intentional until
flake8-aaa is re-enabled).
🧹 Nitpick comments (3)
pyproject.toml (1)

119-148: Acknowledge technical debt in per-file-ignores.

The comment "To be fixed and removed" appropriately documents these suppressions as technical debt. Consider tracking this in an issue to ensure it's addressed incrementally.

Would you like me to open an issue to track the gradual removal of these per-file-ignores?

mpt_extension_sdk/runtime/swoext.py (1)

30-37: Avoid list comprehension for side effects.

Good to see the iterator is now consumed (prior issue resolved), but using a list comprehension only for side effects is non-idiomatic; a simple loop is clearer and avoids building an unused list.

♻️ Suggested refactor
 cmds = map(
     import_string,
     (
         "mpt_extension_sdk.runtime.commands.run.run",
         "mpt_extension_sdk.runtime.commands.django.django",
     ),
 )
-[cli.add_command(cmd) for cmd in cmds]
+for cmd in cmds:
+    cli.add_command(cmd)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)

4-6: Consider trimming/ignoring empty IDs in extract_product_ids.

This avoids accidental whitespace/empty entries when settings are comma-separated.

♻️ Suggested tweak
 def extract_product_ids(product_ids: str) -> list[str]:
     """Extract product IDs from a comma-separated string."""
-    return product_ids.split(",")
+    return [pid.strip() for pid in product_ids.split(",") if pid.strip()]

Comment thread pyproject.toml Outdated
@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch 2 times, most recently from 9299cb5 to 7ccc87e Compare January 19, 2026 17:34
@d3rky
Copy link
Copy Markdown
Collaborator

d3rky commented Jan 19, 2026

@CodeRabbit review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 19, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

coderabbitai[bot]
coderabbitai Bot previously requested changes Jan 19, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@pyproject.toml`:
- Around line 46-66: The dev dependency pin for ruff in pyproject.toml is set to
an exact version ("ruff==0.14.11") which violates the project's minor-version
wildcard policy; update the entry in the dev = [ ... ] list so the ruff pin
reads "ruff==0.14.*" (replace the exact pin in the line containing
ruff==0.14.11) while keeping the existing comment intact.
🧹 Nitpick comments (3)
mpt_extension_sdk/runtime/swoext.py (1)

30-37: Avoid list comprehension for side effects.
Using a plain loop keeps intent clear and avoids style-linter complaints.

♻️ Suggested refactor
 cmds = map(
     import_string,
     (
         "mpt_extension_sdk.runtime.commands.run.run",
         "mpt_extension_sdk.runtime.commands.django.django",
     ),
 )
-[cli.add_command(cmd) for cmd in cmds]
+for cmd in cmds:
+    cli.add_command(cmd)
mpt_extension_sdk/runtime/djapp/conf/product_utils.py (1)

4-6: Trim and drop empty IDs when splitting.

split(",") preserves whitespace and yields "" for trailing commas; consider stripping and filtering to avoid invalid IDs.

♻️ Suggested tweak
-    return product_ids.split(",")
+    return [pid.strip() for pid in product_ids.split(",") if pid.strip()]
pyproject.toml (1)

97-148: Consider re‑enabling flake8‑aaa if AAA enforcement is desired.

Line 116 drops AAA from select, which makes the config consistent with the commented‑out flake8-aaa dependency. If AAA checks are still required, re‑enable the plugin and add AAA back to select (plus pre‑commit).

🔧 Example change (when re‑enabling flake8‑aaa)
-select = ["E999", "WPS"]
+select = ["AAA", "E999", "WPS"]
As per coding guidelines.

Comment thread pyproject.toml
Comment thread .pre-commit-config.yaml
@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch from 7ccc87e to bba4a91 Compare January 19, 2026 20:29
dependabot Bot and others added 2 commits January 20, 2026 18:09
Bumps the python-development group with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [freezegun](https://github.com/spulec/freezegun) | `1.4.0` | `1.5.5` |
| [ipython](https://github.com/ipython/ipython) | `8.38.0` | `9.9.0` |
| [mypy](https://github.com/python/mypy) | `1.8.0` | `1.19.1` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `3.6.2` | `4.5.1` |
| [pytest](https://github.com/pytest-dev/pytest) | `7.4.4` | `9.0.2` |
| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `7.0.0` |
| [pytest-deadfixtures](https://github.com/jllorencetti/pytest-deadfixtures) | `2.2.1` | `3.1.0` |
| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.7.0` | `4.11.1` |
| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.12.0` | `3.15.1` |
| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.15.0` | `4.0.1` |
| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |
| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |
| [ruff](https://github.com/astral-sh/ruff) | `0.12.11` | `0.14.13` |
| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.31.0.20240406` | `2.32.4.20260107` |
| [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) | `1.3.0` | `1.5.0` |


Updates `freezegun` from 1.4.0 to 1.5.5
- [Release notes](https://github.com/spulec/freezegun/releases)
- [Changelog](https://github.com/spulec/freezegun/blob/master/CHANGELOG)
- [Commits](spulec/freezegun@1.4.0...1.5.5)

Updates `ipython` from 8.38.0 to 9.9.0
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](ipython/ipython@8.38.0...9.9.0)

Updates `mypy` from 1.8.0 to 1.19.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.8.0...v1.19.1)

Updates `pre-commit` from 3.6.2 to 4.5.1
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v3.6.2...v4.5.1)

Updates `pytest` from 7.4.4 to 9.0.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@7.4.4...9.0.2)

Updates `pytest-cov` from 4.1.0 to 7.0.0
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-cov@v4.1.0...v7.0.0)

Updates `pytest-deadfixtures` from 2.2.1 to 3.1.0
- [Release notes](https://github.com/jllorencetti/pytest-deadfixtures/releases)
- [Changelog](https://github.com/jllorencetti/pytest-deadfixtures/blob/main/CHANGES.rst)
- [Commits](jllorencetti/pytest-deadfixtures@2.2.1...3.1.0)

Updates `pytest-django` from 4.7.0 to 4.11.1
- [Release notes](https://github.com/pytest-dev/pytest-django/releases)
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst)
- [Commits](pytest-dev/pytest-django@v4.7.0...v4.11.1)

Updates `pytest-mock` from 3.12.0 to 3.15.1
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-mock@v3.12.0...v3.15.1)

Updates `pytest-randomly` from 3.15.0 to 4.0.1
- [Changelog](https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-randomly@3.15.0...4.0.1)

Updates `pytest-xdist` from 3.5.0 to 3.8.0
- [Release notes](https://github.com/pytest-dev/pytest-xdist/releases)
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-xdist@v3.5.0...v3.8.0)

Updates `responses` from 0.24.1 to 0.25.8
- [Release notes](https://github.com/getsentry/responses/releases)
- [Changelog](https://github.com/getsentry/responses/blob/master/CHANGES)
- [Commits](getsentry/responses@0.24.1...0.25.8)

Updates `ruff` from 0.12.11 to 0.14.13
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.12.11...0.14.13)

Updates `types-requests` from 2.31.0.20240406 to 2.32.4.20260107
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

Updates `wemake-python-styleguide` from 1.3.0 to 1.5.0
- [Release notes](https://github.com/wemake-services/wemake-python-styleguide/releases)
- [Changelog](https://github.com/wemake-services/wemake-python-styleguide/blob/master/CHANGELOG.md)
- [Commits](wemake-services/wemake-python-styleguide@1.3.0...1.5.0)

---
updated-dependencies:
- dependency-name: freezegun
  dependency-version: 1.5.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: ipython
  dependency-version: 9.9.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-development
- dependency-name: mypy
  dependency-version: 1.19.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: pre-commit
  dependency-version: 4.5.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-development
- dependency-name: pytest
  dependency-version: 9.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-development
- dependency-name: pytest-cov
  dependency-version: 7.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-development
- dependency-name: pytest-deadfixtures
  dependency-version: 3.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-development
- dependency-name: pytest-django
  dependency-version: 4.11.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: pytest-mock
  dependency-version: 3.15.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: pytest-randomly
  dependency-version: 4.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-development
- dependency-name: pytest-xdist
  dependency-version: 3.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: responses
  dependency-version: 0.25.8
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: ruff
  dependency-version: 0.14.13
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: types-requests
  dependency-version: 2.32.4.20260107
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
- dependency-name: wemake-python-styleguide
  dependency-version: 1.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
...

Signed-off-by: dependabot[bot] <support@github.com>
@d3rky d3rky force-pushed the dependabot/uv/python-development-a8604c862e branch from bba4a91 to d41902c Compare January 20, 2026 17:09
@sonarqubecloud
Copy link
Copy Markdown

@d3rky d3rky merged commit bc8f9fa into main Jan 20, 2026
4 checks passed
@d3rky d3rky deleted the dependabot/uv/python-development-a8604c862e branch January 20, 2026 17:17
@coderabbitai coderabbitai Bot mentioned this pull request Apr 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants