Update dependency pytest-randomly to v5 - #452
Merged
Merged
Conversation
kasium
approved these changes
Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==4.1.0→==5.0.0Release Notes
pytest-dev/pytest-randomly (pytest-randomly)
v5.0.0Compare Source
Support Python 3.15.
Shuffle tests in a wrapper around the
pytest_collection_modifyitemshook, guaranteeing that the shuffle runs before all other plugins’ implementations of the hook.Previously, pytest-randomly shuffled in a plain
tryfirsthook implementation.When another plugin also implemented the hook with
tryfirst, as pytest-django does, whichever plugin pytest happened to register later ran first.Registration order comes from package metadata on disk, which can differ between seemingly identical environments — even two containers built from the same
Dockerfile, or the same virtual environment after reinstalling a package.As a result, the same seed could yield different test orders in different environments.
Worse, in environments where pytest-randomly ended up shuffling last, it silently destroyed the other plugin’s ordering — for pytest-django, the grouping of database tests that mirrors Django’s test runner (non-transactional database tests, then transactional ones, then the rest).
Now the shuffle always runs first, and plugins that group tests with a stable sort apply their grouping on top of the shuffled order, so the final order is reproducible from the seed alone.
In environments that previously hit the reversed hook order, upgrading changes the test order for a given seed — restoring both reproducibility and other plugins’ grouping.
PR #​746 <https://github.com/pytest-dev/pytest-randomly/pull/746>.Thanks to milssky for the report in
Issue #​701 <https://github.com/pytest-dev/pytest-randomly/issues/701>.Require pytest 8+, the first version to require a version of pluggy that supports hook wrappers, as used by the above fix.
PR #​746 <https://github.com/pytest-dev/pytest-randomly/pull/746>__.Reset
Polyfactory <https://polyfactory.litestar.dev/>__\’s default random state at the start of every test, if it is installed.Thanks to Rahul Kumar in
PR #​735 <https://github.com/pytest-dev/pytest-randomly/issues/735>__.Switch package build backend from setuptools to
uv_build <https://docs.astral.sh/uv/concepts/build-backend/>__.This makes builds with uv about nine times faster, since uv runs the backend natively, without creating a build environment or spawning a Python process.
Additionally, source distributions no longer include test files, which setuptools previously included incompletely, missing the files needed to actually run them.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.