diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 492e4a3c496..91ecbd4a325 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -223,7 +223,7 @@ jobs: use_coverage: true - name: "ubuntu-pypy3-xdist" - python: "pypy-3.10" + python: "pypy-3.11" os: ubuntu-latest tox_env: "pypy3-xdist" diff --git a/AUTHORS b/AUTHORS index 972f39aa45e..9094100cb4e 100644 --- a/AUTHORS +++ b/AUTHORS @@ -89,6 +89,7 @@ Charles Machalow Charles-Meldhine Madi Mnemoi (cmnemoi) Charnjit SiNGH (CCSJ) Cheuk Ting Ho +Chris Burr Chris Mahoney Chris Lamb Chris NeJame diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 2f17d74847d..b764386c576 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -11,7 +11,7 @@ so do not hesitate! Feature requests and feedback ----------------------------- -Do you like pytest? Share some love on Twitter or in your blog posts! +Do you like pytest? Share some love on social media or in your blog posts! We'd also like to hear about your propositions and suggestions. Feel free to `submit them as issues `_ and: @@ -438,15 +438,18 @@ If in doubt, go ahead and open a PR with your best guess and we can discuss this Joining the Development Team ---------------------------- -Anyone who has successfully seen through a pull request which did not -require any extra work from the development team to merge will -themselves gain commit access if they so wish (if we forget to ask please send a friendly -reminder). This does not mean there is any change in your contribution workflow: -everyone goes through the same pull-request-and-review process and -no-one merges their own pull requests unless already approved. It does however mean you can -participate in the development process more fully since you can merge -pull requests from other contributors yourself after having reviewed -them. +Commit access is an invitation the development team extends once a contributor +has shown a developed sense for the project -- its scope, its conventions, and +what a change costs the people who depend on it. We look for that across +contributions, reviews and discussions rather than in any single pull request, +so there is nothing to clear on demand; if we haven't reached out yet, that is +not a verdict on your work -- sometimes no-one has thought to offer. + +The invitation does not change how you contribute: everyone goes through the +same pull-request-and-review process, and no-one merges their own pull requests +unless already approved. It does mean you can take a fuller part in the +development process, since you can merge other contributors' pull requests once +you have reviewed them. Merge/squash guidelines diff --git a/changelog/10721.doc.rst b/changelog/10721.doc.rst new file mode 100644 index 00000000000..345dc98d8e3 --- /dev/null +++ b/changelog/10721.doc.rst @@ -0,0 +1 @@ +Replaced ``setup.py`` usage with ``pyproject.toml`` in :ref:`writing-plugins`. diff --git a/changelog/10819.deprecation.rst b/changelog/10819.deprecation.rst deleted file mode 100644 index ebb306379b7..00000000000 --- a/changelog/10819.deprecation.rst +++ /dev/null @@ -1,3 +0,0 @@ -Added a deprecation warning for class-scoped fixtures defined as instance methods (without ``@classmethod``). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use ``@classmethod`` decorator instead -- by :user:`yastcher`. - -See :issue:`10819` and :issue:`14011`. diff --git a/changelog/11022.doc.rst b/changelog/11022.doc.rst deleted file mode 100644 index 45f08aeec4f..00000000000 --- a/changelog/11022.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Document safer alternatives and scope guidance for monkeypatching standard library functions. diff --git a/changelog/11225.improvement.rst b/changelog/11225.improvement.rst deleted file mode 100644 index 53005bfa505..00000000000 --- a/changelog/11225.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -:func:`pytest.warns` now shows "Regex pattern did not match" instead of "DID NOT WARN" when warnings were emitted but the ``match`` pattern did not match. diff --git a/changelog/11295.improvement.rst b/changelog/11295.improvement.rst deleted file mode 100644 index fc29956f04c..00000000000 --- a/changelog/11295.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Improved output of ``--fixtures-per-test`` by excluding internal-implementation fixtures generated by ``@pytest.mark.parametrize`` and similar. diff --git a/changelog/11307.doc.rst b/changelog/11307.doc.rst deleted file mode 100644 index fd9702e3d23..00000000000 --- a/changelog/11307.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Document that ``@pytest.hookimpl(specname=...)`` only works for function names starting with ``pytest_``. diff --git a/changelog/12376.feature.rst b/changelog/12376.feature.rst deleted file mode 100644 index 49551b5b2a4..00000000000 --- a/changelog/12376.feature.rst +++ /dev/null @@ -1,7 +0,0 @@ -Added :func:`pytest.register_fixture()` to register fixtures using an imperative interface. - -This is an advanced function intended for use by plugins. - -Normally, fixtures should be registered declaratively using the :func:`@pytest.fixture ` decorator. -Pytest looks for these fixture definitions during the collection phase and registers them automatically. -For some plugin usecases the declarative interface can be cumbersome or unviable, in which case this imperative interface can be used. diff --git a/changelog/12882.deprecation.rst b/changelog/12882.deprecation.rst deleted file mode 100644 index ba5f3240946..00000000000 --- a/changelog/12882.deprecation.rst +++ /dev/null @@ -1,3 +0,0 @@ -Calling :meth:`request.getfixturevalue() ` during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10. - -See :ref:`dynamic-fixture-request-during-teardown` for details. diff --git a/changelog/13038.doc.rst b/changelog/13038.doc.rst deleted file mode 100644 index b04ae1b807c..00000000000 --- a/changelog/13038.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Document that doctests do not support parametrized fixtures, including parametrized autouse fixtures. diff --git a/changelog/13155.doc.rst b/changelog/13155.doc.rst deleted file mode 100644 index a4faf22fa4a..00000000000 --- a/changelog/13155.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Clarified how the ``request`` fixture provides indirect parametrization values via ``request.param``. diff --git a/changelog/13192.bugfix.rst b/changelog/13192.bugfix.rst deleted file mode 100644 index cc7f9bc5487..00000000000 --- a/changelog/13192.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed `|` (pipe) not being treated as a regex meta-character that needs escaping in :func:`pytest.raises(match=...) `. diff --git a/changelog/13241.improvement.rst b/changelog/13241.improvement.rst deleted file mode 100644 index 41ba55e280a..00000000000 --- a/changelog/13241.improvement.rst +++ /dev/null @@ -1,2 +0,0 @@ -:func:`pytest.raises`, :func:`pytest.warns` and :func:`pytest.deprecated_call` now uses :class:`ParamSpec` for the type hint to the (old and not recommended) callable overload, instead of :class:`Any`. This allows type checkers to raise errors when passing incorrect function parameters. -``func`` can now also be passed as a kwarg, which the type hint previously showed as possible but didn't accept. diff --git a/changelog/13304.doc.rst b/changelog/13304.doc.rst deleted file mode 100644 index 665a61b8462..00000000000 --- a/changelog/13304.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Clarified in the documentation that hook implementations defined in ``conftest.py`` files are not available to other plugins during their ``pytest_addoption()`` execution, as conftest files are discovered and loaded after builtin and third-party plugins have been initialized. However, initial conftest files themselves can implement ``pytest_addoption()`` to add their own command-line options. diff --git a/changelog/13409.deprecation.rst b/changelog/13409.deprecation.rst deleted file mode 100644 index d4fcf2c8a5a..00000000000 --- a/changelog/13409.deprecation.rst +++ /dev/null @@ -1,8 +0,0 @@ -Using non-:class:`~collections.abc.Collection` iterables (such as generators, iterators, or custom iterable objects) for the ``argvalues`` parameter in :ref:`@pytest.mark.parametrize ` and :meth:`metafunc.parametrize ` is now deprecated. - -These iterables get exhausted after the first iteration, -leading to tests getting unexpectedly skipped in cases such as running :func:`pytest.main()` multiple times, -using class-level parametrize decorators, -or collecting tests multiple times. - -See :ref:`parametrize-iterators` for details and suggestions. diff --git a/changelog/13484.bugfix.rst b/changelog/13484.bugfix.rst deleted file mode 100644 index 4407003e8e9..00000000000 --- a/changelog/13484.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed ``-W`` option values being duplicated in ``Config.known_args_namespace``. diff --git a/changelog/13626.bugfix.rst b/changelog/13626.bugfix.rst deleted file mode 100644 index e58c76749fa..00000000000 --- a/changelog/13626.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed function-scoped fixture values being kept alive after a test was interrupted by ``KeyboardInterrupt`` or early exit, -allowing them to potentially be released more promptly. diff --git a/changelog/13784.bugfix.rst b/changelog/13784.bugfix.rst deleted file mode 100644 index a2f4cf54327..00000000000 --- a/changelog/13784.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed ``capteesys`` producing doubled output when used with ``--capture=no`` (``-s``). diff --git a/changelog/13817.bugfix.rst b/changelog/13817.bugfix.rst deleted file mode 100644 index 08c9a6a53c3..00000000000 --- a/changelog/13817.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a secondary `AttributeError` masking the original error when an option argument fails to initialize. diff --git a/changelog/13862.improvement.rst b/changelog/13862.improvement.rst deleted file mode 100644 index 6a89cbc323b..00000000000 --- a/changelog/13862.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Improved the readability of "DID NOT RAISE" error messages by using the exception type's name instead of its `repr`. diff --git a/changelog/13884.bugfix.rst b/changelog/13884.bugfix.rst deleted file mode 100644 index af0f08eb00c..00000000000 --- a/changelog/13884.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed rare internal IndexError caused by `builtins.compile` being overridden in client code. diff --git a/changelog/13885.bugfix.rst b/changelog/13885.bugfix.rst deleted file mode 100644 index c4b7ebe4b4e..00000000000 --- a/changelog/13885.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed autouse fixtures defined inside a :class:`unittest.TestCase` class running even when the class is decorated with :func:`unittest.skip` or :func:`unittest.skipIf` -- regression since pytest 8.1.0. diff --git a/changelog/13902.doc.rst b/changelog/13902.doc.rst deleted file mode 100644 index f11a1936051..00000000000 --- a/changelog/13902.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Clarified how subtest progress markers are shown in the documentation. diff --git a/changelog/13917.bugfix.rst b/changelog/13917.bugfix.rst deleted file mode 100644 index d2cf90c2894..00000000000 --- a/changelog/13917.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -:class:`unittest.SkipTest` is no longer considered an interactive exception, i.e. :hook:`pytest_exception_interact` is no longer called for it. diff --git a/changelog/13946.deprecation.rst b/changelog/13946.deprecation.rst deleted file mode 100644 index 88371c4cc1c..00000000000 --- a/changelog/13946.deprecation.rst +++ /dev/null @@ -1,4 +0,0 @@ -The private ``config.inicfg`` attribute is now deprecated. -Use :meth:`config.getini() ` to access configuration values instead. - -See :ref:`config-inicfg` for more details. diff --git a/changelog/13963.bugfix.rst b/changelog/13963.bugfix.rst deleted file mode 100644 index 8717b265c72..00000000000 --- a/changelog/13963.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fixed subtests running with :pypi:`pytest-xdist` when their contexts contain objects that are not JSON-serializable. - -Fixes `pytest-dev/pytest-xdist#1273 `__. diff --git a/changelog/14004.bugfix.rst b/changelog/14004.bugfix.rst deleted file mode 100644 index 357f85e6436..00000000000 --- a/changelog/14004.bugfix.rst +++ /dev/null @@ -1,6 +0,0 @@ -Fixed conftest.py fixture scoping when :confval:`testpaths` points outside of the :ref:`rootdir `. - -Previously, fixtures from nested conftest.py files would incorrectly leak to sibling directories -when using a relative ``testpaths`` like ``../tests/sdk``. - -Conftest fixtures are now parsed during :class:`Directory ` collection, using the ``Directory`` node for proper scoping. diff --git a/changelog/14004.deprecation.rst b/changelog/14004.deprecation.rst deleted file mode 100644 index d707b9cc309..00000000000 --- a/changelog/14004.deprecation.rst +++ /dev/null @@ -1,7 +0,0 @@ -Passing ``baseid`` to :class:`~pytest.FixtureDef` or ``nodeid`` strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins. - -Use the ``node`` parameter instead for fixture scoping. This enables more robust node-based -matching instead of string prefix matching. -If you've used ``nodeid=None``, pass ``node=session`` instead. - -This will be removed in pytest 10. diff --git a/changelog/14012.doc.rst b/changelog/14012.doc.rst deleted file mode 100644 index 95942e4a86f..00000000000 --- a/changelog/14012.doc.rst +++ /dev/null @@ -1 +0,0 @@ -The :ref:`ini options ref` section of the API Reference now specified the type and default value of every configuration option. diff --git a/changelog/14023.feature.rst b/changelog/14023.feature.rst deleted file mode 100644 index 5d0f07c942e..00000000000 --- a/changelog/14023.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Added `--report-chars` long CLI option. diff --git a/changelog/14026.improvement.rst b/changelog/14026.improvement.rst deleted file mode 100644 index 7025ba80481..00000000000 --- a/changelog/14026.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Added test coverage for compiled regex patterns in :func:`pytest.raises` match parameter. diff --git a/changelog/14050.bugfix.rst b/changelog/14050.bugfix.rst deleted file mode 100644 index 451b248576f..00000000000 --- a/changelog/14050.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Display dictionary differences in assertion failures using the original key insertion order instead of sorted order. diff --git a/changelog/14080.bugfix.rst b/changelog/14080.bugfix.rst deleted file mode 100644 index 1140b4716db..00000000000 --- a/changelog/14080.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -fix missing type annotations on ``Pytester.makepyfile`` and ``Pytester.maketxtfile`` methods. diff --git a/changelog/14114.bugfix.rst b/changelog/14114.bugfix.rst deleted file mode 100644 index bcb1713c475..00000000000 --- a/changelog/14114.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -An exception from :hook:`pytest_fixture_post_finalizer` no longer prevents fixtures from being torn down, causing additional errors in the following tests. diff --git a/changelog/14137.improvement.rst b/changelog/14137.improvement.rst deleted file mode 100644 index 7585433ac9c..00000000000 --- a/changelog/14137.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -`pytest.ScopeName` is now public to allow using it in function signatures. diff --git a/changelog/14148.doc.rst b/changelog/14148.doc.rst deleted file mode 100644 index b54ae2cd8e3..00000000000 --- a/changelog/14148.doc.rst +++ /dev/null @@ -1,2 +0,0 @@ -Documented a safe ``pytestconfig.cache`` access pattern when the -``cacheprovider`` plugin is disabled. diff --git a/changelog/14161.bugfix.rst b/changelog/14161.bugfix.rst deleted file mode 100644 index d19f3f4ad60..00000000000 --- a/changelog/14161.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed :meth:`monkeypatch.setattr() ` leaving a stale entry on the undo stack when the underlying ``setattr()`` call fails (e.g. on immutable targets), causing an ``AttributeError`` crash during teardown. diff --git a/changelog/14214.bugfix.rst b/changelog/14214.bugfix.rst deleted file mode 100644 index ed87a66fc57..00000000000 --- a/changelog/14214.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed ``-v`` hint in :func:`pytest.raises` match diff not working because assertion verbosity was not propagated. diff --git a/changelog/14234.bugfix.rst b/changelog/14234.bugfix.rst deleted file mode 100644 index 5a5b8a8b3f9..00000000000 --- a/changelog/14234.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Allow :ref:`pytest.HIDDEN_PARAM ` in :ref:`@pytest.mark.parametrize(ids=...) ` typing. diff --git a/changelog/14248.bugfix.rst b/changelog/14248.bugfix.rst deleted file mode 100644 index 1c8563fa954..00000000000 --- a/changelog/14248.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed direct parametrization causing the static fixture closure (as reflected in :data:`request.fixturenames `) to omit fixtures that are requested transitively from overridden fixtures. diff --git a/changelog/14263.bugfix.rst b/changelog/14263.bugfix.rst deleted file mode 100644 index dba08435b18..00000000000 --- a/changelog/14263.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Unraisable exceptions from finalizers are now collected during ``pytest_unconfigure``, before pytest tears down the warning filters installed for the session. Previously the collection ran from a cleanup callback whose order relative to other plugins' cleanups was not guaranteed, so an active ``error`` filter could be removed before the exception surfaced and a late resource leak would pass silently. A ``-W error`` filter, or any filter matching :class:`pytest.PytestUnraisableExceptionWarning`, now promotes these exceptions to failures regardless of plugin cleanup order. diff --git a/changelog/14303.doc.rst b/changelog/14303.doc.rst deleted file mode 100644 index 377c6d6057b..00000000000 --- a/changelog/14303.doc.rst +++ /dev/null @@ -1 +0,0 @@ -The documentation is now built with Sphinx >= 9. diff --git a/changelog/14335.deprecation.rst b/changelog/14335.deprecation.rst deleted file mode 100644 index e173ac6938f..00000000000 --- a/changelog/14335.deprecation.rst +++ /dev/null @@ -1,2 +0,0 @@ -The method of configuring hooks using markers, deprecated since pytest 7.2, is now scheduled to be removed in pytest 10. -See :ref:`hook-markers` for more details. diff --git a/changelog/14342.improvement.rst b/changelog/14342.improvement.rst deleted file mode 100644 index 5b1d8d2afe7..00000000000 --- a/changelog/14342.improvement.rst +++ /dev/null @@ -1,2 +0,0 @@ -Marked ``yield_fixture`` as deprecated to type checkers using the ``deprecated`` decorator. Note it -:ref:`has originally been deprecated ` in pytest 6.2 already. diff --git a/changelog/14371.feature.rst b/changelog/14371.feature.rst deleted file mode 100644 index 2993b8c536f..00000000000 --- a/changelog/14371.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Added :option:`--max-warnings` command-line option and :confval:`max_warnings` configuration option to fail the test run when the number of warnings exceeds a given threshold -- by :user:`miketheman`. diff --git a/changelog/14373.improvement.rst b/changelog/14373.improvement.rst deleted file mode 100644 index ea145f8b4a8..00000000000 --- a/changelog/14373.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Added type annotations for :func:`pytest.approx`. diff --git a/changelog/14377.bugfix.rst b/changelog/14377.bugfix.rst deleted file mode 100644 index 5d94fed0f54..00000000000 --- a/changelog/14377.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed crash in `Config.get_terminal_writer` when an assertion fails with the ``terminalreporter`` plugin disabled. diff --git a/changelog/14381.bugfix.rst b/changelog/14381.bugfix.rst deleted file mode 100644 index d3552a6304d..00000000000 --- a/changelog/14381.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed ``-V`` (short form of ``--version``) to properly display the current version. diff --git a/changelog/14389.bugfix.rst b/changelog/14389.bugfix.rst deleted file mode 100644 index f0d85169d0b..00000000000 --- a/changelog/14389.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Improved :func:`pytest.raises(..., match=...) ` failures to suppress the mismatched exception as a cause of the resulting ``AssertionError``. diff --git a/changelog/14392.bugfix.rst b/changelog/14392.bugfix.rst deleted file mode 100644 index b67ff0ffec9..00000000000 --- a/changelog/14392.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug in :func:`pytest.raises(match=...) ` "fully escaped" detection, causing the regex diff display to be shown in some instances when the raw string diff display should be shown instead. diff --git a/changelog/14430.improvement.rst b/changelog/14430.improvement.rst deleted file mode 100644 index 84206b37033..00000000000 --- a/changelog/14430.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -When using ``--setup-show``, a space is now printed after the test name (and possibly used fixtures), to separate it from the test result. diff --git a/changelog/14434.deprecation.rst b/changelog/14434.deprecation.rst deleted file mode 100644 index 8f4454e76f8..00000000000 --- a/changelog/14434.deprecation.rst +++ /dev/null @@ -1,3 +0,0 @@ -The :option:`--pastebin` option is now deprecated. -The same functionality is now available in an external plugin, :pypi:`pytest-pastebin`. -See :ref:`pastebin-deprecated` for more details. diff --git a/changelog/14441.improvement.rst b/changelog/14441.improvement.rst deleted file mode 100644 index d37e6466b06..00000000000 --- a/changelog/14441.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Reduced the default number of ``gc.collect()`` passes in the ``unraisableexception`` plugin from 5 to 1 on CPython, where reference counting makes a single pass sufficient. PyPy retains 5 passes due to object resurrection via ``__del__``. This can noticeably speed up test suites that trigger many pytester runs. diff --git a/changelog/14442.bugfix.rst b/changelog/14442.bugfix.rst deleted file mode 100644 index 90999cc9572..00000000000 --- a/changelog/14442.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fixed a regression in pytest 9.0 where :option:`--strict-markers` and :option:`--strict-config` specified through :confval:`addopts` were silently ignored. - -Note that when targeting pytest >= 9.0, it's nicer to use :confval:`strict_markers` and :confval:`strict_config`, or :ref:`strict mode `. diff --git a/changelog/14456.bugfix.rst b/changelog/14456.bugfix.rst deleted file mode 100644 index ccd9ca20a8f..00000000000 --- a/changelog/14456.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed :func:`pytest.approx` not recognizing types with ``__array_interface__`` as numpy-like arrays. diff --git a/changelog/14461.improvement.rst b/changelog/14461.improvement.rst deleted file mode 100644 index 709772ede9b..00000000000 --- a/changelog/14461.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Improved assertion failure explanations for equality comparisons between mapping objects that are not ``dict`` instances. diff --git a/changelog/14465.doc.rst b/changelog/14465.doc.rst deleted file mode 100644 index 2c950292911..00000000000 --- a/changelog/14465.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated the hooks how-to page to link the ``newhooks.py`` file in ``pytest-xdist`` at tag ``v3.8.0`` instead of an unrelated 2017-era commit under the old layout. Pointing at a tag keeps the example in sync with the version users actually install, while remaining stable when the project's main branch moves on. diff --git a/changelog/14474.bugfix.rst b/changelog/14474.bugfix.rst deleted file mode 100644 index 333d4d34d9a..00000000000 --- a/changelog/14474.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a regression where ``-k`` and ``-m`` expressions containing both backslash characters in identifiers and string literal arguments would incorrectly raise a ``SyntaxError`` about escaping. diff --git a/changelog/14483.bugfix.rst b/changelog/14483.bugfix.rst deleted file mode 100644 index cdc5d0f5af7..00000000000 --- a/changelog/14483.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed JUnit XML report incorrectly escaping high Unicode codepoints (supplementary plane characters like emoji) in test failure messages. -- by :user:`EternalRights` diff --git a/changelog/14492.bugfix.rst b/changelog/14492.bugfix.rst deleted file mode 100644 index 1e5c6b778d3..00000000000 --- a/changelog/14492.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed ``Code.getargs()`` incorrectly including local variable names in the returned argument tuple for functions with ``*args`` and/or ``**kwargs``. The method was using ``co_flags`` bitmask values (``4`` and ``8``) directly as counts instead of converting them to ``1`` via ``bool()``, and was not accounting for ``co_kwonlyargcount`` when ``var=True``. diff --git a/changelog/14513.deprecation.rst b/changelog/14513.deprecation.rst deleted file mode 100644 index b5b17f06c06..00000000000 --- a/changelog/14513.deprecation.rst +++ /dev/null @@ -1,2 +0,0 @@ -The private ``FixtureDef.has_location`` attribute is now deprecated and will be removed in pytest 10. -See :ref:`fixturedef-has-location-deprecated` for details. diff --git a/changelog/14513.improvement.rst b/changelog/14513.improvement.rst deleted file mode 100644 index 7bd07fdcee8..00000000000 --- a/changelog/14513.improvement.rst +++ /dev/null @@ -1,5 +0,0 @@ -The order in which fixture definitions overriding each other are resolved is now determined first by their *visibility* in the collection tree rather than by the order in which they are registered. - -A fixture defined for a more specific node (e.g. a module or an item) now always takes precedence over one with the same name defined for a more general node (e.g. the session), even when the more general one was registered later. -Fixtures with non-comparable visibility or the same visibility keep the existing behavior of "last registered wins". -This change is supposed to only affect plugins which register multiple fixtures programmatically with the same name. diff --git a/changelog/14524.improvement.rst b/changelog/14524.improvement.rst deleted file mode 100644 index e6b7c996077..00000000000 --- a/changelog/14524.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Add official Python 3.15 support. diff --git a/changelog/14533.breaking.rst b/changelog/14533.breaking.rst deleted file mode 100644 index d63f4d3a852..00000000000 --- a/changelog/14533.breaking.rst +++ /dev/null @@ -1,8 +0,0 @@ -When using :option:`--doctest-modules`, autouse fixtures with ``module``, ``package`` or ``session`` scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice. - -If this is undesirable, move the fixture definition to a ``conftest.py`` file if possible. - -Technical explanation for those interested: -When using `--doctest-modules`, pytest possibly collects Python modules twice, once as :class:`pytest.Module` and once as a ``DoctestModule`` (depending on the configuration). -Due to improvements in pytest's fixture implementation, if e.g. the ``DoctestModule`` collects a fixture, it is now visible to it only, and not to the ``Module``. -This means that both need to register the fixtures independently. diff --git a/changelog/14582.misc.rst b/changelog/14582.misc.rst deleted file mode 100644 index e824c3e6d09..00000000000 --- a/changelog/14582.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Improved the recursion traceback test to exercise all requested traceback styles. diff --git a/changelog/14864.bugfix.rst b/changelog/14864.bugfix.rst new file mode 100644 index 00000000000..5f4c19dcaa0 --- /dev/null +++ b/changelog/14864.bugfix.rst @@ -0,0 +1 @@ +Fixed collection on Windows collecting the whole suite instead of the given path, on file systems which do not support file IDs (``st_ino`` is ``0`` for every file, as seen for example on ``sshfs-win``/WinFsp mounts). diff --git a/changelog/1764.deprecation.rst b/changelog/1764.deprecation.rst deleted file mode 100644 index 7e57c17b62a..00000000000 --- a/changelog/1764.deprecation.rst +++ /dev/null @@ -1,2 +0,0 @@ -:func:`pytest.console_main` is now deprecated and will be removed in pytest 10. -It was never intended for programmatic use; use :func:`pytest.main` instead. diff --git a/changelog/1764.improvement.rst b/changelog/1764.improvement.rst deleted file mode 100644 index 0a25f39faf9..00000000000 --- a/changelog/1764.improvement.rst +++ /dev/null @@ -1 +0,0 @@ -Improved argparse program name to show ``pytest``, ``python -m pytest``, or ``pytest.main()`` based on how pytest was invoked, making help and error messages clearer. diff --git a/changelog/3697.bugfix.rst b/changelog/3697.bugfix.rst deleted file mode 100644 index 59f1872786d..00000000000 --- a/changelog/3697.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -Logging capture now works for non-propagating loggers. -Previously only logs which reached the root logger were captured. -This includes :fixture:`caplog` and the "Captured log calls" test reporting. diff --git a/changelog/3850.bugfix.rst b/changelog/3850.bugfix.rst deleted file mode 100644 index 2486d4b59d2..00000000000 --- a/changelog/3850.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed JUnit XML report: the ``tests`` attribute of the ```` element now always matches the number of ```` elements in the file. In some cases (test passes but fails during teardown) the ``tests`` attribute would report an incorrect number of testcases in the XML file. diff --git a/changelog/5848.bugfix.rst b/changelog/5848.bugfix.rst deleted file mode 100644 index c516ce92473..00000000000 --- a/changelog/5848.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -:hook:`pytest_fixture_post_finalizer` is no longer called extra times for the same fixture teardown in some cases. diff --git a/changelog/6757.feature.rst b/changelog/6757.feature.rst deleted file mode 100644 index 0c154d3d6ff..00000000000 --- a/changelog/6757.feature.rst +++ /dev/null @@ -1,3 +0,0 @@ -Added the :confval:`assertion_text_diff_style` configuration option, allowing -string equality failures to be rendered as separate ``Left:`` and ``Right:`` -blocks instead of ``ndiff`` output. diff --git a/changelog/719.bugfix.rst b/changelog/719.bugfix.rst deleted file mode 100644 index c2063ad0503..00000000000 --- a/changelog/719.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fixed :ref:`@pytest.mark.parametrize ` not unpacking single-element tuple values when using a string argnames with a trailing comma (e.g., ``"arg,"``). - -The trailing comma form now correctly behaves like the tuple form ``("arg",)``, treating argvalues as a list of tuples to unpack. diff --git a/changelog/8265.improvement.rst b/changelog/8265.improvement.rst deleted file mode 100644 index e59b12052fe..00000000000 --- a/changelog/8265.improvement.rst +++ /dev/null @@ -1,4 +0,0 @@ -Emit a ``PytestCollectionWarning`` when a module-level ``__getattr__`` returns ``None`` for ``pytestmark`` instead of raising ``AttributeError``. - -Previously this caused a cryptic ``TypeError: got None instead of Mark`` error. -Now pytest issues a helpful warning and continues collecting the module normally. diff --git a/changelog/8395.feature.rst b/changelog/8395.feature.rst deleted file mode 100644 index 61c16216182..00000000000 --- a/changelog/8395.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Added support for :class:`~datetime.datetime` and :class:`~datetime.timedelta` comparisons with :func:`pytest.approx`. An explicit ``abs`` or ``rel`` tolerance as a :class:`~datetime.timedelta` is required and relative tolerance is not supported for datetime comparisons -- by :user:`hamza-mobeen`. diff --git a/doc/en/announce/index.rst b/doc/en/announce/index.rst index 4a5e8b86544..fcfb88536c3 100644 --- a/doc/en/announce/index.rst +++ b/doc/en/announce/index.rst @@ -6,6 +6,8 @@ Release announcements :maxdepth: 2 + release-9.1.1 + release-9.1.0 release-9.0.3 release-9.0.2 release-9.0.1 diff --git a/doc/en/announce/release-9.1.0.rst b/doc/en/announce/release-9.1.0.rst new file mode 100644 index 00000000000..55cc7a64713 --- /dev/null +++ b/doc/en/announce/release-9.1.0.rst @@ -0,0 +1,98 @@ +pytest-9.1.0 +======================================= + +The pytest team is proud to announce the 9.1.0 release! + +This release contains new features, improvements, and bug fixes, +the full list of changes is available in the changelog: + + https://docs.pytest.org/en/stable/changelog.html + +For complete documentation, please visit: + + https://docs.pytest.org/en/stable/ + +As usual, you can upgrade from PyPI via: + + pip install -U pytest + +Thanks to all of the contributors to this release: + +* 1Utkarsh1 +* Aditya Giri +* Alejandro Villate +* Alex Waygood +* Anton Zhilin +* Antonis Gardi +* Bruno Oliveira +* Bubble-Interface +* Charles-Meldhine Madi Mnemoi +* DavidAG +* Denis Cherednichenko +* DetachHead +* Dhruva Kumar +* Dr Alex Mitre +* EternalRights +* Fazeel Usmani +* Florian Bruhin +* Freya Bruhin +* Fridayworks +* Garion Milazzo +* Hamza Mobeen +* Hugo van Kemenade +* Ilya Manafi +* John Litborn +* Julia Knaak +* Junhao Liao +* Kadir Can Ozden +* Lai Jia Yang +* Liam DeVoe +* Lily Wu +* Marco Edward Gorelli +* Maxime Grenu +* Mike Fiedler +* Mikhail Golikov +* Mukunda Rao Katta +* NIYONSHUTI Emmanuel +* Nikesh Chavhan +* Noa Levi +* Paul Zuradzki +* Philipp A. +* Pierre Sassoulas +* Praneeth Kodumagulla +* Puneet Dixit +* Ran Benita +* Randy Döring +* Ronald Eddy Jr +* Ronny Pfannschmidt +* Samuel Newbold +* Stanis Trendelenburg +* Sviatoslav Sydorenko +* Sylvain MARIE +* Syncrain +* Sóla Lusøt +* Tejas Verma +* Tobias Deiminger +* Tom Most +* V1SHAL421 +* Varun Chawla +* Vladimir +* Warren +* Will Toohey +* Yast +* Yusuke Kadowaki +* arya rizky +* dariomesic +* isra17 +* jakkdl +* jiayang lai +* jxramos +* minbang930 +* morning-verlu +* ron +* 사재혁 +* 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) + + +Happy testing, +The pytest Development Team diff --git a/doc/en/announce/release-9.1.1.rst b/doc/en/announce/release-9.1.1.rst new file mode 100644 index 00000000000..c4becceefd0 --- /dev/null +++ b/doc/en/announce/release-9.1.1.rst @@ -0,0 +1,17 @@ +pytest-9.1.1 +======================================= + +pytest 9.1.1 has just been released to PyPI. + +This is a bug-fix release, being a drop-in replacement. + +The full changelog is available at https://docs.pytest.org/en/stable/changelog.html. + +Thanks to all of the contributors to this release: + +* Bruno Oliveira +* Ran Benita + + +Happy testing, +The pytest Development Team diff --git a/doc/en/builtin.rst b/doc/en/builtin.rst index 9d38b329454..97ea7b426a9 100644 --- a/doc/en/builtin.rst +++ b/doc/en/builtin.rst @@ -22,7 +22,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a cachedir: .pytest_cache rootdir: /home/sweet/project collected 0 items - cache -- .../_pytest/cacheprovider.py:566 + cache -- .../_pytest/cacheprovider.py:560 Return a cache object that can persist state between testing sessions. cache.get(key, default) @@ -33,7 +33,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a Values can be any object handled by the json stdlib module. - capsys -- .../_pytest/capture.py:1000 + capsys -- .../_pytest/capture.py:1007 Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``. The captured output is made available via ``capsys.readouterr()`` method @@ -51,7 +51,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a captured = capsys.readouterr() assert captured.out == "hello\n" - capteesys -- .../_pytest/capture.py:1028 + capteesys -- .../_pytest/capture.py:1035 Enable simultaneous text capturing and pass-through of writes to ``sys.stdout`` and ``sys.stderr`` as defined by ``--capture=``. @@ -74,7 +74,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a captured = capteesys.readouterr() assert captured.out == "hello\n" - capsysbinary -- .../_pytest/capture.py:1063 + capsysbinary -- .../_pytest/capture.py:1070 Enable bytes capturing of writes to ``sys.stdout`` and ``sys.stderr``. The captured output is made available via ``capsysbinary.readouterr()`` @@ -92,7 +92,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a captured = capsysbinary.readouterr() assert captured.out == b"hello\n" - capfd -- .../_pytest/capture.py:1091 + capfd -- .../_pytest/capture.py:1098 Enable text capturing of writes to file descriptors ``1`` and ``2``. The captured output is made available via ``capfd.readouterr()`` method @@ -110,7 +110,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a captured = capfd.readouterr() assert captured.out == "hello\n" - capfdbinary -- .../_pytest/capture.py:1119 + capfdbinary -- .../_pytest/capture.py:1126 Enable bytes capturing of writes to file descriptors ``1`` and ``2``. The captured output is made available via ``capfd.readouterr()`` method @@ -128,7 +128,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a captured = capfdbinary.readouterr() assert captured.out == b"hello\n" - doctest_namespace [session scope] -- .../_pytest/doctest.py:722 + doctest_namespace [session scope] -- .../_pytest/doctest.py:721 Fixture that returns a :py:class:`dict` that will be injected into the namespace of doctests. @@ -142,7 +142,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a For more details: :ref:`doctest_namespace`. - pytestconfig [session scope] -- .../_pytest/fixtures.py:1431 + pytestconfig [session scope] -- .../_pytest/fixtures.py:1564 Session-scoped fixture that returns the session's :class:`pytest.Config` object. @@ -152,7 +152,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a if pytestconfig.get_verbosity() > 0: ... - record_property -- .../_pytest/junitxml.py:277 + record_property -- .../_pytest/junitxml.py:275 Add extra properties to the calling test. User properties become part of the test report and are available to the @@ -166,13 +166,13 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a def test_function(record_property): record_property("example_key", 1) - record_xml_attribute -- .../_pytest/junitxml.py:300 + record_xml_attribute -- .../_pytest/junitxml.py:298 Add extra xml attributes to the tag for the calling test. The fixture is callable with ``name, value``. The value is automatically XML-encoded. - record_testsuite_property [session scope] -- .../_pytest/junitxml.py:338 + record_testsuite_property [session scope] -- .../_pytest/junitxml.py:336 Record a new ```` tag as child of the root ````. This is suitable to writing global information regarding the entire test @@ -214,7 +214,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a .. _legacy_path: https://py.readthedocs.io/en/latest/path.html - caplog -- .../_pytest/logging.py:596 + caplog -- .../_pytest/logging.py:611 Access and control log capturing. Captured logs are available through the following properties/methods:: @@ -225,7 +225,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a * caplog.record_tuples -> list of (logger_name, level, message) tuples * caplog.clear() -> clear captured records and formatted log output string - monkeypatch -- .../_pytest/monkeypatch.py:33 + monkeypatch -- .../_pytest/monkeypatch.py:36 A convenient fixture for monkey-patching. The fixture provides these methods to modify objects, dictionaries, or @@ -249,18 +249,18 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a To undo modifications done by the fixture in a contained scope, use :meth:`context() `. - recwarn -- .../_pytest/recwarn.py:34 + recwarn -- .../_pytest/recwarn.py:37 Return a :class:`WarningsRecorder` instance that records all warnings emitted by test functions. See :ref:`warnings` for information on warning categories. - subtests -- .../_pytest/subtests.py:129 + subtests -- .../_pytest/subtests.py:136 Provides subtests functionality. - tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:265 + tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:276 Return a :class:`pytest.TempPathFactory` instance for the test session. - tmp_path -- .../_pytest/tmpdir.py:280 + tmp_path -- .../_pytest/tmpdir.py:291 Return a temporary directory (as :class:`pathlib.Path` object) which is unique to each test function invocation. The temporary directory is created as a subdirectory diff --git a/doc/en/changelog.rst b/doc/en/changelog.rst index 6b1793bd503..c5601712b00 100644 --- a/doc/en/changelog.rst +++ b/doc/en/changelog.rst @@ -31,6 +31,335 @@ with advance notice in the **Deprecations** section of releases. .. towncrier release notes start +pytest 9.1.1 (2026-06-19) +========================= + +Bug fixes +--------- + +- `#14220 `_: Fixed a logic bug in :class:`pytest.RaisesGroup` which would might cause it to display incorrect "It matches `FooError()` which was paired with `BarError`" messages. + + +- `#14591 `_: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect `@pytest.mark.parametrize` to fail with "duplicate parametrization of ''". + + +- `#14606 `_: Fixed ``list-item`` typing errors from mypy in :ref:`@pytest.mark.parametrize ` ``argvalues`` parameter. + + +- `#14608 `_: Fixed a regression in pytest 9.1.0 where ``conftest.py`` files located in ``/test*`` were no longer loaded as initial conftests when invoked without arguments. + This could cause certain hooks (like :hook:`pytest_addoption`) in these files to not fire. + + +pytest 9.1.0 (2026-06-13) +========================= + +Removals and backward incompatible breaking changes +--------------------------------------------------- + +- `#14533 `_: When using :option:`--doctest-modules`, autouse fixtures with ``module``, ``package`` or ``session`` scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice. + + If this is undesirable, move the fixture definition to a ``conftest.py`` file if possible. + + Technical explanation for those interested: + When using `--doctest-modules`, pytest possibly collects Python modules twice, once as :class:`pytest.Module` and once as a ``DoctestModule`` (depending on the configuration). + Due to improvements in pytest's fixture implementation, if e.g. the ``DoctestModule`` collects a fixture, it is now visible to it only, and not to the ``Module``. + This means that both need to register the fixtures independently. + + + +Deprecations (removal in next major release) +-------------------------------------------- + +- `#10819 `_: Added a deprecation warning for class-scoped fixtures defined as instance methods (without ``@classmethod``). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use ``@classmethod`` decorator instead -- by :user:`yastcher`. + + See :issue:`10819` and :issue:`14011`. + + +- `#12882 `_: Calling :meth:`request.getfixturevalue() ` during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10. + + See :ref:`dynamic-fixture-request-during-teardown` for details. + + +- `#13409 `_: Using non-:class:`~collections.abc.Collection` iterables (such as generators, iterators, or custom iterable objects) for the ``argvalues`` parameter in :ref:`@pytest.mark.parametrize ` and :meth:`metafunc.parametrize ` is now deprecated. + + These iterables get exhausted after the first iteration, + leading to tests getting unexpectedly skipped in cases such as running :func:`pytest.main()` multiple times, + using class-level parametrize decorators, + or collecting tests multiple times. + + See :ref:`parametrize-iterators` for details and suggestions. + + +- `#13946 `_: The private ``config.inicfg`` attribute is now deprecated. + Use :meth:`config.getini() ` to access configuration values instead. + + See :ref:`config-inicfg` for more details. + + +- `#14004 `_: Passing ``baseid`` to :class:`~pytest.FixtureDef` or ``nodeid`` strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins. + + Use the ``node`` parameter instead for fixture scoping. This enables more robust node-based + matching instead of string prefix matching. + If you've used ``nodeid=None``, pass ``node=session`` instead. + + This will be removed in pytest 10. + + +- `#14335 `_: The method of configuring hooks using markers, deprecated since pytest 7.2, is now scheduled to be removed in pytest 10. + See :ref:`hook-markers` for more details. + + +- `#14434 `_: The :option:`--pastebin` option is now deprecated. + The same functionality is now available in an external plugin, :pypi:`pytest-pastebin`. + See :ref:`pastebin-deprecated` for more details. + + +- `#14513 `_: The private ``FixtureDef.has_location`` attribute is now deprecated and will be removed in pytest 10. + See :ref:`fixturedef-has-location-deprecated` for details. + + +- `#1764 `_: :func:`pytest.console_main` is now deprecated and will be removed in pytest 10. + It was never intended for programmatic use; use :func:`pytest.main` instead. + + + +New features +------------ + +- `#12376 `_: Added :func:`pytest.register_fixture()` to register fixtures using an imperative interface. + + This is an advanced function intended for use by plugins. + + Normally, fixtures should be registered declaratively using the :func:`@pytest.fixture ` decorator. + Pytest looks for these fixture definitions during the collection phase and registers them automatically. + For some plugin usecases the declarative interface can be cumbersome or unviable, in which case this imperative interface can be used. + + +- `#14023 `_: Added `--report-chars` long CLI option. + + +- `#14371 `_: Added :option:`--max-warnings` command-line option and :confval:`max_warnings` configuration option to fail the test run when the number of warnings exceeds a given threshold -- by :user:`miketheman`. + + +- `#6757 `_: Added the :confval:`assertion_text_diff_style` configuration option, allowing + string equality failures to be rendered as separate ``Left:`` and ``Right:`` + blocks instead of ``ndiff`` output. + + +- `#8395 `_: Added support for :class:`~datetime.datetime` and :class:`~datetime.timedelta` comparisons with :func:`pytest.approx`. An explicit ``abs`` or ``rel`` tolerance as a :class:`~datetime.timedelta` is required and relative tolerance is not supported for datetime comparisons -- by :user:`hamza-mobeen`. + + + +Improvements in existing functionality +-------------------------------------- + +- `#11225 `_: :func:`pytest.warns` now shows "Regex pattern did not match" instead of "DID NOT WARN" when warnings were emitted but the ``match`` pattern did not match. + + +- `#11295 `_: Improved output of ``--fixtures-per-test`` by excluding internal-implementation fixtures generated by ``@pytest.mark.parametrize`` and similar. + + +- `#13241 `_: :func:`pytest.raises`, :func:`pytest.warns` and :func:`pytest.deprecated_call` now uses :class:`ParamSpec` for the type hint to the (old and not recommended) callable overload, instead of :class:`Any`. This allows type checkers to raise errors when passing incorrect function parameters. + ``func`` can now also be passed as a kwarg, which the type hint previously showed as possible but didn't accept. + + +- `#13862 `_: Improved the readability of "DID NOT RAISE" error messages by using the exception type's name instead of its `repr`. + + +- `#14026 `_: Added test coverage for compiled regex patterns in :func:`pytest.raises` match parameter. + + +- `#14137 `_: `pytest.ScopeName` is now public to allow using it in function signatures. + + +- `#14342 `_: Marked ``yield_fixture`` as deprecated to type checkers using the ``deprecated`` decorator. Note it + :ref:`has originally been deprecated ` in pytest 6.2 already. + + +- `#14373 `_: Added type annotations for :func:`pytest.approx`. + + +- `#14430 `_: When using ``--setup-show``, a space is now printed after the test name (and possibly used fixtures), to separate it from the test result. + + +- `#14441 `_: Reduced the default number of ``gc.collect()`` passes in the ``unraisableexception`` plugin from 5 to 1 on CPython, where reference counting makes a single pass sufficient. PyPy retains 5 passes due to object resurrection via ``__del__``. This can noticeably speed up test suites that trigger many pytester runs. + + +- `#14461 `_: Improved assertion failure explanations for equality comparisons between mapping objects that are not ``dict`` instances. + + +- `#14513 `_: The order in which fixture definitions overriding each other are resolved is now determined first by their *visibility* in the collection tree rather than by the order in which they are registered. + + A fixture defined for a more specific node (e.g. a module or an item) now always takes precedence over one with the same name defined for a more general node (e.g. the session), even when the more general one was registered later. + Fixtures with non-comparable visibility or the same visibility keep the existing behavior of "last registered wins". + This change is supposed to only affect plugins which register multiple fixtures programmatically with the same name. + + +- `#14524 `_: Add official Python 3.15 support. + + +- `#1764 `_: Improved argparse program name to show ``pytest``, ``python -m pytest``, or ``pytest.main()`` based on how pytest was invoked, making help and error messages clearer. + + +- `#8265 `_: Emit a ``PytestCollectionWarning`` when a module-level ``__getattr__`` returns ``None`` for ``pytestmark`` instead of raising ``AttributeError``. + + Previously this caused a cryptic ``TypeError: got None instead of Mark`` error. + Now pytest issues a helpful warning and continues collecting the module normally. + + + +Bug fixes +--------- + +- `#13192 `_: Fixed `|` (pipe) not being treated as a regex meta-character that needs escaping in :func:`pytest.raises(match=...) `. + + +- `#13484 `_: Fixed ``-W`` option values being duplicated in ``Config.known_args_namespace``. + + +- `#13626 `_: Fixed function-scoped fixture values being kept alive after a test was interrupted by ``KeyboardInterrupt`` or early exit, + allowing them to potentially be released more promptly. + + +- `#13784 `_: Fixed ``capteesys`` producing doubled output when used with ``--capture=no`` (``-s``). + + +- `#13817 `_: Fixed a secondary `AttributeError` masking the original error when an option argument fails to initialize. + + +- `#13884 `_: Fixed rare internal IndexError caused by `builtins.compile` being overridden in client code. + + +- `#13885 `_: Fixed autouse fixtures defined inside a :class:`unittest.TestCase` class running even when the class is decorated with :func:`unittest.skip` or :func:`unittest.skipIf` -- regression since pytest 8.1.0. + + +- `#13917 `_: :class:`unittest.SkipTest` is no longer considered an interactive exception, i.e. :hook:`pytest_exception_interact` is no longer called for it. + + +- `#13963 `_: Fixed subtests running with :pypi:`pytest-xdist` when their contexts contain objects that are not JSON-serializable. + + Fixes `pytest-dev/pytest-xdist#1273 `__. + + +- `#14004 `_: Fixed conftest.py fixture scoping when :confval:`testpaths` points outside of the :ref:`rootdir `. + + Previously, fixtures from nested conftest.py files would incorrectly leak to sibling directories + when using a relative ``testpaths`` like ``../tests/sdk``. + + Conftest fixtures are now parsed during :class:`Directory ` collection, using the ``Directory`` node for proper scoping. + + +- `#14050 `_: Display dictionary differences in assertion failures using the original key insertion order instead of sorted order. + + +- `#14080 `_: fix missing type annotations on ``Pytester.makepyfile`` and ``Pytester.maketxtfile`` methods. + + +- `#14114 `_: An exception from :hook:`pytest_fixture_post_finalizer` no longer prevents fixtures from being torn down, causing additional errors in the following tests. + + +- `#14161 `_: Fixed :meth:`monkeypatch.setattr() ` leaving a stale entry on the undo stack when the underlying ``setattr()`` call fails (e.g. on immutable targets), causing an ``AttributeError`` crash during teardown. + + +- `#14214 `_: Fixed ``-v`` hint in :func:`pytest.raises` match diff not working because assertion verbosity was not propagated. + + +- `#14234 `_: Allow :ref:`pytest.HIDDEN_PARAM ` in :ref:`@pytest.mark.parametrize(ids=...) ` typing. + + +- `#14248 `_: Fixed direct parametrization causing the static fixture closure (as reflected in :data:`request.fixturenames `) to omit fixtures that are requested transitively from overridden fixtures. + + +- `#14263 `_: Unraisable exceptions from finalizers are now collected during ``pytest_unconfigure``, before pytest tears down the warning filters installed for the session. Previously the collection ran from a cleanup callback whose order relative to other plugins' cleanups was not guaranteed, so an active ``error`` filter could be removed before the exception surfaced and a late resource leak would pass silently. A ``-W error`` filter, or any filter matching :class:`pytest.PytestUnraisableExceptionWarning`, now promotes these exceptions to failures regardless of plugin cleanup order. + + +- `#14377 `_: Fixed crash in `Config.get_terminal_writer` when an assertion fails with the ``terminalreporter`` plugin disabled. + + +- `#14381 `_: Fixed ``-V`` (short form of ``--version``) to properly display the current version. + + +- `#14389 `_: Improved :func:`pytest.raises(..., match=...) ` failures to suppress the mismatched exception as a cause of the resulting ``AssertionError``. + + +- `#14392 `_: Fixed a bug in :func:`pytest.raises(match=...) ` "fully escaped" detection, causing the regex diff display to be shown in some instances when the raw string diff display should be shown instead. + + +- `#14442 `_: Fixed a regression in pytest 9.0 where :option:`--strict-markers` and :option:`--strict-config` specified through :confval:`addopts` were silently ignored. + + Note that when targeting pytest >= 9.0, it's nicer to use :confval:`strict_markers` and :confval:`strict_config`, or :ref:`strict mode `. + + +- `#14456 `_: Fixed :func:`pytest.approx` not recognizing types with ``__array_interface__`` as numpy-like arrays. + + +- `#14474 `_: Fixed a regression where ``-k`` and ``-m`` expressions containing both backslash characters in identifiers and string literal arguments would incorrectly raise a ``SyntaxError`` about escaping. + + +- `#14483 `_: Fixed JUnit XML report incorrectly escaping high Unicode codepoints (supplementary plane characters like emoji) in test failure messages. -- by :user:`EternalRights` + + +- `#14492 `_: Fixed ``Code.getargs()`` incorrectly including local variable names in the returned argument tuple for functions with ``*args`` and/or ``**kwargs``. The method was using ``co_flags`` bitmask values (``4`` and ``8``) directly as counts instead of converting them to ``1`` via ``bool()``, and was not accounting for ``co_kwonlyargcount`` when ``var=True``. + + +- `#3697 `_: Logging capture now works for non-propagating loggers. + Previously only logs which reached the root logger were captured. + This includes :fixture:`caplog` and the "Captured log calls" test reporting. + + +- `#3850 `_: Fixed JUnit XML report: the ``tests`` attribute of the ```` element now always matches the number of ```` elements in the file. In some cases (test passes but fails during teardown) the ``tests`` attribute would report an incorrect number of testcases in the XML file. + + +- `#5848 `_: :hook:`pytest_fixture_post_finalizer` is no longer called extra times for the same fixture teardown in some cases. + + +- `#719 `_: Fixed :ref:`@pytest.mark.parametrize ` not unpacking single-element tuple values when using a string argnames with a trailing comma (e.g., ``"arg,"``). + + The trailing comma form now correctly behaves like the tuple form ``("arg",)``, treating argvalues as a list of tuples to unpack. + + + +Improved documentation +---------------------- + +- `#11022 `_: Document safer alternatives and scope guidance for monkeypatching standard library functions. + + +- `#11307 `_: Document that ``@pytest.hookimpl(specname=...)`` only works for function names starting with ``pytest_``. + + +- `#13038 `_: Document that doctests do not support parametrized fixtures, including parametrized autouse fixtures. + + +- `#13155 `_: Clarified how the ``request`` fixture provides indirect parametrization values via ``request.param``. + + +- `#13304 `_: Clarified in the documentation that hook implementations defined in ``conftest.py`` files are not available to other plugins during their ``pytest_addoption()`` execution, as conftest files are discovered and loaded after builtin and third-party plugins have been initialized. However, initial conftest files themselves can implement ``pytest_addoption()`` to add their own command-line options. + + +- `#13902 `_: Clarified how subtest progress markers are shown in the documentation. + + +- `#14012 `_: The :ref:`ini options ref` section of the API Reference now specified the type and default value of every configuration option. + + +- `#14148 `_: Documented a safe ``pytestconfig.cache`` access pattern when the + ``cacheprovider`` plugin is disabled. + + +- `#14303 `_: The documentation is now built with Sphinx >= 9. + + +- `#14465 `_: Updated the hooks how-to page to link the ``newhooks.py`` file in ``pytest-xdist`` at tag ``v3.8.0`` instead of an unrelated 2017-era commit under the old layout. Pointing at a tag keeps the example in sync with the version users actually install, while remaining stable when the project's main branch moves on. + + + +Miscellaneous internal changes +------------------------------ + +- `#14582 `_: Improved the recursion traceback test to exercise all requested traceback styles. + + pytest 9.0.3 (2026-04-07) ========================= diff --git a/doc/en/example/nonpython.rst b/doc/en/example/nonpython.rst index 822a5093312..9ac2b508ceb 100644 --- a/doc/en/example/nonpython.rst +++ b/doc/en/example/nonpython.rst @@ -62,7 +62,7 @@ consulted when reporting in ``verbose`` mode. It should return a tuple ``(path, lineno, description)``, where: * ``path`` is the path shown in reports (usually ``self.path`` or ``self.fspath``). -* ``lineno`` is a zero-based line number, or ``0`` when no specific line applies. +* ``lineno`` is the line number, or ``0`` when no specific line applies. * ``description`` is a short label shown for the collected item: .. code-block:: pytest diff --git a/doc/en/example/parametrize.rst b/doc/en/example/parametrize.rst index de668def863..8e7e58f9829 100644 --- a/doc/en/example/parametrize.rst +++ b/doc/en/example/parametrize.rst @@ -162,7 +162,7 @@ objects, they are still using the default pytest representation: rootdir: /home/sweet/project collected 8 items - + @@ -239,7 +239,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia rootdir: /home/sweet/project collected 4 items - + @@ -318,7 +318,7 @@ Let's first see how it looks like at collection time: rootdir: /home/sweet/project collected 2 items - + diff --git a/doc/en/example/pythoncollection.rst b/doc/en/example/pythoncollection.rst index 48ee2c8533f..3dd87a71cb7 100644 --- a/doc/en/example/pythoncollection.rst +++ b/doc/en/example/pythoncollection.rst @@ -142,7 +142,7 @@ The test collection would look like this: configfile: pytest.toml collected 2 items - + @@ -205,7 +205,7 @@ You can always peek at the collection tree without running tests like this: configfile: pytest.toml collected 3 items - + diff --git a/doc/en/example/reportingdemo.rst b/doc/en/example/reportingdemo.rst index 29ba190b7e7..1eef1322927 100644 --- a/doc/en/example/reportingdemo.rst +++ b/doc/en/example/reportingdemo.rst @@ -429,7 +429,7 @@ Here is a nice run of several failures and how ``pytest`` presents things: def test_raises_doesnt(self): > raises(OSError, int, "3") - E Failed: DID NOT RAISE + E Failed: DID NOT RAISE OSError failure_demo.py:171: Failed __________________________ TestRaises.test_raise ___________________________ @@ -574,12 +574,12 @@ Here is a nice run of several failures and how ``pytest`` presents things: E + where False = ('456') E + where = '123'.startswith E + where '123' = .f at 0xdeadbeef0029>() - E + and '456' = .g at 0xdeadbeef002a>() + E + and '456' = .g at 0xdeadbeef0002>() failure_demo.py:237: AssertionError _____________________ TestMoreErrors.test_global_func ______________________ - self = + self = def test_global_func(self): > assert isinstance(globf(42), float) @@ -590,18 +590,18 @@ Here is a nice run of several failures and how ``pytest`` presents things: failure_demo.py:240: AssertionError _______________________ TestMoreErrors.test_instance _______________________ - self = + self = def test_instance(self): self.x = 6 * 7 > assert self.x != 42 E assert 42 != 42 - E + where 42 = .x + E + where 42 = .x failure_demo.py:244: AssertionError _______________________ TestMoreErrors.test_compare ________________________ - self = + self = def test_compare(self): > assert globf(10) < 5 @@ -611,7 +611,7 @@ Here is a nice run of several failures and how ``pytest`` presents things: failure_demo.py:247: AssertionError _____________________ TestMoreErrors.test_try_finally ______________________ - self = + self = def test_try_finally(self): x = 1 @@ -622,7 +622,7 @@ Here is a nice run of several failures and how ``pytest`` presents things: failure_demo.py:252: AssertionError ___________________ TestCustomAssertMsg.test_single_line ___________________ - self = + self = def test_single_line(self): class A: @@ -637,7 +637,7 @@ Here is a nice run of several failures and how ``pytest`` presents things: failure_demo.py:263: AssertionError ____________________ TestCustomAssertMsg.test_multiline ____________________ - self = + self = def test_multiline(self): class A: @@ -656,7 +656,7 @@ Here is a nice run of several failures and how ``pytest`` presents things: failure_demo.py:270: AssertionError ___________________ TestCustomAssertMsg.test_custom_repr ___________________ - self = + self = def test_custom_repr(self): class JSON: diff --git a/doc/en/example/simple.rst b/doc/en/example/simple.rst index a07927280ae..dff53488c88 100644 --- a/doc/en/example/simple.rst +++ b/doc/en/example/simple.rst @@ -165,7 +165,7 @@ Now we'll get feedback on a bad argument: $ pytest -q --cmdopt=type3 ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] - pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from type1, type2) + pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from 'type1', 'type2') inifile: None rootdir: /home/sweet/project diff --git a/doc/en/getting-started.rst b/doc/en/getting-started.rst index 76a4428c163..f8deae77e3e 100644 --- a/doc/en/getting-started.rst +++ b/doc/en/getting-started.rst @@ -20,7 +20,7 @@ Install ``pytest`` .. code-block:: bash $ pytest --version - pytest 9.0.3 + pytest 9.1.1 .. _`simpletest`: diff --git a/doc/en/how-to/assert.rst b/doc/en/how-to/assert.rst index 43aeb66fdfc..5564aa9ce83 100644 --- a/doc/en/how-to/assert.rst +++ b/doc/en/how-to/assert.rst @@ -432,10 +432,6 @@ Special comparisons are done for a number of cases: * comparing long sequences: first failing indices * comparing dicts: different entries -In string context diffs, lines prefixed with ``-`` come from the left-hand side -of ``assert left == right``, while lines prefixed with ``+`` come from the -right-hand side. - See the :ref:`reporting demo ` for many more examples. Defining your own explanation for failed assertions diff --git a/doc/en/how-to/cache.rst b/doc/en/how-to/cache.rst index c030e487563..ef0919ef1c8 100644 --- a/doc/en/how-to/cache.rst +++ b/doc/en/how-to/cache.rst @@ -247,7 +247,7 @@ If you run this command for the first time, you can see the print statement: > assert mydata == 23 E assert 42 == 23 - test_caching.py:19: AssertionError + test_caching.py:26: AssertionError -------------------------- Captured stdout setup --------------------------- running expensive computation... ========================= short test summary info ========================== @@ -270,7 +270,7 @@ the cache and nothing will be printed: > assert mydata == 23 E assert 42 == 23 - test_caching.py:19: AssertionError + test_caching.py:26: AssertionError ========================= short test summary info ========================== FAILED test_caching.py::test_function - assert 42 == 23 1 failed in 0.12s diff --git a/doc/en/how-to/fixtures.rst b/doc/en/how-to/fixtures.rst index 35e4a02a69f..0ffc0778f9f 100644 --- a/doc/en/how-to/fixtures.rst +++ b/doc/en/how-to/fixtures.rst @@ -1049,7 +1049,8 @@ without having to repeat all those steps again. class TestLandingPageSuccess: @pytest.fixture(scope="class", autouse=True) - def login(self, driver, base_url, user): + @classmethod + def login(cls, driver, base_url, user): driver.get(urljoin(base_url, "/login")) page = LoginPage(driver) page.login(user) @@ -1092,7 +1093,8 @@ could handle it by adding something like this to the test file: class TestLandingPageBadCredentials: @pytest.fixture(scope="class") - def faux_user(self, user): + @classmethod + def faux_user(cls, user): _user = deepcopy(user) _user.password = "badpass" return _user @@ -1423,7 +1425,7 @@ Running the above tests results in the following test IDs being used: rootdir: /home/sweet/project collected 12 items - + diff --git a/doc/en/how-to/writing_plugins.rst b/doc/en/how-to/writing_plugins.rst index 56043a14f97..0e112a0ac88 100644 --- a/doc/en/how-to/writing_plugins.rst +++ b/doc/en/how-to/writing_plugins.rst @@ -212,11 +212,12 @@ as plugins. As an example consider the following package:: pytest_foo/plugin.py pytest_foo/helper.py -With the following typical ``setup.py`` extract: +With the following typical ``pyproject.toml`` extract: -.. code-block:: python +.. code-block:: toml - setup(..., entry_points={"pytest11": ["foo = pytest_foo.plugin"]}, ...) + [project.entry-points.pytest11] + foo = "pytest_foo.plugin" In this case only ``pytest_foo/plugin.py`` will be rewritten. If the helper module also contains assert statements which need to be diff --git a/doc/en/reference/customize.rst b/doc/en/reference/customize.rst index 8f781eab4a5..7a4030d081a 100644 --- a/doc/en/reference/customize.rst +++ b/doc/en/reference/customize.rst @@ -104,7 +104,7 @@ pyproject.toml ] For projects that still run pytest versions older than 6.0, keep - ``minversion`` in ``pytest.ini`` or ``setup.cfg`` too. Those versions + ``minversion`` in ``pytest.ini`` or ``tox.ini`` too. Those versions do not read ``pyproject.toml``. tox.ini diff --git a/doc/en/reference/plugin_list.rst b/doc/en/reference/plugin_list.rst index 3c088d661df..0383ac63618 100644 --- a/doc/en/reference/plugin_list.rst +++ b/doc/en/reference/plugin_list.rst @@ -27,7 +27,7 @@ please refer to `the update script =7.0 :pypi:`pytest-abq` Pytest integration for the ABQ universal test runner. Apr 07, 2023 N/A N/A :pypi:`pytest-abstracts` A pytest fixture for testing abstract interface implementations May 15, 2026 4 - Beta pytest>=7.4.0 - :pypi:`pytest-accept` Mar 01, 2026 N/A pytest>=7 + :pypi:`pytest-accept` Jun 11, 2026 N/A pytest>=7 :pypi:`pytest-adaptavist` pytest plugin for generating test execution results within Jira Test Management (tm4j) Oct 13, 2022 N/A pytest (>=5.4.0) :pypi:`pytest-adaptavist-fixed` pytest plugin for generating test execution results within Jira Test Management (tm4j) Jan 17, 2025 N/A pytest>=5.4.0 - :pypi:`pytest-adbc-replay` pytest plugin to record and replay ADBC database queries Mar 13, 2026 5 - Production/Stable pytest>=8.0 + :pypi:`pytest-adbc-replay` pytest plugin to record and replay ADBC database queries Jun 23, 2026 5 - Production/Stable pytest>=8.0 :pypi:`pytest-addons-test` 用于测试pytest的插件 Aug 02, 2021 N/A pytest (>=6.2.4,<7.0.0) :pypi:`pytest-adf` Pytest plugin for writing Azure Data Factory integration tests May 10, 2021 4 - Beta pytest (>=3.5.0) :pypi:`pytest-adf-azure-identity` Pytest plugin for writing Azure Data Factory integration tests Mar 06, 2021 4 - Beta pytest (>=3.5.0) - :pypi:`pytest-adk` Helpers for testing agents with Google's adk-python Jun 06, 2026 1 - Planning pytest>=8; extra == "dev" + :pypi:`pytest-adk` Helpers for testing agents with Google's adk-python Aug 11, 2026 1 - Planning pytest>=8; extra == "dev" :pypi:`pytest-ads-testplan` Azure DevOps Test Case reporting for pytest tests Sep 15, 2022 N/A N/A :pypi:`pytest-adversarial` Generate adversarial pytest tests using LLM Jan 22, 2026 N/A pytest>=7.0.0 :pypi:`pytest-affected` Nov 06, 2023 N/A N/A :pypi:`pytest-agent` Service that exposes a REST API that can be used to interract remotely with Pytest. It is shipped with a dashboard that enables running tests in a more convenient way. Nov 25, 2021 N/A N/A + :pypi:`pytest-agent-check` A pytest plugin for evaluating and testing AI agents — record, replay, and assert agent behavior Jul 30, 2026 3 - Alpha pytest>=8.0 :pypi:`pytest-agentcontract` Deterministic CI tests for LLM agent trajectories — record once, replay offline, assert contracts Feb 18, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-agent-digest` A Pytest plugin to generate a Markdown report for AI Agents May 02, 2026 4 - Beta pytest>=7.0 - :pypi:`pytest-agent-eval` A pytest plugin for LLM evaluation tests with threshold-based pass/fail Apr 30, 2026 3 - Alpha pytest>=7.4 + :pypi:`pytest-agent-eval` A pytest plugin for LLM evaluation tests with threshold-based pass/fail Jul 21, 2026 3 - Alpha pytest>=7.4 :pypi:`pytest-agent-evals` Pytest plugin for evaluating AI Agents Mar 13, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-agentharness` Open-source test harness for AI agents that take real-world actions. Apr 20, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-agent-health` Catch silent agent failures in CI. Behavior lint for LLM agents, powered by agent-failure-debugger. Apr 03, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-agentkit` Pytest plugin for testing AI agents — mock LLMs, assert tool calls, track tokens, regression-test prompts. May 03, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-agent-observability` pytest plugin that uploads LiveKit-agents eval results to agent-observability Apr 27, 2026 N/A pytest>=7.0 :pypi:`pytest-agentprobe` pytest-compatible test harness for AI agents — deterministic record & replay for Anthropic Claude Jun 01, 2026 3 - Alpha pytest>=7.0 - :pypi:`pytest-agents` Pytest plugin framework with AI agent capabilities for multi-agent testing Feb 20, 2026 3 - Alpha pytest>=8.0.0 + :pypi:`pytest-agents` Pytest plugin framework with AI agent capabilities for multi-agent testing Jul 14, 2026 3 - Alpha pytest>=8.0.0 + :pypi:`pytest-agent-saga` Pytest plugin for agent-saga: deterministic replay verification, chaos injection, and WAL fixtures. Aug 15, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-aggreport` pytest plugin for pytest-repeat that generate aggregate report of the same test cases with additional statistics details. Mar 07, 2021 4 - Beta pytest (>=6.2.2) :pypi:`pytest-ai` A Python package to generate regular, edge-case, and security HTTP tests. Jan 22, 2025 N/A N/A :pypi:`pytest-ai1899` pytest plugin for connecting to ai1899 smart system stack Mar 13, 2024 5 - Production/Stable N/A @@ -70,7 +72,8 @@ This list contains 2004 plugins. :pypi:`pytest-aioboto3` Aioboto3 Pytest with Moto Jan 17, 2025 N/A N/A :pypi:`pytest-aiofiles` pytest fixtures for writing aiofiles tests with pyfakefs May 14, 2017 5 - Production/Stable N/A :pypi:`pytest-aiogram` May 06, 2023 N/A N/A - :pypi:`pytest-aiohttp` Pytest plugin for aiohttp support Jan 23, 2025 4 - Beta pytest>=6.1.0 + :pypi:`pytest-aiographql-server` Reserved name placeholder. No functionality. Jul 17, 2026 N/A N/A + :pypi:`pytest-aiohttp` Pytest plugin for aiohttp support Jun 07, 2026 4 - Beta pytest>=6.1.0 :pypi:`pytest-aiohttp-client` Pytest \`client\` fixture for the Aiohttp Jan 10, 2023 N/A pytest (>=7.2.0,<8.0.0) :pypi:`pytest-aiohttp-mock` Send responses to aiohttp. Sep 13, 2025 3 - Alpha pytest>=8 :pypi:`pytest-aiohutils` Pytest plugin providing fixtures and configuration for aiohutils projects (offline, record, cleanup modes). Apr 23, 2026 N/A pytest @@ -78,6 +81,7 @@ This list contains 2004 plugins. :pypi:`pytest-aioresponses` py.test integration for aioresponses Jan 02, 2025 4 - Beta pytest>=3.5.0 :pypi:`pytest-aioworkers` A plugin to test aioworkers project with pytest Dec 26, 2024 5 - Production/Stable pytest>=8.3.4 :pypi:`pytest-airflow` pytest support for airflow. Apr 03, 2019 3 - Alpha pytest (>=4.4.0) + :pypi:`pytest-airflow-in-a-box` Pytest infrastructure for testing Apache Airflow DAGs without a live deployment Aug 15, 2026 3 - Alpha pytest>=8 :pypi:`pytest-airflow-utils` Nov 15, 2021 N/A N/A :pypi:`pytest-alembic` A pytest plugin for verifying alembic migrations. May 27, 2025 N/A pytest>=7.0 :pypi:`pytest-alerts` A pytest plugin for sending test results to Slack and Telegram Feb 21, 2025 4 - Beta pytest>=7.4.0 @@ -93,13 +97,15 @@ This list contains 2004 plugins. :pypi:`pytest-allure-step` Enhanced logging integration with Allure reports for pytest Jul 13, 2025 3 - Alpha pytest>=6.0.0 :pypi:`pytest-alphamoon` Static code checks used at Alphamoon Dec 30, 2021 5 - Production/Stable pytest (>=3.5.0) :pypi:`pytest-amaranth-sim` Fixture to automate running Amaranth simulations Feb 18, 2026 4 - Beta pytest>=6.2.0 + :pypi:`pytest-amgi` Pytest helpers for AMGI applications Jul 15, 2026 N/A pytest>=9.0.3 :pypi:`pytest-ampel-core` A plugin to provide AmpelContext fixtures in pytest Dec 17, 2025 4 - Beta pytest>=6.2.0 :pypi:`pytest-analyzer` this plugin allows to analyze tests in pytest project, collect test metadata and sync it with testomat.io TCM system Feb 21, 2024 N/A pytest <8.0.0,>=7.3.1 :pypi:`pytest-android` This fixture provides a configured "driver" for Android Automated Testing, using uiautomator2. Feb 21, 2019 3 - Alpha pytest :pypi:`pytest-anki` A pytest plugin for testing Anki add-ons Jul 31, 2022 4 - Beta pytest (>=3.5.0) + :pypi:`pytest-anki2` A pytest plugin for testing Anki add-ons Jun 10, 2026 5 - Production/Stable pytest>=7.0 :pypi:`pytest-annotate` pytest-annotate: Generate PyAnnotate annotations from your pytest tests. Jun 07, 2022 3 - Alpha pytest (<8.0.0,>=3.2.0) :pypi:`pytest-annotated` Pytest plugin to allow use of Annotated in tests to resolve fixtures Sep 30, 2024 N/A pytest>=8.3.3 - :pypi:`pytest-ansible` Plugin for pytest to simplify calling ansible modules from tests or fixtures Apr 01, 2026 5 - Production/Stable pytest>=6 + :pypi:`pytest-ansible` Plugin for pytest to simplify calling ansible modules from tests or fixtures Aug 12, 2026 5 - Production/Stable pytest>=6 :pypi:`pytest-ansible-playbook` Pytest fixture which runs given ansible playbook file. Mar 08, 2019 4 - Beta N/A :pypi:`pytest-ansible-playbook-runner` Pytest fixture which runs given ansible playbook file. Dec 02, 2020 4 - Beta pytest (>=3.1.0) :pypi:`pytest-ansible-units` A pytest plugin for running unit tests within an ansible collection Apr 14, 2022 N/A N/A @@ -111,11 +117,10 @@ This list contains 2004 plugins. :pypi:`pytest-api` An ASGI middleware to populate OpenAPI Specification examples from pytest functions May 12, 2022 N/A pytest (>=7.1.1,<8.0.0) :pypi:`pytest-apibean` Pytest plugin providing apibean-based API testing fixtures integrated with apibean-client, designed for testing apibean REST services and datacore backends. Dec 30, 2025 N/A pytest :pypi:`pytest-api-contract` pytest plugin for automated API contract testing from OpenAPI specs Jun 05, 2026 N/A pytest>=7.0 - :pypi:`pytest-api-core` Pytest API automation framework with custom HTML reporting, reusable fixtures, and fluent assertions Jun 01, 2026 5 - Production/Stable pytest>=7.4 - :pypi:`pytest-api-cov` Pytest Plugin to provide API Coverage statistics for Python Web Frameworks May 04, 2026 N/A pytest>=6.0.0 + :pypi:`pytest-api-core` Pytest API automation framework with custom HTML reporting, reusable fixtures, and fluent assertions Jul 05, 2026 5 - Production/Stable pytest<10.0,>=7.4 + :pypi:`pytest-api-cov` Pytest Plugin to provide API Coverage statistics for Python Web Frameworks Jul 08, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-api-coverage` Pytest plugin for API test coverage analysis Mar 24, 2026 3 - Alpha pytest>=7.0.0 - :pypi:`pytest-api-framework` pytest framework Jun 22, 2025 N/A pytest==7.2.2 - :pypi:`pytest-api-framework-alpha` Apr 14, 2026 N/A pytest==7.2.2 + :pypi:`pytest-api-gateway` A simple pytest plugin to let you interact with your pytest suite using http request Jun 26, 2026 N/A pytest>=9.0.3 :pypi:`pytest-api-kit` Pragmatic scaffolding for API smoke / regression tests — zero-dep schema, snapshot drift, HTML reports, AWS ECS deploy. Apr 23, 2026 4 - Beta pytest>=8.0 :pypi:`pytest-api-soup` Validate multiple endpoints with unit testing using a single source of truth. Aug 27, 2022 N/A N/A :pypi:`pytest-apistellar` apistellar plugin for pytest. Jun 18, 2019 N/A N/A @@ -123,14 +128,14 @@ This list contains 2004 plugins. :pypi:`pytest-appengine` AppEngine integration that works well with pytest-django Feb 27, 2017 N/A N/A :pypi:`pytest-appium` Pytest plugin for appium Dec 05, 2019 N/A N/A :pypi:`pytest-appium-scheduler` Pytest plugin for Appium device scheduling and driver lifecycle management. Apr 13, 2026 N/A pytest>=7.0 - :pypi:`pytest-approval` A simple approval test library utilizing external diff programs such as PyCharm and Visual Studio Code to compare approved and received output. May 05, 2026 N/A pytest>=9.0.3 + :pypi:`pytest-approval` A simple approval test library utilizing external diff programs such as PyCharm and Visual Studio Code to compare approved and received output. Jun 23, 2026 N/A pytest>=9.0.3 :pypi:`pytest-approvaltests` A plugin to use approvaltests with pytest May 08, 2022 4 - Beta pytest (>=7.0.1) :pypi:`pytest-approvaltests-geo` Extension for ApprovalTests.Python specific to geo data verification Apr 29, 2026 5 - Production/Stable pytest :pypi:`pytest-archon` Rule your architecture like a real developer Sep 19, 2025 5 - Production/Stable pytest>=7.2 :pypi:`pytest-argus` pyest results colection plugin Jun 24, 2021 5 - Production/Stable pytest (>=6.2.4) - :pypi:`pytest-argus-reporter` A simple plugin to report results of test into argus May 26, 2026 4 - Beta pytest~=9.0.0; extra == "dev" + :pypi:`pytest-argus-reporter` A simple plugin to report results of test into argus Aug 11, 2026 4 - Beta pytest~=9.0.0; extra == "dev" :pypi:`pytest-argus-server` A plugin that provides a running Argus API server for tests Mar 05, 2026 4 - Beta pytest>=6.2.0 - :pypi:`pytest-arrakis` Pytest plugin providing Arrakis fixtures for testing Jun 02, 2026 3 - Alpha pytest + :pypi:`pytest-arrakis` Pytest plugin providing Arrakis fixtures for testing Jul 24, 2026 3 - Alpha pytest :pypi:`pytest-arraydiff` pytest plugin to help with comparing array output from tests Jun 02, 2026 4 - Beta pytest>=6.2 :pypi:`pytest-artifacts` Pytest plugin for managing test artifacts May 14, 2026 4 - Beta pytest>=6.2.0 :pypi:`pytest-asdf-plugin` Pytest plugin for testing ASDF schemas Jun 04, 2026 5 - Production/Stable pytest>=7 @@ -143,12 +148,12 @@ This list contains 2004 plugins. :pypi:`pytest-assert-type` Use typing.assert_type() to test runtime behavior Oct 26, 2025 3 - Alpha pytest>=6.2.0 :pypi:`pytest-assertutil` pytest-assertutil May 10, 2019 N/A N/A :pypi:`pytest-assert-utils` Useful assertion utilities for use with pytest Apr 14, 2022 3 - Alpha N/A - :pypi:`pytest-assist` pytest plugin library Oct 29, 2025 4 - Beta pytest + :pypi:`pytest-assist` pytest plugin library Jul 24, 2026 4 - Beta pytest :pypi:`pytest-assume` A pytest plugin that allows multiple failures per test Jun 24, 2021 N/A pytest (>=2.7) :pypi:`pytest-assurka` A pytest plugin for Assurka Studio Aug 04, 2022 N/A N/A :pypi:`pytest-ast-back-to-python` A plugin for pytest devs to view how assertion rewriting recodes the AST Sep 29, 2019 4 - Beta N/A :pypi:`pytest-asteroid` PyTest plugin for docker-based testing on database images Aug 15, 2022 N/A pytest (>=6.2.5,<8.0.0) - :pypi:`pytest-astropy` Meta-package containing dependencies for testing Sep 26, 2023 5 - Production/Stable pytest >=4.6 + :pypi:`pytest-astropy` Meta-package containing dependencies for testing Aug 03, 2026 5 - Production/Stable pytest>=4.6 :pypi:`pytest-astropy-header` pytest plugin to add diagnostic information to the header of the test output Sep 06, 2022 3 - Alpha pytest (>=4.6) :pypi:`pytest-ast-transformer` May 04, 2019 3 - Alpha pytest :pypi:`pytest_async` pytest-async - Run your coroutine in event loop without decorator Feb 26, 2020 N/A N/A @@ -168,6 +173,7 @@ This list contains 2004 plugins. :pypi:`pytest-attributes` A plugin that allows users to add attributes to their tests. These attributes can then be referenced by fixtures or the test itself. Jun 24, 2024 4 - Beta pytest>=6.2.0 :pypi:`pytest-audioeval` Pytest plugin for STT/TTS integration testing with httpx, metrics, and embedded audio samples. Mar 18, 2026 4 - Beta pytest>=8.0 :pypi:`pytest-austin` Austin plugin for pytest Oct 11, 2020 4 - Beta N/A + :pypi:`pytest-authz-matrix` Authorization contract testing for Python web APIs Aug 15, 2026 3 - Alpha pytest>=7.4 :pypi:`pytest-auto-api2-cli` CLI for generating and running pytest-auto-api2 test cases. Mar 26, 2026 N/A pytest==8.4.1 :pypi:`pytest-autocap` automatically capture test & fixture stdout/stderr to files May 15, 2022 N/A pytest (<7.2,>=7.1.2) :pypi:`pytest-autochecklog` automatically check condition and log all the checks Apr 25, 2015 4 - Beta N/A @@ -176,7 +182,7 @@ This list contains 2004 plugins. :pypi:`pytest-automation` pytest plugin for building a test suite, using YAML files to extend pytest parameterize functionality. Apr 24, 2024 N/A pytest>=7.0.0 :pypi:`pytest-automock` Pytest plugin for automatical mocks creation May 16, 2023 N/A pytest ; extra == 'dev' :pypi:`pytest-auto-parametrize` pytest plugin: avoid repeating arguments in parametrize Oct 02, 2016 3 - Alpha N/A - :pypi:`pytest-autoprofile` \`line_profiler.autoprofile\`-ing your \`pytest\` test suite Mar 13, 2026 4 - Beta pytest>=7.0 + :pypi:`pytest-autoprofile` \`line_profiler.autoprofile\`-ing your \`pytest\` test suite Jul 31, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-autotest` This fixture provides a configured "driver" for Android Automated Testing, using uiautomator2. Aug 25, 2021 N/A pytest :pypi:`pytest-aviator` Aviator's Flakybot pytest plugin that automatically reruns flaky tests. Nov 04, 2022 4 - Beta pytest :pypi:`pytest-avoidance` Makes pytest skip tests that don not need rerunning May 23, 2019 4 - Beta pytest (>=3.5.0) @@ -191,7 +197,7 @@ This list contains 2004 plugins. :pypi:`pytest-azure` Pytest utilities and mocks for Azure Jan 18, 2023 3 - Alpha pytest :pypi:`pytest-azure-devops` Simplifies using azure devops parallel strategy (https://docs.microsoft.com/en-us/azure/devops/pipelines/test/parallel-testing-any-test-runner) with pytest. Jul 16, 2025 4 - Beta pytest>=3.5.0 :pypi:`pytest-azurepipelines` Formatting PyTest output for Azure Pipelines UI Oct 06, 2023 5 - Production/Stable pytest (>=5.0.0) - :pypi:`pytest-balance` Intelligent test distribution for pytest based on actual execution times, not file count Apr 09, 2026 3 - Alpha pytest>=8 + :pypi:`pytest-balance` Load-balanced test sharding for pytest, by real execution time Jun 15, 2026 4 - Beta pytest>=8 :pypi:`pytest-bandit` A bandit plugin for pytest Feb 23, 2021 4 - Beta pytest (>=3.5.0) :pypi:`pytest-bandit-xayon` A bandit plugin for pytest Oct 17, 2022 4 - Beta pytest (>=3.5.0) :pypi:`pytest-base-url` pytest plugin for URL based testing Jan 31, 2024 5 - Production/Stable pytest>=7.0.0 @@ -212,12 +218,13 @@ This list contains 2004 plugins. :pypi:`pytest-beakerlib` A pytest plugin that reports test results to the BeakerLib framework Mar 17, 2017 5 - Production/Stable pytest :pypi:`pytest-beartype` Pytest plugin to run your tests with beartype checking enabled. Oct 31, 2024 N/A pytest :pypi:`pytest-beartype-tests` Pytest plugin that applies @beartype to every collected test function. Apr 26, 2026 4 - Beta pytest>=8 - :pypi:`pytest-bec-e2e` BEC pytest plugin for end-to-end tests Jun 05, 2026 3 - Alpha pytest + :pypi:`pytest-bec-e2e` BEC pytest plugin for end-to-end tests Aug 13, 2026 3 - Alpha pytest :pypi:`pytest-beds` Fixtures for testing Google Appengine (GAE) apps Jun 07, 2016 4 - Beta N/A :pypi:`pytest-beehave` A pytest plugin that generates test stubs from Gherkin feature files, checks consistency, and displays BDD steps in pytest output May 20, 2026 5 - Production/Stable pytest>=9.0.3; extra == "dev" :pypi:`pytest-beeprint` use icdiff for better error messages in pytest assertions Jul 04, 2023 4 - Beta N/A :pypi:`pytest-bench` Benchmark utility that plugs into pytest. Jul 21, 2014 3 - Alpha N/A :pypi:`pytest-benchmark` A \`\`pytest\`\` fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer. Nov 09, 2025 5 - Production/Stable pytest>=8.1 + :pypi:`pytest-benchmem` Memory benchmarking for Python, on the pytest-benchmark suites you already time: a memray peak-memory pass on the same tests, plus param-driven plots and cross-version sweeps. Aug 15, 2026 3 - Alpha pytest>=7 :pypi:`pytest-better-datadir` A small example package Mar 13, 2023 N/A N/A :pypi:`pytest-better-parametrize` Better description of parametrized test cases Mar 05, 2024 4 - Beta pytest >=6.2.0 :pypi:`pytest-bg-process` Pytest plugin to initialize background process Jan 24, 2022 4 - Beta pytest (>=3.5.0) @@ -234,7 +241,7 @@ This list contains 2004 plugins. :pypi:`pytest-blocker` pytest plugin to mark a test as blocker and skip all other tests Sep 07, 2015 4 - Beta N/A :pypi:`pytest-b-logger` BLogger is a Pytest plugin for enhanced test logging and generating convenient and lightweight reports. Dec 16, 2025 N/A pytest :pypi:`pytest-blue` A pytest plugin that adds a \`blue\` fixture for printing stuff in blue. Sep 05, 2022 N/A N/A - :pypi:`pytest-bluezenv` pytest BlueZ environment plugin May 12, 2026 3 - Alpha pytest>=8 + :pypi:`pytest-bluezenv` pytest BlueZ environment plugin Jun 13, 2026 3 - Alpha pytest>=8 :pypi:`pytest-board` Local continuous test runner with pytest and watchdog. Jan 20, 2019 N/A N/A :pypi:`pytest_boardfarm3` Integrate boardfarm as a pytest plugin. May 13, 2026 N/A pytest :pypi:`pytest-bods-v04-fixtures` Pytest plugin providing a parametrized fixture over the canonical BODS v0.4 fixtures pack Apr 20, 2026 N/A pytest>=7.0 @@ -285,7 +292,8 @@ This list contains 2004 plugins. :pypi:`pytest-cassandra` Cassandra CCM Test Fixtures for pytest Nov 04, 2017 1 - Planning N/A :pypi:`pytest-catchlog` py.test plugin to catch log messages. This is a fork of pytest-capturelog. Jan 24, 2016 4 - Beta pytest (>=2.6) :pypi:`pytest-catch-server` Pytest plugin with server for catching HTTP requests. Dec 12, 2019 5 - Production/Stable N/A - :pypi:`pytest-cdist` A pytest plugin to split your test suite into multiple parts Jan 08, 2026 N/A pytest>=8 + :pypi:`pytest-catnip` pytest plugin for testing pipecat voicebots declaratively Aug 11, 2026 4 - Beta pytest>=9.0.3 + :pypi:`pytest-cdist` A pytest plugin to split your test suite into multiple parts Jul 07, 2026 N/A pytest>=8 :pypi:`pytest-celery` Pytest plugin for Celery Mar 02, 2026 5 - Production/Stable N/A :pypi:`pytest-celery-py37` Pytest plugin for Celery (compatible with python 3.7) May 23, 2025 5 - Production/Stable N/A :pypi:`pytest-celery-utils` Pytest plugin for inspecting Celery task queues in Redis during tests Jan 28, 2026 N/A pytest>=9.0.1 @@ -297,8 +305,8 @@ This list contains 2004 plugins. :pypi:`pytest-change-demo` turn . into √,turn F into x Mar 02, 2022 N/A pytest :pypi:`pytest-change-report` turn . into √,turn F into x Sep 14, 2020 N/A pytest :pypi:`pytest-change-xds` turn . into √,turn F into x Apr 16, 2022 N/A pytest - :pypi:`pytest-chdir` A pytest fixture for changing current working directory Jan 28, 2020 N/A pytest (>=5.0.0,<6.0.0) - :pypi:`pytest-check` A pytest plugin that allows multiple failures per test. Mar 22, 2026 5 - Production/Stable pytest>=7.0.0 + :pypi:`pytest-chdir` A pytest fixture for changing current working directory Jul 10, 2026 N/A pytest<10.0.0,>=9.1.0 + :pypi:`pytest-check` A pytest plugin that allows multiple failures per test. Aug 01, 2026 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-checkdocs` check the README when running tests Dec 26, 2025 5 - Production/Stable pytest!=8.1.*,>=6; extra == "test" :pypi:`pytest-checkers` Pytest Plugin for dry-run checks LSPs, Type Checkers, Linters, and Formatters during testing Dec 27, 2025 N/A pytest>=9.0.2 :pypi:`pytest-checkipdb` plugin to check if there are ipdb debugs left Dec 04, 2023 5 - Production/Stable pytest >=2.9.2 @@ -316,6 +324,7 @@ This list contains 2004 plugins. :pypi:`pytest-chunks` Run only a chunk of your test suite Jul 05, 2022 N/A pytest (>=6.0.0) :pypi:`pytest_cid` Compare data structures containing matching CIDs of different versions and encoding Sep 01, 2023 4 - Beta pytest >= 5.0, < 7.0 :pypi:`pytest-circleci` py.test plugin for CircleCI May 03, 2019 N/A N/A + :pypi:`pytest-circleci-coverage` Pytest plugin that works with pytest-cov to generate coverage data for CircleCI's Smarter Testing Aug 12, 2026 4 - Beta N/A :pypi:`pytest-circleci-parallelized` Parallelize pytest across CircleCI workers. Oct 20, 2022 N/A N/A :pypi:`pytest-circleci-parallelized-rjp` Parallelize pytest across CircleCI workers. Jun 21, 2022 N/A pytest :pypi:`pytest-ckan` Backport of CKAN 2.9 pytest plugin and fixtures to CAKN 2.8 Apr 28, 2020 4 - Beta pytest @@ -330,7 +339,7 @@ This list contains 2004 plugins. :pypi:`pytest_cleanup` Automated, comprehensive and well-organised pytest test cases. Jan 28, 2020 N/A N/A :pypi:`pytest-cleanuptotal` A cleanup plugin for pytest Jul 22, 2025 5 - Production/Stable N/A :pypi:`pytest-clerk` A set of pytest fixtures to help with integration testing with Clerk. Feb 04, 2026 N/A pytest<10.0.0,>=8.0.0 - :pypi:`pytest-clerk-mock` A pytest plugin for mocking Clerk authentication Apr 01, 2026 N/A N/A + :pypi:`pytest-clerk-mock` A pytest plugin for mocking Clerk authentication Jul 06, 2026 N/A N/A :pypi:`pytest-cli2-ansible` Mar 05, 2025 N/A N/A :pypi:`pytest-click` Pytest plugin for Click Feb 11, 2022 5 - Production/Stable pytest (>=5.0) :pypi:`pytest-clickhouse-mock` Pytest fixtures that mock clickhouse-driver Client for unit tests. May 29, 2026 4 - Beta pytest>=8.0 @@ -348,8 +357,8 @@ This list contains 2004 plugins. :pypi:`pytest-cocotb-cov` Pytest plugin for measuring HDL coverage. Nov 09, 2025 5 - Production/Stable pytest :pypi:`pytest-cocotb-fusesoc` Pytest plugin to integrate FuseSoC with Cocotb. Jan 07, 2026 5 - Production/Stable pytest :pypi:`pytest-cocotb-pyuvm` Pytest plugin that enables using pytest as the regression manager for running pyuvm tests. Nov 09, 2025 5 - Production/Stable pytest - :pypi:`pytest-codeblock` Pytest plugin to collect and test code blocks in reStructuredText and Markdown files. Apr 07, 2026 4 - Beta pytest - :pypi:`pytest_codeblocks` Test code blocks in your READMEs Sep 17, 2023 5 - Production/Stable pytest >= 7.0.0 + :pypi:`pytest-codeblock` Pytest plugin to collect and test code blocks in reStructuredText and Markdown files. Jun 09, 2026 4 - Beta pytest + :pypi:`pytest-codeblocks` Test code blocks in your READMEs Jun 15, 2026 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-codecarbon` Pytest plugin for measuring carbon emissions Jun 15, 2022 N/A pytest :pypi:`pytest-codecheckers` pytest plugin to add source code sanity checks (pep8 and friends) Feb 13, 2010 N/A N/A :pypi:`pytest-codecov` Pytest plugin for uploading pytest-cov results to codecov.io Mar 25, 2025 4 - Beta pytest>=4.6.0 @@ -379,10 +388,11 @@ This list contains 2004 plugins. :pypi:`pytest-console-scripts` Pytest plugin for testing console scripts May 31, 2023 4 - Beta pytest (>=4.0.0) :pypi:`pytest-consul` pytest plugin with fixtures for testing consul aware apps Nov 24, 2018 3 - Alpha pytest :pypi:`pytest-container` Pytest fixtures for writing container based tests Jun 30, 2025 4 - Beta pytest>=3.10 + :pypi:`pytest-container-structure-test` Run container-structure-test from pytest! Jul 27, 2026 4 - Beta pytest>=7 :pypi:`pytest-contextfixture` Define pytest fixtures as context managers. Mar 12, 2013 4 - Beta N/A :pypi:`pytest-contexts` A plugin to run tests written with the Contexts framework using pytest May 19, 2021 4 - Beta N/A :pypi:`pytest-continuous` A pytest plugin to run tests continuously until failure or interruption. Apr 23, 2024 N/A N/A - :pypi:`pytest-conversational` pytest plugin for multi-turn dialogue testing with a pluggable bot adapter. Rule-based, no LLM dependency. May 23, 2026 3 - Alpha pytest>=7.0; extra == "dev" + :pypi:`pytest-conversational` pytest plugin for multi-turn dialogue testing with a pluggable bot adapter. Rule-based, no LLM dependency. Jul 25, 2026 3 - Alpha pytest>=7.0; extra == "dev" :pypi:`pytest-cookies` The pytest plugin for your Cookiecutter templates. 🍪 Mar 22, 2023 5 - Production/Stable pytest (>=3.9.0) :pypi:`pytest-copie` The pytest plugin for your copier templates 📒 Sep 29, 2025 3 - Alpha pytest :pypi:`pytest-copier` A pytest plugin to help testing Copier templates Dec 11, 2023 4 - Beta pytest>=7.3.2 @@ -438,6 +448,7 @@ This list contains 2004 plugins. :pypi:`pytest-datadir-mgr` Manager for test data: downloads, artifact caching, and a tmpdir context. Apr 06, 2023 5 - Production/Stable pytest (>=7.1) :pypi:`pytest-datadir-ng` Fixtures for pytest allowing test functions/methods to easily retrieve test resources from the local filesystem. Dec 25, 2019 5 - Production/Stable pytest :pypi:`pytest-datadir-nng` Fixtures for pytest allowing test functions/methods to easily retrieve test resources from the local filesystem. Nov 09, 2022 5 - Production/Stable pytest (>=7.0.0,<8.0.0) + :pypi:`pytest-datadriver` A pytest plugin for data-driven testing with YAML/JSON external data files Jul 23, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-data-extractor` A pytest plugin to extract relevant metadata about tests into an external file (currently only json support) Jul 19, 2022 N/A pytest (>=7.0.1) :pypi:`pytest-datafaker` Pytest plugin with Faker class and fixture May 30, 2026 6 - Mature pytest<10.0.0,>=9.0.3 :pypi:`pytest-data-file` Fixture "data" and "case_data" for test from yaml file Dec 04, 2019 N/A N/A @@ -458,7 +469,7 @@ This list contains 2004 plugins. :pypi:`pytest-dbt-adapter` A pytest plugin for testing dbt adapter plugins Nov 24, 2021 N/A pytest (<7,>=6) :pypi:`pytest-dbt-conventions` A pytest plugin for linting a dbt project's conventions Mar 02, 2022 N/A pytest (>=6.2.5,<7.0.0) :pypi:`pytest-dbt-core` Pytest extension for dbt. Jun 04, 2024 N/A pytest>=6.2.5; extra == "test" - :pypi:`pytest-dbt-duckdb` Fearless testing for dbt models, powered by DuckDB. Apr 28, 2026 4 - Beta pytest>=8.3.4 + :pypi:`pytest-dbt-duckdb` Fearless testing for dbt models, powered by DuckDB. Jun 20, 2026 4 - Beta pytest>=8.3.4 :pypi:`pytest-dbt-postgres` Pytest tooling to unittest DBT & Postgres models Sep 03, 2024 N/A pytest<9.0.0,>=8.3.2 :pypi:`pytest-dbus-notification` D-BUS notifications for pytest results. Mar 05, 2014 5 - Production/Stable N/A :pypi:`pytest-dbx` Pytest plugin to run unit tests for dbx (Databricks CLI extensions) related code Nov 29, 2022 N/A pytest (>=7.1.3,<8.0.0) @@ -469,6 +480,7 @@ This list contains 2004 plugins. :pypi:`pytest-deepcov` deepcov Mar 30, 2021 N/A N/A :pypi:`pytest_defer` A 'defer' fixture for pytest Nov 13, 2024 N/A pytest>=8.3 :pypi:`pytest-delta` Run only tests impacted by your code changes (delta-based selection) for pytest. Feb 12, 2026 4 - Beta pytest<10.0.0,>=9.0.2 + :pypi:`pytest-deltatest` Run only the tests affected by your code changes. Jul 12, 2026 3 - Alpha pytest>=7.0.0 :pypi:`pytest-demo-plugin` pytest示例插件 May 15, 2021 N/A N/A :pypi:`pytest-dependency` Manage dependencies of tests Feb 15, 2026 4 - Beta N/A :pypi:`pytest-depends` Tests that depend on other tests Apr 05, 2020 5 - Production/Stable pytest (>=3) @@ -476,13 +488,13 @@ This list contains 2004 plugins. :pypi:`pytest-depper` Smart test selection based on AST-level code dependency analysis Oct 23, 2025 4 - Beta pytest>=7.0.0 :pypi:`pytest-deprecate` Mark tests as testing a deprecated feature with a warning note. Jul 01, 2019 N/A N/A :pypi:`pytest-deprecator` A simple plugin to use with pytest Dec 02, 2024 4 - Beta pytest>=6.2.0 - :pypi:`pytest-describe` Describe-style plugin for pytest Dec 12, 2025 5 - Production/Stable pytest<10,>=6 + :pypi:`pytest-describe` Describe-style plugin for pytest Jun 12, 2026 5 - Production/Stable pytest<10,>=7 :pypi:`pytest-describe-beautifully` Beautiful terminal and HTML output for pytest-describe. Jan 28, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-describe-it` plugin for rich text descriptions Jul 19, 2019 4 - Beta pytest :pypi:`pytest-deselect-if` A plugin to deselect pytests tests rather than using skipif Dec 26, 2024 4 - Beta pytest>=6.2.0 - :pypi:`pytest-devant-cloud` pytest plugin that streams runs, results, and step trees to Devant Cloud's /v1/runs API. May 11, 2026 N/A pytest>=7.0 + :pypi:`pytest-devant-cloud` pytest plugin that streams runs, results, and step trees to Devant's /v1/runs API. Jul 24, 2026 N/A pytest>=7.0 :pypi:`pytest-devpi-server` DevPI server fixture for py.test Oct 17, 2024 5 - Production/Stable pytest - :pypi:`pytest-devtools` Pytest plugin providing debug fixtures, ANSI-stripped capsys, whitespace-visible assertions, and terminal column management. May 07, 2026 N/A pytest>=7 + :pypi:`pytest-devtools` Pytest plugin providing debug fixtures, ANSI-stripped capsys, whitespace-visible assertions, terminal column management, and click/typer CLI runner fixtures. Jul 26, 2026 N/A pytest>=7 :pypi:`pytest-dfm` pytest-dfm provides a pytest integration for DV Flow Manager, a build system for silicon design Nov 23, 2025 N/A pytest :pypi:`pytest-dhos` Common fixtures for pytest in DHOS services and libraries Sep 07, 2022 N/A N/A :pypi:`pytest-diamond` pytest plugin for diamond Aug 31, 2015 4 - Beta N/A @@ -502,10 +514,11 @@ This list contains 2004 plugins. :pypi:`pytest-ditto` Snapshot testing pytest plugin with minimal ceremony and flexible recorders. Mar 22, 2026 5 - Production/Stable pytest>=3.5.0 :pypi:`pytest-ditto-pandas` pytest-ditto plugin for pandas DataFrame snapshots. Mar 22, 2026 5 - Production/Stable pytest>=3.5.0 :pypi:`pytest-ditto-pyarrow` pytest-ditto plugin for pyarrow table snapshots. Mar 22, 2026 5 - Production/Stable pytest>=3.5.0 - :pypi:`pytest-django` A Django plugin for pytest. Feb 14, 2026 5 - Production/Stable pytest>=7.0.0 + :pypi:`pytest-django` A Django plugin for pytest. Aug 10, 2026 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-django-ahead` A Django plugin for pytest. Oct 27, 2016 5 - Production/Stable pytest (>=2.9) :pypi:`pytest-djangoapp` Nice pytest plugin to help you with Django pluggable application testing. Apr 25, 2026 5 - Production/Stable pytest :pypi:`pytest-django-asyncio` Temporary pytest plugin backport for async Django DB fixture handling. Mar 26, 2026 4 - Beta pytest>=8.0 + :pypi:`pytest-django-autocheck` zero-config pytest plugin that runs generic safety checks on any Django project. Jul 07, 2026 3 - Alpha pytest>=8.0 :pypi:`pytest-django-cache-xdist` A djangocachexdist plugin for pytest May 12, 2020 4 - Beta N/A :pypi:`pytest-django-casperjs` Integrate CasperJS with your django tests as a pytest fixture. Mar 15, 2015 2 - Pre-Alpha N/A :pypi:`pytest-django-class` A pytest plugin for running django in class-scoped fixtures Aug 08, 2023 4 - Beta N/A @@ -544,7 +557,7 @@ This list contains 2004 plugins. :pypi:`pytest-docker-registry-fixtures` Pytest fixtures for testing with docker registries. Aug 12, 2024 4 - Beta pytest :pypi:`pytest-docker-service` pytest plugin to start docker container Jan 03, 2024 3 - Alpha pytest (>=7.1.3) :pypi:`pytest-docker-squid-fixtures` Pytest fixtures for testing with squid. Aug 12, 2024 4 - Beta pytest - :pypi:`pytest-docker-tools` Docker integration tests for pytest Mar 16, 2025 4 - Beta pytest>=6.0.1 + :pypi:`pytest-docker-tools` Docker integration tests for pytest Jul 21, 2026 4 - Beta pytest>=6.0.1 :pypi:`pytest-docs` Documentation tool for pytest Nov 11, 2018 4 - Beta pytest (>=3.5.0) :pypi:`pytest-docstyle` pytest plugin to run pydocstyle Mar 23, 2020 3 - Alpha N/A :pypi:`pytest-doctest-custom` A py.test plugin for customizing string representations of doctest results. Jul 25, 2016 4 - Beta N/A @@ -567,23 +580,24 @@ This list contains 2004 plugins. :pypi:`pytest-dpg` pytest-dpg is a pytest plugin for testing Dear PyGui (DPG) applications Aug 13, 2024 N/A N/A :pypi:`pytest-draw` Pytest plugin for randomly selecting a specific number of tests Mar 21, 2023 3 - Alpha pytest :pypi:`pytest-drf` A Django REST framework plugin for pytest. Jul 12, 2022 5 - Production/Stable pytest (>=3.7) - :pypi:`pytest-drift` Pytest plugin for regression testing via branch comparison May 09, 2026 N/A pytest>=7.0 + :pypi:`pytest-drift` Pytest plugin for regression testing via branch comparison Jul 14, 2026 N/A pytest>=7.0 :pypi:`pytest-drill-sergeant` A pytest plugin that enforces test quality standards through automatic marker detection and AAA structure validation Feb 20, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-drivings` Tool to allow webdriver automation to be ran locally or remotely Jan 13, 2021 N/A N/A :pypi:`pytest-drop-dup-tests` A Pytest plugin to drop duplicated tests during collection Mar 04, 2024 5 - Production/Stable pytest >=7 :pypi:`pytest-dryci` Test caching plugin for pytest Sep 27, 2024 4 - Beta N/A :pypi:`pytest-dryrun` A Pytest plugin to ignore tests during collection without reporting them in the test summary. May 26, 2026 5 - Production/Stable pytest<10,>=7.40 - :pypi:`pytest-dsl` A DSL testing framework based on pytest Jun 01, 2026 N/A pytest>=7.0.0 + :pypi:`pytest-dsl` A DSL testing framework based on pytest Aug 06, 2026 N/A pytest>=7.0.0 :pypi:`pytest-dsl-ssh` SSH/SFTP关键字插件,为pytest-dsl提供SSH和SFTP操作能力 Jul 25, 2025 4 - Beta pytest>=7.0.0 :pypi:`pytest-dsl-ui` Playwright-based UI automation keywords for pytest-dsl framework Jun 05, 2026 N/A pytest>=7.0.0; extra == "dev" :pypi:`pytest-duckdb` pytest plugin for SQL pipeline testing with DuckDB — load fixtures, run queries, snapshot results May 10, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-dummynet` A py.test plugin providing access to a dummynet. Dec 15, 2021 5 - Production/Stable pytest :pypi:`pytest-dump2json` A pytest plugin for dumping test results to json. Jun 29, 2015 N/A N/A :pypi:`pytest-duration-insights` Jul 15, 2024 N/A N/A - :pypi:`pytest-durations` Pytest plugin reporting fixtures and test functions execution time. Mar 13, 2026 5 - Production/Stable pytest>=4.6 + :pypi:`pytest-durations` Pytest plugin reporting fixtures and test functions execution time. Aug 14, 2026 5 - Production/Stable pytest>=7.0 :pypi:`pytest-dynamic-parameterize` A pytest plugin to dynamically parameterize tests based on external data sources. May 27, 2026 5 - Production/Stable pytest>=9.0.1 :pypi:`pytest-dynamicrerun` A pytest plugin to rerun tests dynamically based off of test outcome and output. Aug 15, 2020 4 - Beta N/A :pypi:`pytest-dynamodb` DynamoDB fixtures for pytest Mar 13, 2026 5 - Production/Stable pytest>=8.4.0 + :pypi:`pytest-easy` Pytest, but made easy Aug 07, 2026 N/A N/A :pypi:`pytest-easy-addoption` pytest-easy-addoption: Easy way to work with pytest addoption Jan 22, 2020 N/A N/A :pypi:`pytest-easyMPI` Package that supports mpi tests in pytest Oct 21, 2020 N/A N/A :pypi:`pytest-easyread` pytest plugin that makes terminal printouts of the reports easier to read Nov 17, 2017 N/A N/A @@ -602,16 +616,16 @@ This list contains 2004 plugins. :pypi:`pytest-eliot` An eliot plugin for pytest. Aug 31, 2022 1 - Planning pytest (>=5.4.0) :pypi:`pytest-elk-reporter` A simple plugin to use with pytest Jul 25, 2024 4 - Beta pytest>=3.5.0 :pypi:`pytest-email` Send execution result email Jul 08, 2020 N/A pytest - :pypi:`pytest-embedded` A pytest plugin that designed for embedded testing. May 15, 2026 5 - Production/Stable pytest>=7.0 - :pypi:`pytest-embedded-arduino` Make pytest-embedded plugin work with Arduino. May 15, 2026 5 - Production/Stable N/A - :pypi:`pytest-embedded-arduino-cli` A pytest plugin to test Arduino projects using pytest-embedded and arduino-cli May 20, 2026 N/A pytest>=8 - :pypi:`pytest-embedded-idf` Make pytest-embedded plugin work with ESP-IDF. May 15, 2026 5 - Production/Stable N/A - :pypi:`pytest-embedded-jtag` Make pytest-embedded plugin work with JTAG. May 15, 2026 5 - Production/Stable N/A - :pypi:`pytest-embedded-nuttx` Make pytest-embedded plugin work with NuttX. May 15, 2026 5 - Production/Stable N/A - :pypi:`pytest-embedded-qemu` Make pytest-embedded plugin work with QEMU. May 15, 2026 5 - Production/Stable N/A - :pypi:`pytest-embedded-serial` Make pytest-embedded plugin work with Serial. May 15, 2026 5 - Production/Stable N/A - :pypi:`pytest-embedded-serial-esp` Make pytest-embedded plugin work with Espressif target boards. May 15, 2026 5 - Production/Stable N/A - :pypi:`pytest-embedded-wokwi` Make pytest-embedded plugin work with the Wokwi CLI. May 15, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded` A pytest plugin that designed for embedded testing. Jun 16, 2026 5 - Production/Stable pytest>=7.0 + :pypi:`pytest-embedded-arduino` Make pytest-embedded plugin work with Arduino. Jun 16, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded-arduino-cli` A pytest plugin to test Arduino projects using pytest-embedded and arduino-cli Aug 14, 2026 N/A pytest>=8 + :pypi:`pytest-embedded-idf` Make pytest-embedded plugin work with ESP-IDF. Jun 16, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded-jtag` Make pytest-embedded plugin work with JTAG. Jun 16, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded-nuttx` Make pytest-embedded plugin work with NuttX. Jun 16, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded-qemu` Make pytest-embedded plugin work with QEMU. Jun 16, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded-serial` Make pytest-embedded plugin work with Serial. Jun 16, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded-serial-esp` Make pytest-embedded plugin work with Espressif target boards. Jun 16, 2026 5 - Production/Stable N/A + :pypi:`pytest-embedded-wokwi` Make pytest-embedded plugin work with the Wokwi CLI. Jun 16, 2026 5 - Production/Stable N/A :pypi:`pytest-embrace` 💝 Dataclasses-as-tests. Describe the runtime once and multiply coverage with no boilerplate. Mar 25, 2023 N/A pytest (>=7.0,<8.0) :pypi:`pytest-emoji` A pytest plugin that adds emojis to your test result report Feb 19, 2019 4 - Beta pytest (>=4.2.1) :pypi:`pytest-emoji-output` Pytest plugin to represent test output with emoji support Apr 09, 2023 4 - Beta pytest (==7.0.1) @@ -622,7 +636,7 @@ This list contains 2004 plugins. :pypi:`pytest_energy_reporter` An energy estimation reporter for pytest Mar 28, 2024 3 - Alpha pytest<9.0.0,>=8.1.1 :pypi:`pytest-enhanced-reports` Enhanced test reports for pytest Dec 15, 2022 N/A N/A :pypi:`pytest-enhancements` Improvements for pytest (rejected upstream) Oct 30, 2019 4 - Beta N/A - :pypi:`pytest-env` pytest plugin that allows you to add environment variables. Mar 12, 2026 5 - Production/Stable pytest>=9.0.2 + :pypi:`pytest-env` pytest plugin that allows you to add environment variables. Jul 21, 2026 5 - Production/Stable pytest>=9.0.2 :pypi:`pytest-envfiles` A py.test plugin that parses environment files before running tests Oct 08, 2015 3 - Alpha N/A :pypi:`pytest-env-info` Push information about the running pytest into envvars Nov 25, 2017 4 - Beta pytest (>=3.1.1) :pypi:`pytest-environment` Pytest Environment Mar 17, 2024 1 - Planning N/A @@ -646,14 +660,16 @@ This list contains 2004 plugins. :pypi:`pytest_evm` The testing package containing tools to test Web3-based projects Sep 23, 2024 4 - Beta pytest<9.0.0,>=8.1.1 :pypi:`pytest_exact_fixtures` Parse queries in Lucene and Elasticsearch syntaxes Feb 04, 2019 N/A N/A :pypi:`pytest-examples` Pytest plugin for testing examples in docstrings and markdown files. May 06, 2025 N/A pytest>=7 - :pypi:`pytest-exasol-backend` May 05, 2026 N/A pytest<10,>=7 - :pypi:`pytest-exasol-extension` May 05, 2026 N/A pytest<10,>=7 + :pypi:`pytest-exasol-backend` Jul 13, 2026 N/A pytest<10,>=9 + :pypi:`pytest-exasol-benchmark` Jul 24, 2026 N/A pytest<10.0.0,>=9.1.1 + :pypi:`pytest-exasol-extension` Jul 29, 2026 N/A pytest<10,>=7 :pypi:`pytest-exasol-itde` Nov 22, 2024 N/A pytest<9,>=7 :pypi:`pytest-exasol-saas` Nov 22, 2024 N/A pytest<9,>=7 - :pypi:`pytest-exasol-slc` May 05, 2026 N/A pytest<10,>=7 + :pypi:`pytest-exasol-slc` Jul 13, 2026 N/A pytest<10,>=9 :pypi:`pytest-excel` pytest plugin for generating excel reports Jul 22, 2025 5 - Production/Stable pytest :pypi:`pytest-exceptional` Better exceptions Mar 16, 2017 4 - Beta N/A :pypi:`pytest-exception-script` Walk your code through exception script to check it's resiliency to failures. Aug 04, 2020 3 - Alpha pytest + :pypi:`pytest-exec-core` Core execution engine for an HTTP-triggered pytest runner: output parsing and summarisation, test input provisioning, and command assembly. Jun 17, 2026 4 - Beta N/A :pypi:`pytest-executable` pytest plugin for testing executables Oct 07, 2023 N/A pytest <8,>=5 :pypi:`pytest-execution-timer` A timer for the phases of Pytest's execution. Dec 24, 2021 4 - Beta N/A :pypi:`pytest-exit-code` A pytest plugin that overrides the built-in exit codes to retain more information about the test results. May 06, 2024 4 - Beta pytest>=6.2.0 @@ -661,7 +677,8 @@ This list contains 2004 plugins. :pypi:`pytest-expect` py.test plugin to store test expectations and mark tests based on them Apr 21, 2016 4 - Beta N/A :pypi:`pytest-expectdir` A pytest plugin to provide initial/expected directories, and check a test transforms the initial directory to the expected one Mar 19, 2023 5 - Production/Stable pytest (>=5.0) :pypi:`pytest-expected` Record and play back your expectations Feb 26, 2025 N/A pytest - :pypi:`pytest-expecter` Better testing with expecter and pytest. Sep 18, 2022 5 - Production/Stable N/A + :pypi:`pytest-expected-json` A reusable pytest fixture for loading expected test data from JSON files Jul 03, 2026 3 - Alpha pytest>=7.0 + :pypi:`pytest-expecter` Better testing with expecter and pytest. Jun 13, 2026 5 - Production/Stable N/A :pypi:`pytest-expectr` This plugin is used to expect multiple assert using pytest framework. Oct 05, 2018 N/A pytest (>=2.4.2) :pypi:`pytest-expect-test` A fixture to support expect tests in pytest Apr 10, 2023 4 - Beta pytest (>=3.5.0) :pypi:`pytest-experiments` A pytest plugin to help developers of research-oriented software projects keep track of the results of their numerical experiments. Dec 13, 2021 4 - Beta pytest (>=6.2.5,<7.0.0) @@ -669,28 +686,33 @@ This list contains 2004 plugins. :pypi:`pytest-exploratory` Interactive console for pytest. Sep 18, 2024 N/A pytest>=6.2 :pypi:`pytest-explorer` terminal ui for exploring and running tests Aug 01, 2023 N/A N/A :pypi:`pytest-ext` pytest plugin for automation test Mar 31, 2024 N/A pytest>=5.3 + :pypi:`pytest-extended-data` Pytest fixtures and assertions for projects using extended-data Jun 27, 2026 4 - Beta pytest>=9.0.3 :pypi:`pytest-extended-mock` a pytest extension for easy mock setup Mar 12, 2025 N/A pytest<9.0.0,>=8.3.5 :pypi:`pytest-extensions` A collection of helpers for pytest to ease testing Aug 17, 2022 4 - Beta pytest ; extra == 'testing' :pypi:`pytest-external-blockers` a special outcome for tests that are blocked for external reasons Oct 05, 2021 N/A pytest :pypi:`pytest_extra` Some helpers for writing tests with pytest. Aug 14, 2014 N/A N/A :pypi:`pytest-extra-durations` A pytest plugin to get durations on a per-function basis and per module basis. Apr 21, 2020 4 - Beta pytest (>=3.5.0) :pypi:`pytest-extra-markers` Additional pytest markers to dynamically enable/disable tests viia CLI flags Mar 05, 2023 4 - Beta pytest - :pypi:`pytest-f3ts` Pytest Plugin for communicating test results and information to a FixturFab Test Runner GUI Mar 09, 2026 N/A pytest<8.0.0,>=7.2.1 + :pypi:`pytest-f3ts` Pytest Plugin for communicating test results and information to a FixturFab Test Runner GUI Jun 11, 2026 N/A pytest<8.0.0,>=7.2.1 :pypi:`pytest-fabric` Provides test utilities to run fabric task tests by using docker containers Sep 12, 2018 5 - Production/Stable N/A :pypi:`pytest-factory` Use factories for test setup with py.test Sep 06, 2020 3 - Alpha pytest (>4.3) :pypi:`pytest-factoryboy` Factory Boy support for pytest. Jul 01, 2025 6 - Mature pytest>=7.0 :pypi:`pytest-factoryboy-fixtures` Generates pytest fixtures that allow the use of type hinting Jun 25, 2020 N/A N/A :pypi:`pytest-factoryboy-state` Simple factoryboy random state management Mar 22, 2022 5 - Production/Stable pytest (>=5.0) :pypi:`pytest-fahhh` A pytest plugin that plays the fahhh meme sound when a test fails. Apr 16, 2026 4 - Beta pytest>=7.0 + :pypi:`pytest-fahhh-on-fail` A pytest plugin that plays FAHHH meme sound when a test session fails. Aug 15, 2026 4 - Beta N/A :pypi:`pytest-failed-screen-record` Create a video of the screen when pytest fails Jan 05, 2023 4 - Beta pytest (>=7.1.2d,<8.0.0) :pypi:`pytest-failed-screenshot` Test case fails,take a screenshot,save it,attach it to the allure Apr 21, 2021 N/A N/A :pypi:`pytest-failed-to-verify` A pytest plugin that helps better distinguishing real test failures from setup flakiness. Aug 08, 2019 5 - Production/Stable pytest (>=4.1.0) :pypi:`pytest-fail-slow` Fail tests that take too long to run Jun 01, 2024 N/A pytest>=7.0 + :pypi:`pytest-failure-analyzer` pytest plugin to collect UI test failures and upload to failure-analyzer server Aug 13, 2026 N/A pytest>=7.0 :pypi:`pytest-failure-tracker` A pytest plugin for tracking test failures over multiple runs Jul 17, 2024 N/A pytest>=6.0.0 :pypi:`pytest-fakellm` Pytest fixtures for the fakellm mock OpenAI/Anthropic server — spin up, reset, and assert with zero boilerplate. May 21, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-faker` Faker integration with the pytest framework. Dec 19, 2016 6 - Mature N/A :pypi:`pytest-falcon` Pytest helpers for Falcon. Sep 07, 2016 4 - Beta N/A + :pypi:`pytest-familywise` Pytest plugin for Holm-Bonferroni correction of randomized tests Jun 12, 2026 N/A pytest>=7.0 :pypi:`pytest-fantasy` Pytest plugin for Flask Fantasy Framework Mar 14, 2019 N/A N/A + :pypi:`pytest-fast` Resident forkserver-based pytest accelerator — collect once, fork warm workers, idempotently respawn on source/env change. POSIX only (uses forkserver). Jul 19, 2026 N/A pytest>=8.0 :pypi:`pytest-fastapi` Dec 27, 2020 N/A N/A :pypi:`pytest-fastapi-deps` A fixture which allows easy replacement of fastapi dependencies for testing Jul 20, 2022 5 - Production/Stable pytest :pypi:`pytest-fastcollect` A high-performance pytest plugin that replaces test collection with a Rust-based implementation Nov 19, 2025 N/A pytest>=7.0.0 @@ -727,6 +749,7 @@ This list contains 2004 plugins. :pypi:`pytest-fixture-order` pytest plugin to control fixture evaluation order Oct 22, 2025 5 - Production/Stable pytest>=3.0 :pypi:`pytest-fixture-ref` Lets users reference fixtures without name matching magic. Nov 17, 2022 4 - Beta N/A :pypi:`pytest-fixture-remover` A LibCST codemod to remove pytest fixtures applied via the usefixtures decorator, as well as its parametrizations. Feb 14, 2024 5 - Production/Stable N/A + :pypi:`pytest-fixture-report` Pytest plugin to provide fixture timing reports Jul 23, 2026 N/A pytest :pypi:`pytest-fixture-rtttg` Warn or fail on fixture name clash Feb 23, 2022 N/A pytest (>=7.0.1,<8.0.0) :pypi:`pytest-fixtures` Common fixtures for pytest May 01, 2019 5 - Production/Stable N/A :pypi:`pytest-fixtures-fixtures` Handy fixtues to access your fixtures from your _pytest tests. Nov 06, 2025 4 - Beta pytest>=8.4.1 @@ -738,21 +761,24 @@ This list contains 2004 plugins. :pypi:`pytest-flake8-path` A pytest fixture for testing flake8 plugins. Sep 09, 2025 5 - Production/Stable pytest :pypi:`pytest-flake8-v2` pytest plugin to check FLAKE8 requirements Mar 01, 2022 5 - Production/Stable pytest (>=7.0) :pypi:`pytest-flake-detection` Continuously runs your tests to detect flaky tests Nov 29, 2024 4 - Beta pytest>=6.2.0 - :pypi:`pytest-flakefighters` Pytest plugin implementing flaky test failure detection and classification. Mar 05, 2026 N/A pytest>=6.2.0 + :pypi:`pytest-flakedoctor` The flaky-test doctor: diagnoses WHY a test is flaky and hands you a deterministic reproduction Jul 20, 2026 3 - Alpha pytest>=7 + :pypi:`pytest-flakefighters` Pytest plugin implementing flaky test failure detection and classification. Aug 05, 2026 N/A pytest>=7 :pypi:`pytest-flakefinder` Runs tests multiple times to expose flakiness. Oct 26, 2022 4 - Beta pytest (>=2.7.1) :pypi:`pytest-flakehunter` Re-run tests N times, visualize failure heatmaps, and get AI root cause hypotheses Apr 07, 2026 N/A pytest>=7.0 + :pypi:`pytest-flakelens` Pytest reporter that streams test results, retries and artifacts to a FlakeLens server Jul 12, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-flakemark` Differential execution tracer that finds the exact file, line, and root cause of any flaky test. May 01, 2026 4 - Beta pytest>=7.0 + :pypi:`pytest-flakeradar` Flaky-test radar for pytest: per-test flake rate across runs, with a FLAKY.md leaderboard your CI commits back Aug 09, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-flakes` pytest plugin to check source code with pyflakes Dec 02, 2021 5 - Production/Stable pytest (>=5) - :pypi:`pytest-flakiness` Pytest reporter for Flakiness.io May 15, 2026 N/A pytest>=9.0.2 + :pypi:`pytest-flakiness` Pytest reporter for Flakiness.io Jul 27, 2026 N/A pytest>=9.0.2 :pypi:`pytest-flaptastic` Flaptastic py.test plugin Mar 17, 2019 N/A N/A :pypi:`pytest-flask` A set of py.test fixtures to test Flask applications. Oct 23, 2023 5 - Production/Stable pytest >=5.2 :pypi:`pytest-flask-ligand` May 14, 2026 4 - Beta pytest>=7.3 :pypi:`pytest-flask-sqlalchemy` A pytest plugin for preserving test isolation in Flask-SQlAlchemy using database transactions. Apr 30, 2022 4 - Beta pytest (>=3.2.1) :pypi:`pytest-flask-sqlalchemy-transactions` Run tests in transactions using pytest, Flask, and SQLalchemy. Aug 02, 2018 4 - Beta pytest (>=3.2.1) - :pypi:`pytest-flexreport` Apr 15, 2023 4 - Beta pytest + :pypi:`pytest-flexreport` Aug 10, 2026 4 - Beta pytest :pypi:`pytest-fluent` A pytest plugin in order to provide logs via fluentd Aug 14, 2024 4 - Beta pytest>=7.0.0 :pypi:`pytest-fluentbit` A pytest plugin in order to provide logs via fluentbit Jun 16, 2023 4 - Beta pytest (>=7.0.0) - :pypi:`pytest-fly` pytest runner and observer Jun 06, 2026 3 - Alpha pytest + :pypi:`pytest-fly` pytest runner and observer Aug 15, 2026 3 - Alpha pytest :pypi:`pytest-flyte` Pytest fixtures for simplifying Flyte integration testing May 03, 2021 N/A pytest :pypi:`pytest-fmu-filter` A pytest plugin to filter fmus Jun 23, 2025 4 - Beta pytest>=7.0.0 :pypi:`pytest-focus` A pytest plugin that alerts user of failed test cases with screen notifications May 04, 2019 4 - Beta pytest @@ -774,7 +800,7 @@ This list contains 2004 plugins. :pypi:`pytest-func-cov` Pytest plugin for measuring function coverage Apr 15, 2021 3 - Alpha pytest (>=5) :pypi:`pytest-funcnodes` Testing plugin for funcnodes Dec 21, 2025 4 - Beta pytest>=6.2.0 :pypi:`pytest-funparam` An alternative way to parametrize test cases. Dec 02, 2021 4 - Beta pytest >=4.6.0 - :pypi:`pytest-fusesoc` Pytest plugin to run FuseSoC simulation targets. May 31, 2026 5 - Production/Stable pytest + :pypi:`pytest-fusesoc` Pytest plugin to run FuseSoC simulation targets. Aug 03, 2026 5 - Production/Stable pytest :pypi:`pytest-fv` pytest extensions to support running functional-verification jobs Jun 06, 2025 N/A pytest :pypi:`pytest-fxa` pytest plugin for Firefox Accounts Aug 28, 2018 5 - Production/Stable N/A :pypi:`pytest-fxa-mte` pytest plugin for Firefox Accounts May 21, 2026 4 - Beta N/A @@ -789,18 +815,19 @@ This list contains 2004 plugins. :pypi:`pytest-gcpsecretmanager` A PyTest plugin for mocking GCP's Secret Manager Feb 18, 2026 N/A pytest>=7.0 :pypi:`pytest-gcs` GCS fixtures and fixture factories for Pytest. Jan 24, 2025 5 - Production/Stable pytest>=6.2 :pypi:`pytest-gee` The Python plugin for your GEE based packages. Oct 16, 2025 3 - Alpha pytest + :pypi:`pytest-genai-semconv` pytest assertions that verify OpenTelemetry spans conform to the gen_ai semantic conventions. Jul 06, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-gevent` Ensure that gevent is properly patched when invoking pytest Feb 25, 2020 N/A pytest :pypi:`pytest-gherkin` A flexible framework for executing BDD gherkin tests Jul 27, 2019 3 - Alpha pytest (>=5.0.0) :pypi:`pytest-gh-log-group` pytest plugin for gh actions Jan 11, 2022 3 - Alpha pytest :pypi:`pytest-ghostinspector` For finding/executing Ghost Inspector tests May 17, 2016 3 - Alpha N/A - :pypi:`pytest-girder` A set of pytest fixtures for testing Girder applications. Jun 02, 2026 N/A pytest>=3.6 + :pypi:`pytest-girder` A set of pytest fixtures for testing Girder applications. Aug 14, 2026 N/A pytest>=3.6 :pypi:`pytest-git` Git repository fixture for py.test Oct 17, 2024 5 - Production/Stable pytest :pypi:`pytest-gitconfig` Provide a Git config sandbox for testing Dec 28, 2025 4 - Beta pytest>=7.1.2 :pypi:`pytest-gitcov` Pytest plugin for reporting on coverage of the last git commit. Jan 11, 2020 2 - Pre-Alpha N/A :pypi:`pytest-git-diff` Pytest plugin that allows the user to select the tests affected by a range of git commits Apr 02, 2024 N/A N/A :pypi:`pytest-git-fixtures` Pytest fixtures for testing with git. Mar 11, 2021 4 - Beta pytest :pypi:`pytest-github` Plugin for py.test that associates tests with github issues using a marker. Mar 07, 2019 5 - Production/Stable N/A - :pypi:`pytest-github-actions-annotate-failures` pytest plugin to annotate failed tests with a workflow command for GitHub Actions Mar 02, 2026 5 - Production/Stable pytest>=7.0.0 + :pypi:`pytest-github-actions-annotate-failures` pytest plugin to annotate failed tests with a workflow command for GitHub Actions Jun 19, 2026 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-github-report` Generate a GitHub report using pytest in GitHub Workflows Jun 03, 2022 4 - Beta N/A :pypi:`pytest-gitignore` py.test plugin to ignore the same files as git Jul 17, 2015 4 - Beta N/A :pypi:`pytest-gitlab` Pytest Plugin for Gitlab Oct 16, 2024 N/A N/A @@ -809,22 +836,24 @@ This list contains 2004 plugins. :pypi:`pytest-gitlab-fold` Folds output sections in GitLab CI build log Dec 31, 2023 4 - Beta pytest >=2.6.0 :pypi:`pytest-gitscope` A pragmatic pytest plugin that runs only the tests that matter, and ship faster Sep 24, 2025 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-git-selector` Utility to select tests that have had its dependencies modified (as identified by git diff) Nov 17, 2022 N/A N/A + :pypi:`pytest-given` A pytest plugin that generates interactive HTML reports from Given/When/Then annotated tests. Aug 08, 2026 3 - Alpha pytest>=9.0 :pypi:`pytest-glamor-allure` Extends allure-pytest functionality Jan 30, 2026 5 - Production/Stable pytest<=9.0.2 :pypi:`pytest-glaze` A thin, transparent coat that makes your test output shine. May 20, 2026 5 - Production/Stable pytest>=7.0 - :pypi:`pytest-glow-report` Beautiful, glowing HTML test reports for PyTest and unittest. Dec 08, 2025 4 - Beta pytest>=6.0; extra == "dev" + :pypi:`pytest-glow-report` Beautiful, glowing HTML test reports for PyTest and unittest. Jul 24, 2026 4 - Beta pytest>=6.0; extra == "dev" :pypi:`pytest-gnupg-fixtures` Pytest fixtures for testing with gnupg. Mar 04, 2021 4 - Beta pytest :pypi:`pytest-golden` Plugin for pytest that offloads expected outputs to data files Jan 06, 2026 5 - Production/Stable pytest>=6.1.2 :pypi:`pytest-goldie` A plugin to support golden tests with pytest. May 23, 2023 4 - Beta pytest (>=3.5.0) :pypi:`pytest-google-chat` Notify google chat channel for test results Mar 27, 2022 4 - Beta pytest :pypi:`pytest-google-cloud-storage` Pytest custom features, e.g. fixtures and various tests. Aimed to emulate Google Cloud Storage service Sep 11, 2025 N/A pytest>=8.0.0 - :pypi:`pytest-grader` Pytest extension for scoring programming assignments. Aug 25, 2025 N/A pytest>=8 + :pypi:`pytest-gpu-proof` pytest plugin for GPU equivalence testing with signed receipts verified via GitHub SSH keys Aug 08, 2026 4 - Beta pytest>=7.0 + :pypi:`pytest-grader` Pytest extension for scoring programming assignments. Aug 01, 2026 N/A pytest>=8 :pypi:`pytest-gradescope` A pytest plugin for Gradescope integration Apr 29, 2025 N/A N/A :pypi:`pytest-graphql-schema` Get graphql schema as fixture for pytest Oct 18, 2019 N/A N/A :pypi:`pytest-greendots` Green progress dots Feb 08, 2014 3 - Alpha N/A - :pypi:`pytest-greener` Pytest plugin for Greener Dec 24, 2025 N/A pytest<9.0.0,>=8.3.3 :pypi:`pytest-green-light` Pytest plugin that gives SQLAlchemy async engines the green light - automatically fixes MissingGreenlet errors Nov 03, 2025 3 - Alpha pytest>=7.0.0 :pypi:`pytest-greet` Oct 21, 2025 N/A N/A - :pypi:`pytest-gremlins` Fast-first mutation testing for pytest. Let the gremlins loose, see which ones survive. Apr 03, 2026 3 - Alpha pytest>=7.0.0 + :pypi:`pytest-gremlins` Fast-first mutation testing for pytest. Let the gremlins loose, see which ones survive. Jul 01, 2026 3 - Alpha pytest>=7.0.0 + :pypi:`pytest-grounding` Turn assertions about data into re-runnable, provenance-tracked claims — written and reviewed by agents. Jun 22, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-group-by-class` A Pytest plugin for running a subset of your tests by splitting them in to groups of classes. Jun 27, 2023 5 - Production/Stable pytest (>=2.5) :pypi:`pytest-growl` Growl notifications for pytest results. Jan 13, 2014 5 - Production/Stable N/A :pypi:`pytest-grpc` pytest plugin for grpc May 01, 2020 N/A pytest (>=3.6.0) @@ -835,6 +864,7 @@ This list contains 2004 plugins. :pypi:`pytest-hammertime` Display "🔨 " instead of "." for passed pytest tests. Jul 28, 2018 N/A pytest :pypi:`pytest-hardware-test-report` A simple plugin to use with pytest Apr 01, 2024 4 - Beta pytest<9.0.0,>=8.0.0 :pypi:`pytest-harmony` Chain tests and data with pytest Jan 17, 2023 N/A pytest (>=7.2.1,<8.0.0) + :pypi:`pytest-harness` Easy-to-use pytest workflow orchestrator with isolated test-file execution, combined coverage, dashboard summaries, and optional per-test-file logs. Aug 10, 2026 N/A pytest>=9.0.0 :pypi:`pytest-harvest` Store data created during your pytest tests execution, and retrieve it at the end of the session, e.g. for applicative benchmarking purposes. Mar 16, 2024 5 - Production/Stable N/A :pypi:`pytest-hbtn` Shared pytest fixtures for hbtn-portal task grading May 19, 2026 N/A pytest>=8 :pypi:`pytest-helm` Simple, ergonomic Helm manifest fixtures for pytest. Feb 21, 2026 3 - Alpha pytest>=8.0.0 @@ -851,14 +881,14 @@ This list contains 2004 plugins. :pypi:`pytest-history` Pytest plugin to keep a history of your pytest runs Jan 14, 2024 N/A pytest (>=7.4.3,<8.0.0) :pypi:`pytest-home` Home directory fixtures Jul 28, 2024 5 - Production/Stable pytest :pypi:`pytest-homeassistant` A pytest plugin for use with homeassistant custom components. Aug 12, 2020 4 - Beta N/A - :pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components Jun 06, 2026 3 - Alpha pytest==9.0.3 - :pypi:`pytest-homeassistant-custom-component-framework` Experimental package to automatically extract test plugins for Home Assistant custom components Jun 06, 2026 3 - Alpha pytest==9.0.3 + :pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components Aug 15, 2026 3 - Alpha pytest==9.0.3 + :pypi:`pytest-homeassistant-custom-component-framework` Experimental package to automatically extract test plugins for Home Assistant custom components Aug 15, 2026 3 - Alpha pytest==9.0.3 :pypi:`pytest-Honda-report` Enterprise-grade pytest HTML report plugin with Chinese UI, API details, and historical trends Apr 11, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-honey` A simple plugin to use with pytest Jan 07, 2022 4 - Beta pytest (>=3.5.0) :pypi:`pytest-honors` Report on tests that honor constraints, and guard against regressions Mar 06, 2020 4 - Beta N/A :pypi:`pytest-hot-reloading` Sep 23, 2024 N/A N/A :pypi:`pytest-hot-test` A plugin that tracks test changes Dec 10, 2022 4 - Beta pytest (>=3.5.0) - :pypi:`pytest-houdini` pytest plugin for testing code in Houdini May 27, 2026 N/A pytest<10.0.0,>=9.0.3 + :pypi:`pytest-houdini` pytest plugin for testing code in Houdini Jun 22, 2026 N/A pytest<10.0.0,>=9.0.3 :pypi:`pytest-hoverfly` Simplify working with Hoverfly from pytest Jan 30, 2023 N/A pytest (>=5.0) :pypi:`pytest-hoverfly-wrapper` Integrates the Hoverfly HTTP proxy into Pytest Feb 27, 2023 5 - Production/Stable pytest (>=3.7.0) :pypi:`pytest-hpfeeds` Helpers for testing hpfeeds in your python project Feb 28, 2023 4 - Beta pytest (>=6.2.4,<7.0.0) @@ -870,7 +900,7 @@ This list contains 2004 plugins. :pypi:`pytest-html-merger` Pytest HTML reports merging utility Jul 12, 2024 N/A N/A :pypi:`pytest-html-nova-act` A Pytest Plugin for Amazon Nova Act Python SDK. Mar 30, 2026 N/A N/A :pypi:`pytest-html-object-storage` Pytest report plugin for send HTML report on object-storage Jan 17, 2024 5 - Production/Stable N/A - :pypi:`pytest-html-plus` Generate Actionable, automatic screenshots, unified Mobile friendly Pytest HTML report in less than 3 seconds — no hooks, merge plugins, no config, xdist-ready. May 07, 2026 5 - Production/Stable N/A + :pypi:`pytest-html-plus` Generate Actionable, automatic screenshots, unified Mobile friendly Pytest HTML report in less than 3 seconds — no hooks, merge plugins, no config, xdist-ready. Aug 11, 2026 5 - Production/Stable N/A :pypi:`pytest-html-profiling` Pytest plugin for generating HTML reports with per-test profiling and optionally call graph visualizations. Based on pytest-html by Dave Hunt. Feb 11, 2020 5 - Production/Stable pytest (>=3.0) :pypi:`pytest-html-report` Enhanced HTML reporting for pytest with categories, specifications, and detailed logging Jun 24, 2025 4 - Beta pytest>=6.0 :pypi:`pytest-html-report-builder` A pytest plugin that generates self-contained HTML automation reports with visual charts. Apr 22, 2026 N/A pytest>=7.0 @@ -880,14 +910,8 @@ This list contains 2004 plugins. :pypi:`pytest-htmlx` Custom HTML report plugin for Pytest with charts and tables Sep 09, 2025 4 - Beta pytest :pypi:`pytest-http` Fixture "http" for http requests Aug 22, 2024 N/A pytest :pypi:`pytest-httpbin` Easily test your HTTP library against a local copy of httpbin Sep 18, 2024 5 - Production/Stable pytest; extra == "test" - :pypi:`pytest-httpchain` pytest plugin for HTTP testing using JSON files Jun 04, 2026 5 - Production/Stable N/A - :pypi:`pytest-httpchain-core` Shared base types for pytest-httpchain Jun 04, 2026 N/A N/A - :pypi:`pytest-httpchain-jsonref` JSON reference ($ref) support for pytest-httpchain Jun 04, 2026 N/A N/A - :pypi:`pytest-httpchain-mcp` MCP server for pytest-httpchain Apr 02, 2026 N/A N/A - :pypi:`pytest-httpchain-models` Pydantic models for pytest-httpchain Jun 04, 2026 N/A N/A - :pypi:`pytest-httpchain-templates` Templating support for pytest-httpchain Jun 04, 2026 N/A N/A - :pypi:`pytest-httpchain-userfunc` User functions support for pytest-httpchain Jun 04, 2026 N/A N/A - :pypi:`pytest-httpdbg` A pytest plugin to record HTTP(S) requests with stack trace. Mar 29, 2026 4 - Beta pytest>=7.0.0 + :pypi:`pytest-httpchain` pytest plugin for HTTP testing using JSON files Aug 11, 2026 5 - Production/Stable pytest>=9.0 + :pypi:`pytest-httpdbg` A pytest plugin to record HTTP(S) requests with stack trace. Aug 06, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-http-mocker` Pytest plugin for http mocking (via https://github.com/vilus/mocker) Oct 20, 2019 N/A N/A :pypi:`pytest-httpretty` A thin wrapper of HTTPretty for pytest Feb 16, 2014 3 - Alpha N/A :pypi:`pytest_httpserver` pytest-httpserver is a httpserver for pytest Feb 14, 2026 3 - Alpha N/A @@ -899,11 +923,11 @@ This list contains 2004 plugins. :pypi:`pytest-hue` Visualise PyTest status via your Phillips Hue lights May 09, 2019 N/A N/A :pypi:`pytest-human` A beautiful nested pytest HTML test report Jan 25, 2026 4 - Beta pytest>=8 :pypi:`pytest-hy` Pytest plugin for discovering and running Hy test files Feb 11, 2026 N/A pytest>=7.0 + :pypi:`pytest-hygiene` A cross-platform pytest plugin that audits test isolation and reports exactly what global state each test leaks. Jul 14, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-hylang` Pytest plugin to allow running tests written in hylang Mar 28, 2021 N/A pytest :pypi:`pytest-hypo-25` help hypo module for pytest Jan 12, 2020 3 - Alpha N/A - :pypi:`pytest-hypothesis` Feb 09, 2026 N/A N/A - :pypi:`pytest-iam` A fully functional OAUTH2 / OpenID Connect (OIDC) / SCIM server to be used in your testsuite Nov 02, 2025 4 - Beta pytest>=7.0.0 - :pypi:`pytest-ibutsu` A plugin to sent pytest results to an Ibutsu server Feb 23, 2026 4 - Beta pytest + :pypi:`pytest-iam` A fully functional OAUTH2 / OpenID Connect (OIDC) / SCIM server to be used in your testsuite Jun 20, 2026 4 - Beta pytest>=7.0.0 + :pypi:`pytest-ibutsu` A plugin to sent pytest results to an Ibutsu server Jul 17, 2026 4 - Beta pytest :pypi:`pytest-icdiff` use icdiff for better error messages in pytest assertions Dec 05, 2023 4 - Beta pytest :pypi:`pytest-idapro` A pytest plugin for idapython. Allows a pytest setup to run tests outside and inside IDA in an automated manner by runnig pytest inside IDA and by mocking idapython api Nov 03, 2018 N/A N/A :pypi:`pytest-idem` A pytest plugin to help with testing idem projects Dec 13, 2023 5 - Production/Stable N/A @@ -912,8 +936,9 @@ This list contains 2004 plugins. :pypi:`pytest-ignore-test-results` A pytest plugin to ignore test results. Feb 03, 2025 5 - Production/Stable pytest>=7.0 :pypi:`pytest-image-diff` Dec 31, 2024 3 - Alpha pytest :pypi:`pytest-image-snapshot` A pytest plugin for image snapshot management and comparison. Jun 02, 2026 4 - Beta pytest>=3.5.0 - :pypi:`pytest-impacted` A pytest plugin that selectively runs tests impacted by code changes via git introspection, AST parsing, and dependency graph analysis. May 19, 2026 4 - Beta pytest>=8.0.0 - :pypi:`pytest-impacted-rs` Rust-accelerated import parsing for pytest-impacted (ruff parser + rayon parallelism). May 19, 2026 4 - Beta N/A + :pypi:`pytest-impact` Fixture- and conftest-aware test impact analysis for pytest -- select only the tests affected by a git diff, no coverage tracing, no database. Jul 17, 2026 3 - Alpha pytest>=7 + :pypi:`pytest-impacted` A pytest plugin that selectively runs tests impacted by code changes via git introspection, AST parsing, and dependency graph analysis. Aug 13, 2026 4 - Beta pytest>=8.0.0 + :pypi:`pytest-impacted-rs` Rust-accelerated import parsing for pytest-impacted (ruff parser + rayon parallelism). Aug 13, 2026 4 - Beta N/A :pypi:`pytest-imply` Pytest plugin for test implication — skip tests implied by stronger ones Mar 21, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-import-check` pytest plugin to check whether Python modules can be imported Jul 19, 2024 3 - Alpha pytest>=8.1 :pypi:`pytest-incremental` an incremental test runner (pytest plugin) Apr 24, 2021 5 - Production/Stable N/A @@ -924,7 +949,7 @@ This list contains 2004 plugins. :pypi:`pytest-info-collector` pytest plugin to collect information from tests May 26, 2019 3 - Alpha N/A :pypi:`pytest-info-plugin` Get executed interface information in pytest interface automation framework Sep 14, 2023 N/A N/A :pypi:`pytest-informative-node` display more node ininformation. Apr 25, 2019 4 - Beta N/A - :pypi:`pytest-infrahouse` A set of fixtures to use with pytest Mar 17, 2026 4 - Beta pytest~=9.0 + :pypi:`pytest-infrahouse` A set of fixtures to use with pytest Aug 14, 2026 4 - Beta pytest~=9.0 :pypi:`pytest-infrastructure` pytest stack validation prior to testing executing Apr 12, 2020 4 - Beta N/A :pypi:`pytest-ini` Reuse pytest.ini to store env variables Apr 26, 2022 N/A N/A :pypi:`pytest-initry` Plugin for sending automation test data from Pytest to the initry Apr 30, 2024 N/A pytest<9.0.0,>=8.1.1 @@ -933,8 +958,8 @@ This list contains 2004 plugins. :pypi:`pytest-inline-snapshot` inline-snapshot is the package you are looking for Nov 09, 2025 N/A N/A :pypi:`pytest-inline-tdd` A pytest plugin for writing inline tests Mar 09, 2026 4 - Beta pytest<9.0,>=7.0 :pypi:`pytest-inmanta` A py.test plugin providing fixtures to simplify inmanta modules testing. Nov 18, 2025 5 - Production/Stable pytest - :pypi:`pytest-inmanta-extensions` Inmanta tests package Jun 02, 2026 5 - Production/Stable N/A - :pypi:`pytest-inmanta-lsm` Common fixtures used in inmanta LSM related modules Apr 29, 2026 5 - Production/Stable N/A + :pypi:`pytest-inmanta-extensions` Inmanta tests package Jul 24, 2026 5 - Production/Stable N/A + :pypi:`pytest-inmanta-lsm` Common fixtures used in inmanta LSM related modules Aug 06, 2026 5 - Production/Stable N/A :pypi:`pytest-inmanta-srlinux` Pytest library to facilitate end to end testing of inmanta projects Apr 22, 2025 3 - Alpha N/A :pypi:`pytest-inmanta-yang` Common fixtures used in inmanta yang related modules Oct 28, 2025 4 - Beta pytest :pypi:`pytest-Inomaly` A simple image diff plugin for pytest Feb 13, 2018 4 - Beta N/A @@ -950,16 +975,16 @@ This list contains 2004 plugins. :pypi:`pytest-interactive` A pytest plugin for console based interactive test selection just after the collection phase Nov 30, 2017 3 - Alpha N/A :pypi:`pytest-intercept-remote` Pytest plugin for intercepting outgoing connection requests during pytest run. May 24, 2021 4 - Beta pytest (>=4.6) :pypi:`pytest-interface-tester` Pytest plugin for checking charm relation interface protocol compliance. Feb 11, 2026 4 - Beta pytest - :pypi:`pytest-invenio` Pytest fixtures for Invenio. Mar 16, 2026 5 - Production/Stable pytest<9.0.0,>=6 + :pypi:`pytest-invenio` Pytest fixtures for Invenio. Jul 02, 2026 5 - Production/Stable pytest<9.0.0,>=6 :pypi:`pytest-involve` Run tests covering a specific file or changeset Feb 02, 2020 4 - Beta pytest (>=3.5.0) :pypi:`pytest-iovis` A Pytest plugin to enable Jupyter Notebook testing with Papermill Nov 06, 2024 4 - Beta pytest>=7.1.0 :pypi:`pytest-ipdb` A py.test plug-in to enable drop to ipdb debugger on test failure. Mar 20, 2013 2 - Pre-Alpha N/A :pypi:`pytest-ipso` pytest plugin for running ipso notebook cell tests Mar 24, 2026 N/A pytest :pypi:`pytest-ipynb` THIS PROJECT IS ABANDONED Jan 29, 2019 3 - Alpha N/A :pypi:`pytest-ipynb2` Pytest plugin to run tests in Jupyter Notebooks Mar 09, 2025 N/A pytest - :pypi:`pytest-ipywidgets` May 14, 2026 N/A pytest + :pypi:`pytest-ipywidgets` Aug 05, 2026 N/A pytest :pypi:`pytest-isolate` Run pytest tests in isolated subprocesses Jun 01, 2026 4 - Beta pytest - :pypi:`pytest-isolated` Run marked pytest tests in grouped subprocesses (cross-platform). Mar 04, 2026 4 - Beta pytest>=7.0 + :pypi:`pytest-isolated` Run marked pytest tests in grouped subprocesses (cross-platform). Jun 15, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-isolate-mpi` pytest-isolate-mpi allows for MPI-parallel tests being executed in a segfault and MPI_Abort safe manner Feb 24, 2025 4 - Beta pytest>=5 :pypi:`pytest-isort` py.test plugin to check import ordering using isort Mar 05, 2024 5 - Production/Stable pytest (>=5.0) :pypi:`pytest-issues` Decorators for pytest tests that should issue exceptions or warnings May 29, 2026 5 - Production/Stable pytest>=8 @@ -974,16 +999,16 @@ This list contains 2004 plugins. :pypi:`pytest-jelastic` Pytest plugin defining the necessary command-line options to pass to pytests testing a Jelastic environment. Nov 16, 2022 N/A pytest (>=7.2.0,<8.0.0) :pypi:`pytest-jest` A custom jest-pytest oriented Pytest reporter May 22, 2018 4 - Beta pytest (>=3.3.2) :pypi:`pytest-jinja` A plugin to generate customizable jinja-based HTML reports in pytest Oct 04, 2022 3 - Alpha pytest (>=6.2.5,<7.0.0) - :pypi:`pytest-jinja-check` Pytest plugin to lint Jinja2 templates in FastAPI applications Mar 14, 2026 3 - Alpha pytest>=7.0 - :pypi:`pytest-jira` py.test JIRA integration plugin, using markers Mar 19, 2026 4 - Beta pytest>=2.2.4 - :pypi:`pytest-jira-xfail` Plugin skips (xfail) tests if unresolved Jira issue(s) linked Jul 09, 2024 N/A pytest>=7.2.0 + :pypi:`pytest-jinja-check` Pytest plugin to lint Jinja2 templates in FastAPI applications Jun 23, 2026 3 - Alpha pytest>=7.0 + :pypi:`pytest-jira` py.test JIRA integration plugin, using markers Jul 13, 2026 4 - Beta pytest>=2.2.4 + :pypi:`pytest-jira-xfail` Plugin skips (xfail) tests if unresolved Jira issue(s) linked Jul 23, 2026 N/A pytest>=7.2.0 :pypi:`pytest-jira-xray` pytest plugin to integrate tests with JIRA XRAY Apr 24, 2026 4 - Beta pytest>=6.2.4 :pypi:`pytest-job-selection` A pytest plugin for load balancing test suites Jan 30, 2023 4 - Beta pytest (>=3.5.0) :pypi:`pytest-jobserver` Limit parallel tests with posix jobserver. Feb 02, 2026 5 - Production/Stable pytest :pypi:`pytest-joke` Test failures are better served with humor. Oct 08, 2019 4 - Beta pytest (>=4.2.1) :pypi:`pytest-jscov` Pytest plugin for JavaScript coverage via Playwright CDP Apr 04, 2026 N/A pytest :pypi:`pytest-json` Generate JSON test reports Jan 18, 2016 4 - Beta N/A - :pypi:`pytest-json-ctrf` Pytest plugin to generate json report in CTRF (Common Test Report Format) Apr 30, 2026 N/A pytest>6.0.0 + :pypi:`pytest-json-ctrf` Pytest plugin to generate json report in CTRF (Common Test Report Format) Jul 19, 2026 N/A pytest>6.0.0 :pypi:`pytest-json-fixtures` JSON output for the --fixtures flag Mar 14, 2023 4 - Beta N/A :pypi:`pytest-jsonlint` UNKNOWN Aug 04, 2016 N/A N/A :pypi:`pytest-json-report` A pytest plugin to report test results as JSON files Mar 15, 2022 4 - Beta pytest (>=3.8.0) @@ -991,17 +1016,18 @@ This list contains 2004 plugins. :pypi:`pytest-jsonschema` A pytest plugin to perform JSONSchema validations Nov 07, 2025 5 - Production/Stable pytest>=6.2.0 :pypi:`pytest-jsonschema-snapshot` Pytest plugin for automatic JSON Schema generation and validation from examples Mar 29, 2026 N/A pytest :pypi:`pytest-jtr` pytest plugin supporting json test report output Jul 21, 2024 N/A pytest<8.0.0,>=7.1.2 - :pypi:`pytest-jubilant` Add your description here Apr 07, 2026 N/A pytest>=8.3.5 + :pypi:`pytest-jubilant` Add your description here Jul 30, 2026 N/A pytest>=9.1.1 + :pypi:`pytest-jubilant-bdd` A pytest plugin providing reusable Gherkin step handlers for behavior-driven testing of Juju charmed operators Jul 07, 2026 N/A pytest~=9.0; extra == "dev" :pypi:`pytest-junit-logging` A pytest plugin for embedding log output into JUnit XML reports Nov 27, 2025 4 - Beta pytest>=6.0 :pypi:`pytest-junit-xray-xml` Export test results in an augmented JUnit format for usage with Xray () Jan 01, 2025 4 - Beta pytest :pypi:`pytest-jupyter` A pytest plugin for testing Jupyter libraries and extensions. Oct 16, 2025 4 - Beta pytest>=7.0 - :pypi:`pytest-jupyter-deploy` Pytest plugin for E2E testing of jupyter-deploy templates May 27, 2026 3 - Alpha pytest>=8.3.5 + :pypi:`pytest-jupyter-deploy` Pytest plugin for E2E testing of jupyter-deploy templates Aug 04, 2026 3 - Alpha pytest>=8.3.5 :pypi:`pytest-jupyterhub` A reusable JupyterHub pytest plugin Apr 25, 2023 5 - Production/Stable pytest - :pypi:`pytest-just` A pytest plugin for testing justfile recipes Mar 22, 2026 3 - Alpha pytest>=8.0.0 + :pypi:`pytest-just` A pytest plugin for testing justfile recipes Jun 20, 2026 3 - Alpha pytest>=8.0.0 :pypi:`pytest-jux` A pytest plugin for signing and publishing JUnit XML test reports to the Jux REST API Jan 08, 2026 3 - Alpha pytest>=7.4 :pypi:`pytest-k8s` Kubernetes-based testing for pytest Jul 07, 2025 N/A pytest>=8.4.1 :pypi:`pytest-kafka` Zookeeper, Kafka server, and Kafka consumer fixtures for Pytest Aug 14, 2024 N/A pytest - :pypi:`pytest-kafka-broker` Pytest plugin to run a single-broker Kafka cluster Apr 03, 2026 N/A N/A + :pypi:`pytest-kafka-broker` Pytest plugin to run a single-broker Kafka cluster Aug 13, 2026 N/A N/A :pypi:`pytest-kafka-contract` A pytest plugin and CLI for validating Kafka JSON and Avro messages against contracts. May 10, 2026 3 - Alpha pytest>=8.0.0 :pypi:`pytest-kafkavents` A plugin to send pytest events to Kafka Sep 08, 2021 4 - Beta pytest :pypi:`pytest-kairos` Pytest plugin with random number generation, reproducibility, and test repetition Aug 08, 2024 5 - Production/Stable pytest>=5.0.0 @@ -1011,6 +1037,7 @@ This list contains 2004 plugins. :pypi:`pytest-kexi` Apr 29, 2022 N/A pytest (>=7.1.2,<8.0.0) :pypi:`pytest-keyring` A Pytest plugin to access the system's keyring to provide credentials for tests Apr 10, 2026 N/A pytest>=8.0.2 :pypi:`pytest-kind` Kubernetes test support with KIND for pytest Nov 30, 2022 5 - Production/Stable N/A + :pypi:`pytest-kind-ng` Kubernetes test support with KIND for pytest Jul 23, 2026 5 - Production/Stable N/A :pypi:`pytest-kivy` Kivy GUI tests fixtures using pytest Jul 06, 2021 4 - Beta pytest (>=3.6) :pypi:`pytest-knows` A pytest plugin that can automaticly skip test case based on dependence info calculated by trace Aug 22, 2014 N/A N/A :pypi:`pytest-konira` Run Konira DSL tests with py.test Oct 09, 2011 N/A N/A @@ -1023,24 +1050,25 @@ This list contains 2004 plugins. :pypi:`pytest-kwparametrize` Alternate syntax for @pytest.mark.parametrize with test cases as dictionaries and default value fallbacks Jan 22, 2021 N/A pytest (>=6) :pypi:`pytest-lambda` Define pytest fixtures with lambda functions. May 27, 2024 5 - Production/Stable pytest<9,>=3.6 :pypi:`pytest-lamp` Jan 06, 2017 3 - Alpha N/A + :pypi:`pytest-lanes` Parallel pytest for suites that cannot be made concurrency-safe: one subprocess per declared lane, so tests only overlap across environment boundaries you choose. Jul 28, 2026 4 - Beta pytest>=7.4 :pypi:`pytest-langchain` Pytest-style test runner for langchain agents Feb 26, 2023 N/A pytest - :pypi:`pytest-language-server` A blazingly fast Language Server Protocol implementation for pytest Jun 04, 2026 4 - Beta N/A + :pypi:`pytest-language-server` A blazingly fast Language Server Protocol implementation for pytest Jul 14, 2026 4 - Beta N/A :pypi:`pytest-lark` Create fancy and clear HTML test reports. Nov 05, 2023 N/A N/A :pypi:`pytest-latin-hypercube` Implementation of Latin Hypercube Sampling for pytest. Jun 26, 2025 N/A pytest :pypi:`pytest-launchable` Launchable Pytest Plugin Apr 05, 2023 N/A pytest (>=4.2.0) :pypi:`pytest-layab` Pytest fixtures for layab. Oct 05, 2020 5 - Production/Stable N/A :pypi:`pytest-lazy-fixture` It helps to use fixtures in pytest.mark.parametrize Feb 01, 2020 4 - Beta pytest (>=3.2.5) - :pypi:`pytest-lazy-fixtures` Allows you to use fixtures in @pytest.mark.parametrize. Sep 16, 2025 N/A pytest>=7 + :pypi:`pytest-lazy-fixtures` Allows you to use fixtures in @pytest.mark.parametrize. Aug 12, 2026 N/A pytest>=7 :pypi:`pytest-ldap` python-ldap fixtures for pytest Aug 18, 2020 N/A pytest :pypi:`pytest-leak-finder` Find the test that's leaking before the one that fails Dec 19, 2025 4 - Beta pytest>=3.5.0 :pypi:`pytest-leaks` A pytest plugin to trace resource leaks. Nov 27, 2019 1 - Planning N/A :pypi:`pytest-leaping` A simple plugin to use with pytest Mar 27, 2024 4 - Beta pytest>=6.2.0 - :pypi:`pytest-leela` Type-aware mutation testing for Python — fast, opinionated, pytest-native Apr 27, 2026 3 - Alpha pytest>=7.0 + :pypi:`pytest-leela` Type-aware mutation testing for Python — fast, opinionated, pytest-native Jun 10, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-leo-interface` Pytest extension tool for leo projects. Mar 19, 2025 N/A N/A :pypi:`pytest-level` Select tests of a given level or lower Oct 21, 2019 N/A pytest :pypi:`pytest-lf-skip` A pytest plugin which makes \`--last-failed\` skip instead of deselect tests. Feb 27, 2026 4 - Beta pytest>=8.3.5 :pypi:`pytest-libfaketime` A python-libfaketime plugin for pytest Apr 12, 2024 4 - Beta pytest>=3.0.0 - :pypi:`pytest-libiio` A pytest plugin for testing libiio based devices Jun 06, 2026 N/A pytest>=3.5.0 + :pypi:`pytest-libiio` A pytest plugin for testing libiio based devices Jun 18, 2026 N/A pytest>=3.5.0 :pypi:`pytest-libnotify` Pytest plugin that shows notifications about the test run Apr 02, 2021 3 - Alpha pytest :pypi:`pytest-ligo` Jan 16, 2020 4 - Beta N/A :pypi:`pytest-lineno` A pytest plugin to show the line numbers of test functions Dec 04, 2020 N/A pytest @@ -1052,6 +1080,7 @@ This list contains 2004 plugins. :pypi:`pytest-litf` A pytest plugin that stream output in LITF format Jan 18, 2021 4 - Beta pytest (>=3.1.1) :pypi:`pytest-litter` Pytest plugin which verifies that tests do not modify file trees. Nov 23, 2023 4 - Beta pytest >=6.1 :pypi:`pytest-live` Live results for pytest Mar 08, 2020 N/A pytest + :pypi:`pytest-live-pause` Pytest plugin and protocol for pausing live test execution and resuming in-process Jun 10, 2026 N/A pytest>=9.0.3 :pypi:`pytest-liveview` Pytest plugin that shows a real-time test dashboard in a local web server Mar 09, 2026 N/A pytest>=7.0 :pypi:`pytest-llm` pytest-llm: A pytest plugin for testing LLM outputs with success rate thresholds. Oct 03, 2025 3 - Alpha pytest>=7.0.0 :pypi:`pytest-llm-agent` LLM Agent for working with pytest Dec 16, 2025 N/A pytest>=9.0.2 @@ -1059,10 +1088,11 @@ This list contains 2004 plugins. :pypi:`pytest-llmeval` A pytest plugin to evaluate/benchmark LLM prompts Mar 19, 2025 4 - Beta pytest>=6.2.0 :pypi:`pytest-llm-report` Human-friendly pytest test reports with optional LLM annotations Jan 21, 2026 3 - Alpha pytest>=7.0.0 :pypi:`pytest-llm-rubric` A pytest plugin for rubric-based LLM-as-judge testing with auto-discovery and preflight Apr 07, 2026 3 - Alpha pytest>=7.2 + :pypi:`pytest-llm-sushit` LLM-powered semantic assertions for pytest Jun 26, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-llmtest` The pytest for LLMs — fast, Pydantic-based assertions for AI applications Mar 08, 2026 3 - Alpha pytest>=7.0; extra == "dev" :pypi:`pytest-lobster` Pytest to generate lobster tracing files Jul 26, 2025 N/A pytest>=7.0 - :pypi:`pytest-local-badge` Pytest plugin that writes self-hosted SVG status and coverage badges to your repo — no third-party shield service required. May 22, 2026 5 - Production/Stable pytest>=8.4 - :pypi:`pytest-localftpserver` A PyTest plugin which provides an FTP fixture for your tests Nov 16, 2025 5 - Production/Stable pytest + :pypi:`pytest-local-badge` Pytest plugin that writes self-hosted SVG badges (tests, coverage, skipped, xfailed, warnings, duration) to your repo — no third-party shield service required. Aug 06, 2026 5 - Production/Stable pytest>=8.4 + :pypi:`pytest-localftpserver` A PyTest plugin which provides an FTP fixture for your tests Aug 11, 2026 5 - Production/Stable pytest :pypi:`pytest-localserver` pytest plugin to test server connections locally. Nov 24, 2025 4 - Beta N/A :pypi:`pytest-localstack` Pytest plugin for AWS integration tests Jun 07, 2023 4 - Beta pytest (>=6.0.0,<7.0.0) :pypi:`pytest-lock` pytest-lock is a pytest plugin that allows you to "lock" the results of unit tests, storing them in a local cache. This is particularly useful for tests that are resource-intensive or don't need to be run every time. When the tests are run subsequently, pytest-lock will compare the current results with the locked results and issue a warning if there are any discrepancies. Feb 03, 2024 N/A pytest (>=7.4.3,<8.0.0) @@ -1082,12 +1112,12 @@ This list contains 2004 plugins. :pypi:`pytest-logging` Configures logging and allows tweaking the log level with a py.test flag Nov 04, 2015 4 - Beta N/A :pypi:`pytest-logging-end-to-end-test-tool` Sep 23, 2022 N/A pytest (>=7.1.2,<8.0.0) :pypi:`pytest-logging-strict` pytest fixture logging configured from packaged YAML May 20, 2025 3 - Alpha pytest - :pypi:`pytest-logikal` Common testing environment May 29, 2026 5 - Production/Stable pytest==9.0.3 + :pypi:`pytest-logikal` Common testing environment Jul 07, 2026 5 - Production/Stable pytest==9.1.1 :pypi:`pytest-log-report` Package for creating a pytest test run reprot Dec 26, 2019 N/A N/A :pypi:`pytest-logscanner` Pytest plugin for logscanner (A logger for python logging outputting to easily viewable (and filterable) html files. Good for people not grep savey, and color higlighting and quickly changing filters might even bye useful for commandline wizards.) Sep 30, 2024 4 - Beta pytest>=8.2.2 :pypi:`pytest-loguru` Pytest Loguru May 16, 2026 5 - Production/Stable N/A :pypi:`pytest-loop` pytest plugin for looping tests Oct 17, 2024 5 - Production/Stable pytest - :pypi:`pytest-lsp` A pytest plugin for end-to-end testing of language servers Oct 25, 2025 5 - Production/Stable pytest>=8.0 + :pypi:`pytest-lsp` A pytest plugin for end-to-end testing of language servers Jun 17, 2026 5 - Production/Stable pytest>=8.0 :pypi:`pytest-lw-realtime-result` Pytest plugin to generate realtime test results to a file Mar 13, 2025 N/A pytest>=3.5.0 :pypi:`pytest-manifest` PyTest plugin for recording and asserting against a manifest file Apr 07, 2025 N/A pytest :pypi:`pytest-manual-marker` pytest marker for marking manual tests Aug 04, 2022 3 - Alpha pytest>=7 @@ -1096,9 +1126,9 @@ This list contains 2004 plugins. :pypi:`pytest-markdir` Feb 01, 2026 N/A pytest<10,>=8.0 :pypi:`pytest-markdoctest` A pytest plugin to doctest your markdown files Jul 22, 2022 4 - Beta pytest (>=6) :pypi:`pytest-markdown` Test your markdown docs with pytest Jan 15, 2021 4 - Beta pytest (>=6.0.1,<7.0.0) - :pypi:`pytest-markdown-console` A pytest extension to test console code blocks in markdown files. May 31, 2026 N/A pytest>=8 + :pypi:`pytest-markdown-console` A pytest extension to test console code blocks in markdown files. Jun 07, 2026 N/A pytest>=8 :pypi:`pytest-markdown-docs` Run markdown code fences through pytest Mar 23, 2026 N/A pytest>=7.0.0 - :pypi:`pytest-markdown-report` Token-efficient markdown test reports for LLM-based TDD agents Jan 10, 2026 N/A pytest>=7.0 + :pypi:`pytest-markdown-report` Token-efficient markdown test reports for LLM-based TDD agents Jul 15, 2026 N/A pytest>=7.0 :pypi:`pytest-markdown-summary` A Pytest plugin for generating reports in Markdown format. Apr 30, 2026 3 - Alpha pytest<10,>=7 :pypi:`pytest-marker-bugzilla` py.test bugzilla integration plugin, using markers Apr 02, 2025 5 - Production/Stable pytest>=2.2.4 :pypi:`pytest-markers-presence` A simple plugin to detect missed pytest tags and markers" Oct 30, 2024 4 - Beta pytest>=6.0 @@ -1108,14 +1138,13 @@ This list contains 2004 plugins. :pypi:`pytest-mark-manage` 用例标签化管理 Aug 15, 2024 N/A pytest :pypi:`pytest-mark-no-py3` pytest plugin and bowler codemod to help migrate tests to Python 3 May 17, 2019 N/A pytest :pypi:`pytest-marks` UNKNOWN Nov 23, 2012 3 - Alpha N/A - :pypi:`pytest-mask-secrets` Pytest plugin to hide sensitive data in test reports Dec 17, 2025 N/A N/A + :pypi:`pytest-mask-secrets` Pytest plugin to hide sensitive data in test reports Jul 28, 2026 N/A N/A :pypi:`pytest-matcher` Easy way to match captured \`pytest\` output against expectations stored in files Aug 07, 2025 5 - Production/Stable pytest - :pypi:`pytest-matchers` Matchers for pytest Dec 19, 2025 N/A pytest<10.0,>=7.0 + :pypi:`pytest-matchers` Matchers for pytest Aug 04, 2026 N/A pytest<10.0,>=7.0 :pypi:`pytest-match-skip` Skip matching marks. Matches partial marks using wildcards. May 15, 2019 4 - Beta pytest (>=4.4.1) :pypi:`pytest-mat-report` this is report Jan 20, 2021 N/A N/A :pypi:`pytest-matrix` Provide tools for generating tests from combinations of fixtures. Jun 24, 2020 5 - Production/Stable pytest (>=5.4.3,<6.0.0) :pypi:`pytest-maxcov` Compute the maximum coverage available through pytest with the minimum execution time cost Sep 24, 2023 N/A pytest (>=7.4.0,<8.0.0) - :pypi:`pytest-max-warnings` A Pytest plugin to exit non-zero exit code when the configured maximum warnings has been exceeded. Oct 23, 2024 4 - Beta pytest>=8.3.3 :pypi:`pytest-maybe-context` Simplify tests with warning and exception cases. Apr 16, 2023 N/A pytest (>=7,<8) :pypi:`pytest-maybe-raises` Pytest fixture for optional exception testing. May 27, 2022 N/A pytest ; extra == 'dev' :pypi:`pytest-mccabe` pytest plugin to run the mccabe code complexity checker. Jul 22, 2020 3 - Alpha pytest (>=5.4.0) @@ -1128,26 +1157,27 @@ This list contains 2004 plugins. :pypi:`pytest-meilisearch` Pytest helpers for testing projects using Meilisearch Oct 08, 2024 N/A pytest>=7.4.3 :pypi:`pytest-memlog` Log memory usage during tests May 03, 2023 N/A pytest (>=7.3.0,<8.0.0) :pypi:`pytest-memprof` Estimates memory consumption of test functions Mar 29, 2019 4 - Beta N/A - :pypi:`pytest-memray` A simple plugin to use with pytest Aug 18, 2025 N/A pytest>=7.2 + :pypi:`pytest-memray` A simple plugin to use with pytest Aug 07, 2026 N/A pytest>=8.0 :pypi:`pytest-menu` A pytest plugin for console based interactive test selection just after the collection phase Oct 04, 2017 3 - Alpha pytest (>=2.4.2) :pypi:`pytest-mercurial` pytest plugin to write integration tests for projects using Mercurial Python internals Nov 21, 2020 1 - Planning N/A - :pypi:`pytest-mergify` Pytest plugin for Mergify May 27, 2026 N/A pytest>=6.0.0 + :pypi:`pytest-mergify` Pytest plugin for Mergify Aug 05, 2026 N/A pytest>=6.0.0 :pypi:`pytest-mesh` pytest_mesh插件 Aug 05, 2022 N/A pytest (==7.1.2) :pypi:`pytest-message` Pytest plugin for sending report message of marked tests execution Aug 04, 2022 N/A pytest (>=6.2.5) :pypi:`pytest-messenger` Pytest to Slack reporting plugin Nov 24, 2022 5 - Production/Stable N/A :pypi:`pytest-metadata` pytest plugin for test session metadata Feb 12, 2024 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-metaexport` Pytest plugin for exporting custom test metadata to JSON. Jun 24, 2025 N/A pytest>=7.1.0 :pypi:`pytest-metrics` Custom metrics report for pytest Apr 04, 2020 N/A pytest - :pypi:`pytest-mfd-config` Pytest Plugin that handles test and topology configs and all their belongings like helper fixtures. May 19, 2026 N/A pytest<9,>=7.2.1 - :pypi:`pytest-mfd-logging` Module for handling PyTest logging. Nov 14, 2025 N/A pytest<9,>=7.2.1 + :pypi:`pytest-mfd-config` Pytest Plugin that handles test and topology configs and all their belongings like helper fixtures. Jun 10, 2026 N/A pytest<10,>=9.0.3 + :pypi:`pytest-mfd-logging` Module for handling PyTest logging. Jun 15, 2026 N/A pytest<10,>=9.0.3 :pypi:`pytest-mg` A tiny plugin for pytest which runs MongoDB in Docker May 11, 2026 5 - Production/Stable pytest>=8.0 - :pypi:`pytest-mh` Pytest multihost plugin Oct 16, 2025 N/A pytest + :pypi:`pytest-mh` Pytest multihost plugin Jul 15, 2026 N/A pytest :pypi:`pytest-mimesis` Mimesis integration with the pytest test runner Mar 21, 2020 5 - Production/Stable pytest (>=4.2) :pypi:`pytest-mimic` Easily record function calls while testing Apr 24, 2025 4 - Beta pytest>=6.2.0 :pypi:`pytest-minecraft` A pytest plugin for running tests against Minecraft releases Apr 06, 2022 N/A pytest (>=6.0.1) :pypi:`pytest-mini` A plugin to test mp Feb 06, 2023 N/A pytest (>=7.2.0,<8.0.0) :pypi:`pytest-minio-mock` A pytest plugin for mocking Minio S3 interactions Aug 06, 2025 N/A pytest>=5.0.0 :pypi:`pytest-mirror` A pluggy-based pytest plugin and CLI tool for ensuring your test suite mirrors your source code structure Jul 30, 2025 4 - Beta N/A + :pypi:`pytest-misata` pytest fixtures for Misata: deterministic, referentially-intact multi-table test data in one line Jul 15, 2026 N/A pytest>=7.0 :pypi:`pytest-missing-fixtures` Pytest plugin that creates missing fixtures Oct 14, 2020 4 - Beta pytest (>=3.5.0) :pypi:`pytest-missing-modules` Pytest plugin to easily fake missing modules Nov 17, 2025 N/A pytest>=8.3.2 :pypi:`pytest-mitmproxy` pytest plugin for mitmproxy tests May 09, 2026 N/A pytest>=7.0 @@ -1159,7 +1189,7 @@ This list contains 2004 plugins. :pypi:`pytest-mock-generator` A pytest fixture wrapper for https://pypi.org/project/mock-generator May 16, 2022 5 - Production/Stable N/A :pypi:`pytest-mock-helper` Help you mock HTTP call and generate mock code Jan 24, 2018 N/A pytest :pypi:`pytest-mockito` Base fixtures for mockito Feb 10, 2026 5 - Production/Stable pytest>=6 - :pypi:`pytest-mockllm` 🚀 Zero-config pytest plugin for mocking LLM APIs - OpenAI, Anthropic, Gemini, LangChain & more Dec 22, 2025 4 - Beta pytest>=7.0.0 + :pypi:`pytest-mockllm` 🚀 Zero-config pytest plugin for mocking LLM APIs - OpenAI, Anthropic, Gemini, LangChain & more Jul 10, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-mockredis` An in-memory mock of a Redis server that runs in a separate thread. This is to be used for unit-tests that require a Redis database. Jan 02, 2018 2 - Pre-Alpha N/A :pypi:`pytest-mock-resources` A pytest plugin for easily instantiating reproducible mock resources. Sep 17, 2025 N/A pytest>=1.0 :pypi:`pytest-mock-server` Mock server plugin for pytest Jan 09, 2022 4 - Beta pytest (>=3.5.0) @@ -1168,7 +1198,7 @@ This list contains 2004 plugins. :pypi:`pytest-mock-unity-catalog` Unity Catalog pyspark fixtures Mar 12, 2026 N/A pytest :pypi:`pytest-modalt` Massively distributed pytest runs using modal.com Feb 27, 2024 4 - Beta pytest >=6.2.0 :pypi:`pytest-model-lib` pytest plugin for model-lib Feb 22, 2026 N/A N/A - :pypi:`pytest-modern` A more modern pytest Aug 19, 2025 4 - Beta pytest>=8 + :pypi:`pytest-modern` A more modern pytest Aug 06, 2026 4 - Beta pytest>=8 :pypi:`pytest-modified-env` Pytest plugin to fail a test if it leaves modified \`os.environ\` afterwards. Jan 29, 2022 4 - Beta N/A :pypi:`pytest-modifyjunit` Utility for adding additional properties to junit xml for IDM QE Jan 10, 2019 N/A N/A :pypi:`pytest-molecule` PyTest Molecule Plugin :: discover and run molecule tests Mar 29, 2022 5 - Production/Stable pytest (>=7.0.0) @@ -1179,6 +1209,7 @@ This list contains 2004 plugins. :pypi:`pytest-mongodb-ry` pytest plugin for MongoDB Sep 25, 2025 N/A N/A :pypi:`pytest-mongo-docker` A tiny plugin for pytest which runs MongoDB in Docker May 14, 2026 5 - Production/Stable pytest>=8.0 :pypi:`pytest-monitor` Pytest plugin for analyzing resource usage. Jun 25, 2023 5 - Production/Stable pytest + :pypi:`pytest-monkey` pytest plugin for random test runner with reproducible execution Jul 17, 2026 N/A pytest>=7.4.0 :pypi:`pytest-monkeyplus` pytest's monkeypatch subclass with extra functionalities Sep 18, 2012 5 - Production/Stable N/A :pypi:`pytest-monkeytype` pytest-monkeytype: Generate Monkeytype annotations from your pytest tests. Jul 29, 2020 4 - Beta N/A :pypi:`pytest-moto` Fixtures for integration tests of AWS services,uses moto mocking library. Aug 28, 2015 1 - Planning N/A @@ -1192,7 +1223,7 @@ This list contains 2004 plugins. :pypi:`pytest-mpl-oggm` pytest plugin to help with testing figures output from Matplotlib - OGGM fork Mar 09, 2026 5 - Production/Stable pytest>=6.2.5 :pypi:`pytest-mproc` low-startup-overhead, scalable, distributed-testing pytest plugin Mar 27, 2026 4 - Beta pytest>=6 :pypi:`pytest-mqtt` pytest-mqtt supports testing systems based on MQTT Jan 28, 2026 5 - Production/Stable pytest<10; extra == "test" - :pypi:`pytest-mrt` Catch database migration rollback failures before they reach production Jun 06, 2026 5 - Production/Stable pytest>=7.0 + :pypi:`pytest-mrt` Catch database migration rollback failures before they reach production Jul 13, 2026 5 - Production/Stable pytest>=7.0 :pypi:`pytest-multihost` Utility for writing multi-host tests for pytest Apr 07, 2020 4 - Beta N/A :pypi:`pytest-multilog` Multi-process logs handling and other helpers for pytest Dec 28, 2025 N/A pytest :pypi:`pytest-multithreading` a pytest plugin for th and concurrent testing Aug 05, 2024 N/A N/A @@ -1224,18 +1255,20 @@ This list contains 2004 plugins. :pypi:`pytest-nginx-iplweb` nginx fixture for pytest - iplweb temporary fork Mar 01, 2019 5 - Production/Stable N/A :pypi:`pytest-ngrok` Jan 20, 2022 3 - Alpha pytest :pypi:`pytest-ngsfixtures` pytest ngs fixtures Sep 06, 2019 2 - Pre-Alpha pytest (>=5.0.0) - :pypi:`pytest-nhsd-apim` Pytest plugin accessing NHSDigital's APIM proxies Jun 03, 2026 N/A pytest<10.0.0,>=8.2.0 + :pypi:`pytest-nhsd-apim` Pytest plugin accessing NHSDigital's APIM proxies Aug 07, 2026 N/A pytest<10.0.0,>=8.2.0 :pypi:`pytest-nice` A pytest plugin that alerts user of failed test cases with screen notifications May 04, 2019 4 - Beta pytest :pypi:`pytest-nice-parametrize` A small snippet for nicer PyTest's Parametrize Apr 17, 2021 5 - Production/Stable N/A + :pypi:`pytest-nijam` pytest plugin for Nijam, captures test runs and ships them to the Nijam API. Jul 08, 2026 N/A pytest>=7.0 :pypi:`pytest_nlcov` Pytest plugin to get the coverage of the new lines (based on git diff) only Aug 05, 2024 N/A N/A :pypi:`pytest-nocustom` Run all tests without custom markers Aug 05, 2024 5 - Production/Stable N/A :pypi:`pytest-node-dependency` pytest plugin for controlling execution flow Apr 10, 2024 5 - Production/Stable N/A + :pypi:`pytest-nodeid-to-filepath` Get a filepath based on the current Pytest node ID. Jun 23, 2026 N/A pytest>=9.0.3 :pypi:`pytest-nodev` Test-driven source code search for Python. Jul 21, 2016 4 - Beta pytest (>=2.8.1) :pypi:`pytest-nogarbage` Ensure a test produces no garbage Feb 24, 2025 5 - Production/Stable pytest>=4.6.0 :pypi:`pytest-no-problem` Pytest plugin to tell you when there's no problem Jan 11, 2026 N/A pytest>=7.0 :pypi:`pytest-nose-attrib` pytest plugin to use nose @attrib marks decorators and pick tests based on attributes and partially uses nose-attrib plugin approach Aug 13, 2023 N/A N/A - :pypi:`pytest_notebook` A pytest plugin for testing Jupyter Notebooks. Nov 28, 2023 4 - Beta pytest>=3.5.0 - :pypi:`pytest-notebook-policy` Pytest plugin for notebook policy and quality checks May 30, 2026 3 - Alpha pytest>=8.0 + :pypi:`pytest-notebook` A pytest plugin for testing Jupyter Notebooks. Jul 19, 2026 4 - Beta pytest>=7.4 + :pypi:`pytest-notebook-policy` Pytest plugin for notebook policy and quality checks Jun 20, 2026 3 - Alpha pytest>=8.0 :pypi:`pytest-notice` Send pytest execution result email Nov 05, 2020 N/A N/A :pypi:`pytest-notification` A pytest plugin for sending a desktop notification and playing a sound upon completion of tests Jun 19, 2020 N/A pytest (>=4) :pypi:`pytest-notifier` A pytest plugin to notify test result Jun 12, 2020 3 - Alpha pytest @@ -1245,11 +1278,11 @@ This list contains 2004 plugins. :pypi:`pytest-notion` A PyTest Reporter to send test runs to Notion.so Aug 07, 2019 N/A N/A :pypi:`pytest-nunit` A pytest plugin for generating NUnit3 test result XML output Feb 26, 2024 5 - Production/Stable N/A :pypi:`pytest-oar` PyTest plugin for the OAR testing framework May 12, 2025 N/A pytest>=6.0.1 - :pypi:`pytest-oarepo` Jun 06, 2026 N/A pytest>=7.1.2; extra == "dev" + :pypi:`pytest-oarepo` Jun 07, 2026 N/A pytest>=7.1.2; extra == "dev" :pypi:`pytest-object-getter` Import any object from a 3rd party module while mocking its namespace on demand. Jul 31, 2022 5 - Production/Stable pytest :pypi:`pytest-ochrus` pytest results data-base and HTML reporter Feb 21, 2018 4 - Beta N/A :pypi:`pytest-odc` A pytest plugin for simplifying ODC database tests Aug 04, 2023 4 - Beta pytest (>=3.5.0) - :pypi:`pytest-odoo` py.test plugin to run Odoo tests May 20, 2025 5 - Production/Stable pytest>=8 + :pypi:`pytest-odoo` py.test plugin to run Odoo tests Jul 02, 2026 5 - Production/Stable pytest>=8 :pypi:`pytest-odoo-fixtures` Project description Jun 25, 2019 N/A N/A :pypi:`pytest-oduit` py.test plugin to run Odoo tests May 12, 2026 5 - Production/Stable pytest>=8 :pypi:`pytest-oerp` pytest plugin to test OpenERP modules Feb 28, 2012 3 - Alpha N/A @@ -1269,38 +1302,42 @@ This list contains 2004 plugins. :pypi:`pytest-opentmi` pytest plugin for publish results to opentmi Feb 09, 2026 5 - Production/Stable pytest>=5.0 :pypi:`pytest-operator` Fixtures for Charmed Operators Sep 28, 2022 N/A pytest :pypi:`pytest-optional` include/exclude values of fixtures in pytest Oct 07, 2015 N/A N/A + :pypi:`pytest-optional-dependencies` Don't test code that won't load due to missing imports. A pytest plugin to skip tests that require optional dependencies that are not installed. Jul 01, 2026 N/A pytest>=8.0 :pypi:`pytest-optional-tests` Easy declaration of optional tests (i.e., that are not run by default) Jul 21, 2025 4 - Beta pytest; extra == "dev" :pypi:`pytest-orchestration` A pytest plugin for orchestrating tests Jul 18, 2019 N/A N/A - :pypi:`pytest-order` pytest plugin to run tests in a specific order Apr 26, 2026 5 - Production/Stable pytest>=6.2.4; python_version < "3.14" + :pypi:`pytest-order` pytest plugin to run tests in a specific order Jun 13, 2026 5 - Production/Stable pytest>=6.2.4; python_version < "3.14" :pypi:`pytest-ordered` Declare the order in which tests should run in your pytest.ini Nov 09, 2025 N/A pytest>=6.2.0 :pypi:`pytest-ordering` pytest plugin to run your tests in a specific order Nov 14, 2018 4 - Beta pytest :pypi:`pytest-order-modify` 新增run_marker 来自定义用例的执行顺序 Nov 04, 2022 N/A N/A + :pypi:`pytest-orm-boundaries` Pytest plugin that fails tests when ORM queries cross DDD aggregate boundaries (Django supported today). Jul 24, 2026 3 - Alpha pytest>=8 :pypi:`pytest-osxnotify` OS X notifications for py.test results. May 15, 2015 N/A N/A :pypi:`pytest-ot` A pytest plugin for instrumenting test runs via OpenTelemetry Mar 21, 2024 N/A pytest; extra == "dev" - :pypi:`pytest-otel` OpenTelemetry plugin for Pytest Apr 29, 2026 N/A pytest==9.0.3 + :pypi:`pytest-otel` OpenTelemetry plugin for Pytest Jun 29, 2026 N/A pytest==9.1.1 :pypi:`pytest-otelmark` Pytest plugin for otelmark. Sep 14, 2025 3 - Alpha pytest>=8.3.5 :pypi:`pytest-override-env-var` Pytest mark to override a value of an environment variable. Feb 25, 2023 N/A N/A :pypi:`pytest-owner` Add owner mark for tests Aug 19, 2024 N/A pytest :pypi:`pytest-pact` A simple plugin to use with pytest Jan 07, 2019 4 - Beta N/A :pypi:`pytest-pagerduty` Pytest plugin for PagerDuty integration via automation testing. Mar 22, 2025 N/A pytest<9.0.0,>=7.4.0 :pypi:`pytest-pahrametahrize` Parametrize your tests with a Boston accent. Nov 24, 2021 4 - Beta pytest (>=6.0,<7.0) - :pypi:`pytest-paia-blockly` pytest plugin for PAIA Blockly: verify get_solution() against test cases Mar 19, 2026 N/A pytest>=8.0 + :pypi:`pytest-paia-blockly` pytest plugin for PAIA Blockly: verify get_solution() against test cases Jun 22, 2026 N/A pytest>=8.0 :pypi:`pytest-paraflow` Deterministic pytest test sharding across CI machines Feb 26, 2026 3 - Alpha pytest>=9.0.0 :pypi:`pytest-parallel` a pytest plugin for parallel and concurrent testing Oct 10, 2021 3 - Alpha pytest (>=3.0.0) :pypi:`pytest-parallel-39` a pytest plugin for parallel and concurrent testing Jul 12, 2021 3 - Alpha pytest (>=3.0.0) :pypi:`pytest-parallelize-tests` pytest plugin that parallelizes test execution across multiple hosts Jan 27, 2023 4 - Beta N/A + :pypi:`pytest-parallex` Parallel pytest where session fixtures run once for the whole run, not once per worker Jul 17, 2026 4 - Beta pytest>=8.1 :pypi:`pytest-param` pytest plugin to test all, first, last or random params Sep 11, 2016 4 - Beta pytest (>=2.6.0) :pypi:`pytest-parametrization` Simpler PyTest parametrization May 22, 2022 5 - Production/Stable N/A :pypi:`pytest-parametrization-annotation` A pytest library for parametrizing tests using type hints. Dec 10, 2024 5 - Production/Stable pytest>=7 :pypi:`pytest-parametrize` pytest decorator for parametrizing test cases in a dict-way Apr 03, 2026 5 - Production/Stable pytest<10.0,>=8.3 :pypi:`pytest-parametrize-cases` A more user-friendly way to write parametrized tests. Mar 13, 2022 N/A pytest (>=6.1.2) - :pypi:`pytest-parametrized` Pytest decorator for parametrizing tests with default iterables. Dec 21, 2024 5 - Production/Stable pytest + :pypi:`pytest-parametrized` Pytest decorator for parametrizing tests with default iterables. Jul 18, 2026 5 - Production/Stable pytest :pypi:`pytest-parametrize-suite` A simple pytest extension for creating a named test suite. Jan 19, 2023 5 - Production/Stable pytest :pypi:`pytest_param_files` Create pytest parametrize decorators from external files. Jul 29, 2023 N/A pytest - :pypi:`pytest-params` Simplified pytest test case parameters. Mar 14, 2026 5 - Production/Stable pytest>=7.0.0 + :pypi:`pytest-params` Simplified pytest test case parameters. Jul 05, 2026 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-param-scope` pytest parametrize scope fixture workaround Oct 18, 2023 N/A pytest :pypi:`pytest-parawtf` Finally spell paramete?ri[sz]e correctly Dec 03, 2018 4 - Beta pytest (>=3.6.0) :pypi:`pytest-park` Organise and analyse your pytest benchmarks Mar 20, 2026 N/A N/A + :pypi:`pytest-partition-check` Verify that pytest node-ID patterns partition a test suite. Aug 10, 2026 4 - Beta pytest>=8 :pypi:`pytest-pass` Check out https://github.com/elilutsky/pytest-pass Dec 04, 2019 N/A N/A :pypi:`pytest-passrunner` Pytest plugin providing the 'run_on_pass' marker Feb 10, 2021 5 - Production/Stable pytest (>=4.6.0) :pypi:`pytest-pastebin` Submit pytest failure or test session information to a pastebin service May 10, 2026 6 - Mature pytest>=7 @@ -1315,7 +1352,8 @@ This list contains 2004 plugins. :pypi:`pytest-pep8` pytest plugin to check PEP8 requirements Apr 27, 2014 N/A N/A :pypi:`pytest-percent` Change the exit code of pytest test sessions when a required percent of tests pass. May 21, 2020 N/A pytest (>=5.2.0) :pypi:`pytest-percents` Mar 16, 2024 N/A N/A - :pypi:`pytest-perf` Run performance tests against the mainline code. May 20, 2024 5 - Production/Stable pytest!=8.1.*,>=6; extra == "testing" + :pypi:`pytest-perf` Run performance tests against the mainline code. Jul 16, 2026 5 - Production/Stable pytest!=8.1.*,>=6; extra == "test" + :pypi:`pytest-perfguard` Automatic, low-overhead performance regression checks for pytest Aug 03, 2026 N/A pytest>=7 :pypi:`pytest-performance` A simple plugin to ensure the execution of critical sections of code has not been impacted Sep 11, 2020 5 - Production/Stable pytest (>=3.7.0) :pypi:`pytest-performancetotal` A performance plugin for pytest Mar 24, 2026 5 - Production/Stable N/A :pypi:`pytest-persistence` Pytest tool for persistent objects Aug 21, 2024 N/A N/A @@ -1340,11 +1378,11 @@ This list contains 2004 plugins. :pypi:`pytest-platform-markers` Markers for pytest to skip tests on specific platforms Sep 09, 2019 4 - Beta pytest (>=3.6.0) :pypi:`pytest-play` pytest plugin that let you automate actions and assertions with test metrics reporting executing plain YAML files Jun 12, 2019 5 - Production/Stable N/A :pypi:`pytest-playbook` Pytest plugin for reading playbooks. Jan 21, 2021 3 - Alpha pytest (>=6.1.2,<7.0.0) - :pypi:`pytest-playwright` A pytest wrapper with fixtures for Playwright to automate web browsers May 18, 2026 N/A pytest<10.0.0,>=6.2.4 + :pypi:`pytest-playwright` A pytest wrapper with fixtures for Playwright to automate web browsers Aug 10, 2026 N/A pytest<10.0.0,>=6.2.4 :pypi:`pytest-playwright-artifacts` Capture screenshots, HTML, and console logs on Playwright test failures May 21, 2026 N/A N/A :pypi:`pytest_playwright_async` ASYNC Pytest plugin for Playwright Sep 28, 2024 N/A N/A - :pypi:`pytest-playwright-asyncio` A pytest wrapper with async fixtures for Playwright to automate web browsers May 18, 2026 N/A pytest<10.0.0,>=6.2.4 - :pypi:`pytest-playwright-axe` An axe-core integration for accessibility testing using Playwright Python. Jun 05, 2026 5 - Production/Stable N/A + :pypi:`pytest-playwright-asyncio` A pytest wrapper with async fixtures for Playwright to automate web browsers Aug 10, 2026 N/A pytest<10.0.0,>=6.2.4 + :pypi:`pytest-playwright-axe` An axe-core integration for accessibility testing using Playwright Python. Aug 07, 2026 5 - Production/Stable N/A :pypi:`pytest-playwright-enhanced` A pytest plugin for playwright python Mar 24, 2024 N/A pytest<9.0.0,>=8.0.0 :pypi:`pytest-playwright-json` Generate Playwright-compatible JSON reports from pytest-playwright test runs Jan 06, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-playwrights` A pytest wrapper with fixtures for Playwright to automate web browsers Dec 02, 2021 N/A N/A @@ -1352,7 +1390,7 @@ This list contains 2004 plugins. :pypi:`pytest-playwright-visual` A pytest fixture for visual testing with Playwright Apr 28, 2022 N/A N/A :pypi:`pytest-playwright-visual-snapshot` Easy pytest visual regression testing using playwright Feb 05, 2026 N/A N/A :pypi:`pytest-pl-grader` A pytest plugin for autograding Python code. Designed for use with the PrairieLearn platform. Nov 12, 2025 3 - Alpha pytest - :pypi:`pytest-plone` Pytest plugin to test Plone addons May 18, 2026 3 - Alpha pytest>=8.4.0 + :pypi:`pytest-plone` Pytest plugin to test Plone addons Jul 13, 2026 5 - Production/Stable pytest>=8.4.0 :pypi:`pytest-plt` Fixtures for quickly making Matplotlib plots in tests Jan 17, 2024 5 - Production/Stable pytest :pypi:`pytest-plugin-helpers` A plugin to help developing and testing other plugins Nov 23, 2019 4 - Beta pytest (>=3.5.0) :pypi:`pytest-plugins` A Python package for managing pytest plugins. May 18, 2026 5 - Production/Stable pytest>=9.0.1 @@ -1372,8 +1410,9 @@ This list contains 2004 plugins. :pypi:`pytest-poo` Visualize your crappy tests Mar 25, 2021 5 - Production/Stable pytest (>=2.3.4) :pypi:`pytest-poo-fail` Visualize your failed tests with poo Feb 12, 2015 5 - Production/Stable N/A :pypi:`pytest-pook` Pytest plugin for pook Feb 15, 2024 4 - Beta pytest + :pypi:`pytest-poolwatch` Concurrency profiler and scheduler underfill detector for pytest Jul 29, 2026 3 - Alpha pytest<10,>=8.2 :pypi:`pytest-pop` A pytest plugin to help with testing pop projects May 09, 2023 5 - Production/Stable pytest - :pypi:`pytest-porcochu` Show surprise when tests are passing Nov 28, 2024 5 - Production/Stable N/A + :pypi:`pytest-porcochu` Show surprise when tests are passing Aug 03, 2026 5 - Production/Stable pytest :pypi:`pytest-portion` Select a portion of the collected tests Mar 04, 2026 4 - Beta pytest>=3.5.0 :pypi:`pytest-postgres` Run PostgreSQL in Docker container in Pytest. Mar 22, 2020 N/A pytest :pypi:`pytest-postgresql` Postgresql fixtures and fixture factories for Pytest. May 15, 2026 5 - Production/Stable pytest>=8.2 @@ -1384,8 +1423,10 @@ This list contains 2004 plugins. :pypi:`pytest-pretty` pytest plugin for printing summary data as I want it Jun 04, 2025 5 - Production/Stable pytest>=7 :pypi:`pytest-pretty-terminal` pytest plugin for generating prettier terminal output Jan 31, 2022 N/A pytest (>=3.4.1) :pypi:`pytest-pride` Minitest-style test colors Apr 02, 2016 3 - Alpha N/A - :pypi:`pytest-print` pytest-print adds the printer fixture you can use to print messages to the user (directly to the pytest runner, not stdout) Feb 11, 2026 5 - Production/Stable pytest>=9.0.2 + :pypi:`pytest-print` pytest-print adds the printer fixture you can use to print messages to the user (directly to the pytest runner, not stdout) Jul 21, 2026 5 - Production/Stable pytest>=9.0.2 :pypi:`pytest-priority` pytest plugin for add priority for tests Aug 19, 2024 N/A pytest + :pypi:`pytest-probability` pytest plugin for nondeterministic tests: run cases N times, report empirical pass fractions, flaky detection, and cost. Jul 08, 2026 4 - Beta pytest>=7.4 + :pypi:`pytest-probatio` Use a probatio schema as a pytest assertion matcher Jul 09, 2026 3 - Alpha pytest>=8 :pypi:`pytest-proceed` Oct 01, 2024 N/A pytest :pypi:`pytest-profiles` pytest plugin for configuration profiles Dec 09, 2021 4 - Beta pytest (>=3.7.0) :pypi:`pytest-profiling` Profiling plugin for py.test Nov 29, 2024 5 - Production/Stable pytest @@ -1402,13 +1443,14 @@ This list contains 2004 plugins. :pypi:`pytest-pt` pytest plugin to use \*.pt files as tests May 20, 2026 5 - Production/Stable pytest :pypi:`pytest-ptera` Use ptera probes in tests Mar 01, 2022 N/A pytest (>=6.2.4,<7.0.0) :pypi:`pytest-publish` Jun 04, 2024 N/A pytest<9.0.0,>=8.0.0 + :pypi:`pytest-pubsub` In-memory mock of Google Cloud Pub/Sub topics and subscriptions for testing Aug 05, 2026 N/A pytest>=7.0 :pypi:`pytest-pudb` Pytest PuDB debugger integration Oct 25, 2018 3 - Alpha pytest (>=2.0) :pypi:`pytest-pudb-resurrected` Pytest PuDB debugger integration Mar 12, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-pulse-report` A pytest reporter and dashboard for visualizing Playwright (pytest-playwright) test results — Python port of playwright-pulse May 14, 2026 N/A pytest>=7.0.0 :pypi:`pytest-pumpkin-spice` A pytest plugin that makes your test reporting pumpkin-spiced Sep 18, 2022 4 - Beta N/A :pypi:`pytest-purkinje` py.test plugin for purkinje test runner Oct 28, 2017 2 - Pre-Alpha N/A :pypi:`pytest-pusher` pytest plugin for push report to minio Jan 06, 2023 5 - Production/Stable pytest (>=3.6) - :pypi:`pytest-pvcr` PyTest Process VCR Feb 25, 2026 3 - Alpha pytest>=3.5.0 + :pypi:`pytest-pvcr` PyTest Process VCR Jul 30, 2026 3 - Alpha pytest>=3.5.0 :pypi:`pytest-pve-cloud` Feb 27, 2026 N/A pytest==8.4.2 :pypi:`pytest-pw-config-gen` Generate pytest-playwright configuration files (pytest.ini, pyproject.toml, conftest.py) via CLI Mar 14, 2026 N/A pytest>=7.4; extra == "dev" :pypi:`pytest-py125` Dec 03, 2022 N/A N/A @@ -1432,9 +1474,9 @@ This list contains 2004 plugins. :pypi:`pytest-pyreport` PyReport is a lightweight reporting plugin for Pytest that provides concise HTML report May 05, 2024 N/A pytest :pypi:`pytest-pyright` Pytest plugin for type checking code with Pyright Jan 26, 2024 4 - Beta pytest >=7.0.0 :pypi:`pytest-pyspark-plugin` Pytest pyspark plugin (p3) Nov 23, 2025 4 - Beta pytest>=8.0.0 - :pypi:`pytest-pyspark-utils` A simple plugin to use with pytest May 20, 2026 4 - Beta pytest>=6.2.0 + :pypi:`pytest-pyspark-utils` A simple plugin to use with pytest Jun 19, 2026 4 - Beta pytest>=6.2.0 :pypi:`pytest-pyspec` The pytest-pyspec plugin transforms pytest output into a beautiful, readable format similar to RSpec. It provides semantic meaning to your tests by organizing them into descriptive hierarchies, using the prefixes \`Describe\`/\`Test\`, \`With\`/\`Without\`/\`When\`, and \`test\`/\`it\`, while allowing docstrings and decorators to override the descriptions. Nov 18, 2025 5 - Production/Stable pytest<10,>=9 - :pypi:`pytest-pystack` Plugin to run pystack after a timeout for a test suite. Nov 16, 2024 N/A pytest>=3.5.0 + :pypi:`pytest-pystack` Plugin to run pystack after a timeout for a test suite. Aug 07, 2026 N/A pytest>=3.5.0 :pypi:`pytest-pytestdb` Add your description here Sep 14, 2025 N/A N/A :pypi:`pytest-pytestrail` Pytest plugin for interaction with TestRail Aug 27, 2020 4 - Beta pytest (>=3.8.0) :pypi:`pytest-pytestrail-internal` Pytest plugin for interaction with TestRail, Pytest plugin for TestRail (internal fork from: https://github.com/tolstislon/pytest-pytestrail with PR #25 fix) Jun 12, 2025 4 - Beta pytest>=3.8.0 @@ -1444,13 +1486,14 @@ This list contains 2004 plugins. :pypi:`pytest-pytorch` pytest plugin for a better developer experience when working with the PyTorch test suite May 25, 2021 4 - Beta pytest :pypi:`pytest-pyvenv` A package for create venv in tests Feb 27, 2024 N/A pytest ; extra == 'test' :pypi:`pytest-pyvista` Pytest-pyvista package. Apr 13, 2026 4 - Beta pytest>=6.2.0 + :pypi:`pytest-qamule` A pytest plugin for QAMule automation testing with device fixtures, live pause checkpoints, and AI/human-friendly reports. Jun 30, 2026 N/A pytest>=9.1.1 :pypi:`pytest-qanova` A pytest plugin to collect test information Sep 05, 2024 3 - Alpha pytest - :pypi:`pytest-qaseio` Pytest plugin for Qase.io integration Dec 10, 2025 5 - Production/Stable pytest>=7.2.2 + :pypi:`pytest-qaseio` Pytest plugin for Qase.io integration Aug 07, 2026 5 - Production/Stable pytest>=7 :pypi:`pytest-qasync` Pytest support for qasync. Jul 12, 2021 4 - Beta pytest (>=5.4.0) :pypi:`pytest-qatouch` Pytest plugin for uploading test results to your QA Touch Testrun. Feb 14, 2023 4 - Beta pytest (>=6.2.0) :pypi:`pytest-qemu-pic32mk` pytest plugin for QEMU-based functional tests targeting PIC32MK (MIPS32) firmware May 17, 2026 N/A pytest>=7.0 - :pypi:`pytest-qfield` A pytest plugin for testing QField qml plugins Jun 05, 2026 N/A N/A - :pypi:`pytest-qgis` A pytest plugin for testing QGIS python plugins Apr 01, 2026 5 - Production/Stable pytest>=6.0 + :pypi:`pytest-qfield` A pytest plugin for testing QField qml plugins Jun 12, 2026 N/A N/A + :pypi:`pytest-qgis` A pytest plugin for testing QGIS python plugins Aug 04, 2026 5 - Production/Stable pytest>=6.0 :pypi:`pytest-qml` Run QML Tests with pytest Dec 02, 2020 4 - Beta pytest (>=6.0.0) :pypi:`pytest-qr` pytest plugin to generate test result QR codes Nov 25, 2021 4 - Beta N/A :pypi:`pytest-qt` pytest support for PyQt and PySide applications Jul 01, 2025 5 - Production/Stable pytest @@ -1473,12 +1516,14 @@ This list contains 2004 plugins. :pypi:`pytest-random-num` Randomise the order in which pytest tests are run with some control over the randomness Oct 19, 2020 5 - Production/Stable N/A :pypi:`pytest-random-order` Randomise the order in which pytest tests are run with some control over the randomness Jun 22, 2025 5 - Production/Stable pytest :pypi:`pytest-ranking` A Pytest plugin for faster fault detection via regression test prioritization Apr 08, 2025 4 - Beta pytest>=7.4.3 + :pypi:`pytest-ratchet` Baselines that cannot lie: every entry justified, new findings fail, stale entries fail. Aug 12, 2026 3 - Alpha pytest>=7.4 :pypi:`pytest-rca-report` Interactive RCA report generator for pytest runs, with AI-based analysis and visual dashboard Aug 04, 2025 N/A N/A :pypi:`pytest-readable` Pytest plugin that renders readable test specifications and exports documentation Mar 23, 2026 3 - Alpha pytest<10.0,>=9.0 :pypi:`pytest-readme` Test your README.md file Aug 01, 2025 5 - Production/Stable pytest :pypi:`pytest-reana` Pytest fixtures for REANA. May 12, 2026 3 - Alpha N/A :pypi:`pytest-recap` Capture your test sessions. Recap the results. Jun 16, 2025 N/A pytest>=6.2.0 - :pypi:`pytest-recorder` Pytest plugin, meant to facilitate unit tests writing for tools consumming Web APIs. Apr 13, 2026 N/A pytest>=8.4.1 + :pypi:`pytest-receptor` A pytest plugin to adapt test output for different receptors (humans, LLMs, CI). Aug 15, 2026 5 - Production/Stable pytest>=8.0.0 + :pypi:`pytest-recorder` Pytest plugin, meant to facilitate unit tests writing for tools consumming Web APIs. Jun 24, 2026 N/A pytest>=8.4.1 :pypi:`pytest-recording` A pytest plugin powered by VCR.py to record and replay HTTP traffic May 08, 2025 4 - Beta pytest>=3.5.0 :pypi:`pytest-recordings` Provides pytest plugins for reporting request/response traffic, screenshots, and more to ReportPortal Aug 13, 2020 N/A N/A :pypi:`pytest-record-video` 用例执行过程中录制视频 Oct 31, 2024 N/A N/A @@ -1490,16 +1535,16 @@ This list contains 2004 plugins. :pypi:`pytest-regex` Select pytest tests with regular expressions May 29, 2023 4 - Beta pytest (>=3.5.0) :pypi:`pytest-regex-dependency` Management of Pytest dependencies via regex patterns Jun 12, 2022 N/A pytest :pypi:`pytest-regressions` Easy to use fixtures to write regression tests. May 25, 2026 5 - Production/Stable pytest>=6.2.0 - :pypi:`pytest-regtest` pytest plugin for snapshot regression testing May 05, 2026 N/A pytest>7.2 + :pypi:`pytest-regtest` pytest plugin for snapshot regression testing Jul 09, 2026 N/A pytest>7.2 :pypi:`pytest-relative-order` a pytest plugin that sorts tests using "before" and "after" markers May 17, 2021 4 - Beta N/A :pypi:`pytest-relative-path` Handle relative path in pytest options or ini configs Nov 13, 2025 N/A pytest :pypi:`pytest-relaxed` Relaxed test discovery/organization for pytest Mar 29, 2024 5 - Production/Stable pytest>=7 :pypi:`pytest_relay` A plugin to relay test information and control from and to pytest Jan 31, 2026 4 - Beta pytest>=6.2.0 :pypi:`pytest-relay-run` A pytest wrapper using for pytest-relay with pytest-relay-ws to control pytest executions. Jan 31, 2026 4 - Beta pytest>=6.2.0 :pypi:`pytest_relay_ws` An extension plugin to pytest-relay to relay pytest information via websockets Jan 31, 2026 4 - Beta pytest>=6.2.0 - :pypi:`pytest-remaster` Pytest plugin for golden master (characterisation) testing with automatic expected file regeneration. Apr 09, 2026 3 - Alpha pytest>=7 + :pypi:`pytest-remaster` Pytest plugin for golden master (characterisation) testing with automatic expected file regeneration. Jun 17, 2026 3 - Alpha pytest>=7 :pypi:`pytest-remfiles` Pytest plugin to create a temporary directory with remote files Jul 01, 2019 5 - Production/Stable N/A - :pypi:`pytest-remotedata` Pytest plugin for controlling remote data access. Sep 26, 2023 5 - Production/Stable pytest >=4.6 + :pypi:`pytest-remotedata` Pytest plugin for controlling remote data access. Aug 03, 2026 5 - Production/Stable pytest>=5.0 :pypi:`pytest-remote-response` Pytest plugin for capturing and mocking connection requests. Apr 26, 2023 5 - Production/Stable pytest (>=4.6) :pypi:`pytest-remove-stale-bytecode` py.test plugin to remove stale byte code files. Nov 19, 2025 4 - Beta pytest :pypi:`pytest-reorder` Reorder tests depending on their paths and names. May 31, 2018 4 - Beta pytest @@ -1507,7 +1552,7 @@ This list contains 2004 plugins. :pypi:`pytest-repeated` A pytest module for very basic statistical tests. Repeat test multiple times and pass if the underlying test passes a threshold. Feb 24, 2026 N/A pytest>=7.0.0 :pypi:`pytest_repeater` py.test plugin for repeating single test multiple times. Feb 09, 2018 1 - Planning N/A :pypi:`pytest-replay` Saves previous test runs and allow re-execute previous pytest runs to reproduce crashes or flaky tests Dec 23, 2025 5 - Production/Stable pytest - :pypi:`pytest-repo-health` A pytest plugin to report on repository standards conformance Dec 09, 2025 3 - Alpha pytest + :pypi:`pytest-repo-health` A pytest plugin to report on repository standards conformance Jul 14, 2026 3 - Alpha pytest :pypi:`pytest-report` Creates json report that is compatible with atom.io's linter message format May 11, 2016 4 - Beta N/A :pypi:`pytest-reporter` Generate Pytest reports with templates Feb 28, 2024 4 - Beta pytest :pypi:`pytest-reporter-html` Pytest plugin that generates rich HTML test reports with step tracking, log capture, and interactive filtering Apr 27, 2026 5 - Production/Stable pytest>=7.0 @@ -1520,7 +1565,7 @@ This list contains 2004 plugins. :pypi:`pytest-reportlog` Replacement for the --resultlog option, focused in simplicity and extensibility Nov 11, 2025 5 - Production/Stable pytest :pypi:`pytest-report-me` A pytest plugin to generate report. Dec 31, 2020 N/A pytest :pypi:`pytest-report-parameters` pytest plugin for adding tests' parameters to junit report Jun 18, 2020 3 - Alpha pytest (>=2.4.2) - :pypi:`pytest-reportportal` Agent for Reporting results of tests to the Report Portal Jun 03, 2026 N/A N/A + :pypi:`pytest-reportportal` Agent for Reporting results of tests to the Report Portal Jul 31, 2026 N/A N/A :pypi:`pytest-report-stream` A pytest plugin which allows to stream test reports at runtime Oct 22, 2023 4 - Beta N/A :pypi:`pytest-repo-structure` Pytest Repo Structure Mar 18, 2024 1 - Planning N/A :pypi:`pytest-req` pytest requests plugin Apr 26, 2026 5 - Production/Stable pytest>=8.4.2 @@ -1529,29 +1574,30 @@ This list contains 2004 plugins. :pypi:`pytest-requests` A simple plugin to use with pytest Jun 24, 2019 4 - Beta pytest (>=3.5.0) :pypi:`pytest-requestselapsed` collect and show http requests elapsed time Aug 14, 2022 N/A N/A :pypi:`pytest-requests-futures` Pytest Plugin to Mock Requests Futures Jul 06, 2022 5 - Production/Stable pytest - :pypi:`pytest-requirements` pytest plugin for using custom markers to relate tests to requirements and usecases Jun 05, 2026 N/A pytest + :pypi:`pytest-requirements` pytest plugin for using custom markers to relate tests to requirements and usecases Jul 02, 2026 N/A pytest :pypi:`pytest-requires` A pytest plugin to elegantly skip tests with optional requirements Dec 21, 2021 4 - Beta pytest (>=3.5.0) :pypi:`pytest-reqyaml` This is a plugin where generate requests test cases from yaml. Aug 16, 2025 N/A pytest>=8.4.1 :pypi:`pytest-reraise` Make multi-threaded pytest test cases fail when they should Sep 20, 2022 5 - Production/Stable pytest (>=4.6) :pypi:`pytest-rerun` Re-run only changed files in specified branch Jul 08, 2019 N/A pytest (>=3.6) :pypi:`pytest-rerun-all` Rerun testsuite for a certain time or iterations Jul 30, 2025 3 - Alpha pytest>=7.0.0 - :pypi:`pytest-rerunclassfailures` pytest rerun class failures plugin Apr 24, 2024 5 - Production/Stable pytest>=7.2 - :pypi:`pytest-rerunfailures` pytest plugin to re-run tests to eliminate flaky failures May 22, 2026 5 - Production/Stable pytest!=8.2.2,>=8.1 + :pypi:`pytest-rerunclassfailures` pytest rerun class failures plugin Jul 17, 2026 5 - Production/Stable pytest>=7.2 + :pypi:`pytest-rerunfailures` pytest plugin to re-run tests to eliminate flaky failures Aug 13, 2026 5 - Production/Stable pytest!=8.2.2,>=8.2 :pypi:`pytest-rerunfailures-all-logs` pytest plugin to re-run tests to eliminate flaky failures Mar 07, 2022 5 - Production/Stable N/A :pypi:`pytest-reserial` Pytest fixture for recording and replaying serial port traffic. Dec 30, 2025 4 - Beta pytest - :pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest Apr 29, 2026 N/A pytest~=7.0 + :pypi:`pytest-resilience-agent` pytest plugin that runs your LLM app under controlled chaos (timeouts, brownouts, rate limits, MCP errors, composed failures) and asserts it still meets its contract Jun 25, 2026 3 - Alpha pytest>=8.0 + :pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest Jul 14, 2026 N/A pytest~=7.0 :pypi:`pytest-resource` Load resource fixture plugin to use with pytest Nov 14, 2018 4 - Beta N/A :pypi:`pytest-resource-path` Provides path for uniform access to test resources in isolated directory May 17, 2026 5 - Production/Stable pytest>=3.5.0 :pypi:`pytest-resource-usage` Pytest plugin for reporting running time and peak memory usage Nov 06, 2022 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-respect` Pytest plugin to load resource files relative to test code and to expect values to match them. Apr 08, 2026 5 - Production/Stable pytest>=8.0.0 :pypi:`pytest-responsemock` Simplified requests calls mocking for pytest Mar 10, 2022 5 - Production/Stable N/A - :pypi:`pytest-responses` py.test integration for responses Oct 11, 2022 N/A pytest (>=2.5) + :pypi:`pytest-responses` py.test integration for responses Jun 29, 2026 N/A pytest>=2.5 :pypi:`pytest-rest-api` Aug 08, 2022 N/A pytest (>=7.1.2,<8.0.0) :pypi:`pytest-restrict` Pytest plugin to restrict the test types allowed Feb 09, 2026 5 - Production/Stable pytest :pypi:`pytest-resttest` A REST API testing framework for Python, as plugin for pytest. Uses simple and readable YAML files for specifying test cases. May 26, 2026 5 - Production/Stable pytest<10,>=9 :pypi:`pytest-result-log` A pytest plugin that records the start, end, and result information of each use case in a log file Jan 10, 2024 N/A pytest>=7.2.0 :pypi:`pytest-result-notify` Default template for PDM package Apr 27, 2025 N/A pytest>=8.3.5 - :pypi:`pytest-results` Easily spot regressions in your tests. Oct 08, 2025 4 - Beta pytest + :pypi:`pytest-results` Easily spot regressions in your tests. Jun 21, 2026 4 - Beta pytest :pypi:`pytest-result-sender` Apr 20, 2023 N/A pytest>=7.3.1 :pypi:`pytest-result-sender-fanrenbufan` Default template for PDM package Mar 12, 2026 N/A pytest>=8.4.2 :pypi:`pytest-result-sender-jms` Default template for PDM package May 22, 2025 N/A pytest>=8.3.5 @@ -1559,6 +1605,7 @@ This list contains 2004 plugins. :pypi:`pytest-result-sender-lyt` Default template for PDM package Mar 14, 2025 N/A pytest>=8.3.5 :pypi:`pytest-result-sender-misszhang` Default template for PDM package Mar 21, 2025 N/A pytest>=8.3.5 :pypi:`pytest-result-sender-r` Default template for PDM package Dec 26, 2025 N/A pytest>=8.4.2 + :pypi:`pytest-resumable-stepmetrics` Structured step-level metadata, retry/attempt tracking, and resume-on-retry for pytest — with a pluggable custom-record extension system. Aug 09, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-resume` A Pytest plugin to resuming from the last run test Apr 22, 2023 4 - Beta pytest (>=7.0) :pypi:`pytest-rethinkdb` A RethinkDB plugin for pytest. Jul 24, 2016 4 - Beta N/A :pypi:`pytest-retry` Adds the ability to retry flaky tests in CI environments Jan 19, 2025 N/A pytest>=7.0.0 @@ -1566,7 +1613,7 @@ This list contains 2004 plugins. :pypi:`pytest-reusable-testcases` Apr 28, 2023 N/A N/A :pypi:`pytest-revealtype-injector` Pytest plugin for replacing reveal_type() calls inside test functions with static and runtime type checking result comparison, for confirming type annotation validity. Feb 03, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-reverse` Pytest plugin to reverse test order. Sep 09, 2025 5 - Production/Stable pytest - :pypi:`pytest-review` A pytest plugin that reviews the quality of your tests Apr 12, 2026 3 - Alpha pytest>=7.0.0 + :pypi:`pytest-review` A pytest plugin that reviews the quality of your tests Aug 10, 2026 3 - Alpha pytest>=7.0.0 :pypi:`pytest-rich` Leverage rich for richer test session output Dec 12, 2024 4 - Beta pytest>=7.0 :pypi:`pytest-richer` Pytest plugin providing a Rich based reporter. Oct 27, 2023 3 - Alpha pytest :pypi:`pytest-rich-reporter` A pytest plugin using Rich for beautiful test result formatting. Feb 17, 2022 1 - Planning pytest (>=5.0.0) @@ -1576,13 +1623,13 @@ This list contains 2004 plugins. :pypi:`pytest-rmysql` This is a plugin which is able to connet MySQL easyly. Aug 17, 2025 N/A pytest>=8.4.1 :pypi:`pytest-rng` Fixtures for seeding tests and making randomness reproducible Aug 08, 2019 5 - Production/Stable pytest :pypi:`pytest-roast` pytest plugin for ROAST configuration override and fixtures Nov 09, 2022 5 - Production/Stable pytest - :pypi:`pytest_robotframework` a pytest plugin that can run both python and robotframework tests while generating robot reports for them Dec 22, 2025 N/A pytest<10,>=7 + :pypi:`pytest_robotframework` a pytest plugin that can run both python and robotframework tests while generating robot reports for them Jul 14, 2026 N/A pytest<10,>=7 :pypi:`pytest-rocketchat` Pytest to Rocket.Chat reporting plugin Apr 18, 2021 5 - Production/Stable N/A :pypi:`pytest-rotest` Pytest integration with rotest Sep 08, 2019 N/A pytest (>=3.5.0) :pypi:`pytest-route-coverage` pytest plugin to generate reports on routes coverage for web applications. Apr 02, 2026 N/A pytest>=7.2.2 :pypi:`pytest-routes` Property-based smoke testing for ASGI application routes Dec 01, 2025 3 - Alpha pytest>=7.0 :pypi:`pytest-rpc` Extend py.test for RPC OpenStack testing. Feb 22, 2019 4 - Beta pytest (~=3.6) - :pypi:`pytest-rs` A fast, drop-in compatible pytest runner written in Rust Jun 06, 2026 3 - Alpha N/A + :pypi:`pytest-rs` A fast, drop-in compatible pytest runner written in Rust Jul 27, 2026 3 - Alpha N/A :pypi:`pytest-r-snapshot` A pytest plugin for snapshot testing against R code outputs Jan 02, 2026 3 - Alpha pytest>=7.0.0 :pypi:`pytest-rst` Test code from RST documents with pytest Feb 22, 2026 N/A N/A :pypi:`pytest-rt` pytest data collector plugin for Testgr May 05, 2022 N/A N/A @@ -1590,7 +1637,7 @@ This list contains 2004 plugins. :pypi:`pytest-ruff` pytest plugin to check ruff requirements. Jun 19, 2025 4 - Beta pytest>=5 :pypi:`pytest-run-changed` Pytest plugin that runs changed tests only Apr 02, 2021 3 - Alpha pytest :pypi:`pytest-runfailed` implement a --failed option for pytest Mar 24, 2016 N/A N/A - :pypi:`pytest-run-parallel` A simple pytest plugin to run tests concurrently Jun 03, 2026 4 - Beta pytest>=6.2.0 + :pypi:`pytest-run-parallel` A simple pytest plugin to run tests concurrently Aug 04, 2026 4 - Beta pytest>=6.2.0 :pypi:`pytest-run-subprocess` Pytest Plugin for running and testing subprocesses. Nov 12, 2022 5 - Production/Stable pytest :pypi:`pytest-runtime-types` Checks type annotations on runtime while running tests. Feb 09, 2023 N/A pytest :pypi:`pytest-runtime-xfail` Call runtime_xfail() to mark running test as xfail. Oct 10, 2025 5 - Production/Stable pytest>=5.0.0 @@ -1608,7 +1655,7 @@ This list contains 2004 plugins. :pypi:`pytest-sanity` Dec 07, 2020 N/A N/A :pypi:`pytest-sa-pg` May 14, 2019 N/A N/A :pypi:`pytest_sauce` pytest_sauce provides sane and helpful methods worked out in clearcode to run py.test tests with selenium/saucelabs Jul 14, 2014 3 - Alpha N/A - :pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. Jun 05, 2026 5 - Production/Stable N/A + :pypi:`pytest-sbase` SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools. Aug 10, 2026 5 - Production/Stable N/A :pypi:`pytest-scenario` pytest plugin for test scenarios Feb 06, 2017 3 - Alpha N/A :pypi:`pytest-scenario-files` A pytest plugin that generates unit test scenarios from data files. May 18, 2026 5 - Production/Stable pytest<10,>=7.4 :pypi:`pytest-scenarios` Add your description here Jan 03, 2026 N/A N/A @@ -1621,10 +1668,11 @@ This list contains 2004 plugins. :pypi:`pytest-select` A pytest plugin which allows to (de-)select tests from a file. Jan 18, 2019 3 - Alpha pytest (>=3.0) :pypi:`pytest-selenium` pytest plugin for Selenium Feb 01, 2024 5 - Production/Stable pytest>=6.0.0 :pypi:`pytest-selenium-auto` pytest plugin to automatically capture screenshots upon selenium webdriver events Nov 07, 2023 N/A pytest >= 7.0.0 - :pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. Jun 05, 2026 5 - Production/Stable N/A + :pypi:`pytest-seleniumbase` SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools. Aug 10, 2026 5 - Production/Stable N/A :pypi:`pytest-selenium-driver` A zero-boilerplate Selenium WebDriver fixture for pytest Mar 07, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-selenium-enhancer` pytest plugin for Selenium Apr 29, 2022 5 - Production/Stable N/A :pypi:`pytest-selenium-pdiff` A pytest package implementing perceptualdiff for Selenium tests. Apr 06, 2017 2 - Pre-Alpha N/A + :pypi:`pytest-self-healer` Auto-heal broken Playwright selectors using a local or cloud LLM Jun 26, 2026 N/A pytest>=7.0 :pypi:`pytest-selfie` A pytest plugin for selfie snapshot testing. Dec 16, 2024 N/A pytest>=8.0.0 :pypi:`pytest-semantic` A pytest plugin for testing LLM outputs using semantic similarity matching Nov 11, 2025 3 - Alpha pytest>=7.0.0 :pypi:`pytest-semantic-assert` Pytest plugin for semantic LLM output assertions using embeddings. Test meaning, not strings. Jan 09, 2026 3 - Alpha pytest>=7.0.0 @@ -1636,7 +1684,7 @@ This list contains 2004 plugins. :pypi:`pytest-server` test server exec cmd Sep 09, 2024 N/A N/A :pypi:`pytest-server-fixtures` Extensible server fixtures for py.test Nov 29, 2024 5 - Production/Stable pytest :pypi:`pytest-serverless` Automatically mocks resources from serverless.yml in pytest using moto. May 09, 2022 4 - Beta N/A - :pypi:`pytest-servers` pytest servers Dec 21, 2025 3 - Alpha pytest>=6.2 + :pypi:`pytest-servers` pytest servers Jun 26, 2026 3 - Alpha pytest>=6.2 :pypi:`pytest-service` Aug 06, 2024 5 - Production/Stable pytest>=6.0.0 :pypi:`pytest-services` Services plugin for pytest testing framework Jul 16, 2025 6 - Mature pytest :pypi:`pytest-session2file` pytest-session2file (aka: pytest-session_to_file for v0.1.0 - v0.1.2) is a py.test plugin for capturing and saving to file the stdout of py.test. Jan 26, 2021 3 - Alpha pytest @@ -1663,7 +1711,7 @@ This list contains 2004 plugins. :pypi:`pytest-simple-settings` simple-settings plugin for pytest Nov 17, 2020 4 - Beta pytest :pypi:`pytest-simplified` A PyTest plugin to simplify testing classes. Jan 19, 2026 4 - Beta pytest<9.0.0,>=8.3.5 :pypi:`pytest-single-file-logging` Allow for multiple processes to log to a single file May 05, 2016 4 - Beta pytest (>=2.8.1) - :pypi:`pytest-skill-engineering` The testing framework for skill engineering. Test tool descriptions, prompt templates, agent skills, and custom agents with real LLMs. AI analyzes results and tells you what to fix. Apr 30, 2026 3 - Alpha pytest>=9.0 + :pypi:`pytest-skill-engineering` The testing framework for skill engineering. Test tool descriptions, prompt templates, agent skills, and custom agents with real LLMs. AI analyzes results and tells you what to fix. Aug 06, 2026 4 - Beta pytest>=9.0 :pypi:`pytest-skip` A pytest plugin which allows to (de-)select or skip tests from a file. Sep 12, 2025 3 - Alpha pytest :pypi:`pytest-skip-markers` Pytest Salt Plugin Aug 09, 2024 5 - Production/Stable pytest>=7.1.0 :pypi:`pytest-skipper` A plugin that selects only tests with changes in execution path Mar 26, 2017 3 - Alpha pytest (>=3.0.6) @@ -1675,6 +1723,7 @@ This list contains 2004 plugins. :pypi:`pytest-slowest-first` Sort tests by their last duration, slowest first Dec 11, 2022 4 - Beta N/A :pypi:`pytest-slow-first` Prioritize running the slowest tests first. Jan 30, 2024 4 - Beta pytest >=3.5.0 :pypi:`pytest-slow-last` Run tests in order of execution time (faster tests first) Mar 16, 2025 4 - Beta pytest>=3.5.0 + :pypi:`pytest-slurm` pytest plugin for Slurm cluster testing using Docker Aug 05, 2026 4 - Beta pytest>=8.4.1 :pypi:`pytest-smartcollect` A plugin for collecting tests that touch changed code Oct 04, 2018 N/A pytest (>=3.5.0) :pypi:`pytest-smartcov` Smart coverage plugin for pytest. Sep 30, 2017 3 - Alpha N/A :pypi:`pytest-smart-debugger-backend` Backend server for Pytest Smart Debugger Sep 17, 2025 N/A N/A @@ -1705,11 +1754,13 @@ This list contains 2004 plugins. :pypi:`pytest-sorter` A simple plugin to first execute tests that historically failed more Apr 20, 2021 4 - Beta pytest (>=3.1.1) :pypi:`pytest-sosu` Unofficial PyTest plugin for Sauce Labs Aug 04, 2023 2 - Pre-Alpha pytest :pypi:`pytest-sourceorder` Test-ordering plugin for pytest Sep 01, 2021 4 - Beta pytest + :pypi:`pytest-sources` pytest plugin for running tests on multiple sources Aug 13, 2026 3 - Alpha pytest<10,>=8.0 :pypi:`pytest-spark` pytest plugin to run the tests with support of pyspark. May 21, 2025 4 - Beta pytest :pypi:`pytest-spawner` py.test plugin to spawn process and communicate with them. Jul 31, 2015 4 - Beta N/A :pypi:`pytest-spec` Library pytest-spec is a pytest plugin to display test execution output like a SPECIFICATION. May 17, 2026 N/A pytest; extra == "test" :pypi:`pytest-spec2md` Library pytest-spec2md is a pytest plugin to create a markdown specification while running pytest. Apr 10, 2024 N/A pytest>7.0 :pypi:`pytest-speed` Modern benchmarking library for python with pytest integration. Jan 22, 2023 3 - Alpha pytest>=7 + :pypi:`pytest-speedguard` A pytest plugin that passively tracks every test's wall-clock duration across runs and flags regressions and newly-slow tests. Jul 15, 2026 4 - Beta pytest>=7.0 :pypi:`pytest-sphinx` Doctest plugin for pytest with support for Sphinx-specific doctest-directives Jan 21, 2026 4 - Beta pytest>=8.1.1 :pypi:`pytest-spiratest` Exports unit tests as test runs in Spira (SpiraTest/Team/Plan) Feb 09, 2026 N/A pytest>=3.0.0 :pypi:`pytest-splinter` Splinter plugin for pytest testing framework Sep 09, 2022 6 - Mature pytest (>=3.0.0) @@ -1727,7 +1778,7 @@ This list contains 2004 plugins. :pypi:`pytest-splunk-env` pytest fixtures for interaction with Splunk Enterprise and Splunk Cloud Oct 22, 2020 N/A pytest (>=6.1.1,<7.0.0) :pypi:`pytest-sqitch` sqitch for pytest Apr 06, 2020 4 - Beta N/A :pypi:`pytest-sqlalchemy` pytest plugin with sqlalchemy related fixtures Apr 19, 2025 3 - Alpha pytest>=8.0 - :pypi:`pytest-sqlalchemy-alembic` Pytest plugin to manage databases, sessions and migrations for sqlalchemy-based projects Jun 05, 2026 N/A pytest>=8.4.0 + :pypi:`pytest-sqlalchemy-alembic` Pytest plugin to manage databases, sessions and migrations for sqlalchemy-based projects Jun 24, 2026 N/A pytest>=8.4 :pypi:`pytest-sqlalchemy-mock` pytest sqlalchemy plugin for mock Aug 10, 2024 3 - Alpha pytest>=7.0.0 :pypi:`pytest-sqlalchemy-session` A pytest plugin for preserving test isolation that use SQLAlchemy. May 19, 2023 4 - Beta pytest (>=7.0) :pypi:`pytest-sql-bigquery` Yet another SQL-testing framework for BigQuery provided by pytest plugin Dec 19, 2019 N/A pytest @@ -1755,6 +1806,7 @@ This list contains 2004 plugins. :pypi:`pytest-stoq` A plugin to pytest stoq Feb 09, 2021 4 - Beta N/A :pypi:`pytest-storage` Pytest plugin to store test artifacts Sep 12, 2025 3 - Alpha pytest>=8.4.2 :pypi:`pytest-store` Pytest plugin to store values from test runs Jul 30, 2025 3 - Alpha pytest>=7.0.0 + :pypi:`pytest-strawberry` Pytest plugin for Strawberry GraphQL Aug 15, 2026 3 - Alpha pytest<10.0,>=8.0 :pypi:`pytest-streaming` Plugin for testing pubsub, pulsar, and kafka systems with pytest locally and in ci/cd Jan 14, 2026 5 - Production/Stable pytest>=8.3.5 :pypi:`pytest-stress` A Pytest plugin that allows you to loop tests for a user defined amount of time. Dec 07, 2019 4 - Beta pytest (>=3.6.0) :pypi:`pytest-structlog` Structured logging assertions Sep 10, 2025 N/A pytest @@ -1764,7 +1816,9 @@ This list contains 2004 plugins. :pypi:`pytest-study` A pytest plugin to organize long run tests (named studies) without interfering the regular tests Sep 26, 2017 3 - Alpha pytest (>=2.0) :pypi:`pytest-subinterpreter` Run pytest in a subinterpreter Nov 25, 2023 N/A pytest>=7.0.0 :pypi:`pytest-subket` Pytest Plugin to disable socket calls during tests Jul 31, 2025 4 - Beta N/A + :pypi:`pytest-subproc` A pytest plugin to run marked tests in a subprocess Jul 18, 2026 N/A pytest>=7.0.0 :pypi:`pytest-subprocess` A plugin to fake subprocess for pytest May 10, 2026 5 - Production/Stable pytest>=4.0.0 + :pypi:`pytest-subset` pytest subset plugin for subsetting parametrizes tests. Aug 14, 2026 N/A pytest>=7 :pypi:`pytest-subtesthack` A hack to explicitly set up and tear down fixtures. Jul 16, 2022 N/A N/A :pypi:`pytest-subtests` unittest subTest() support and subtests fixture Oct 20, 2025 4 - Beta pytest>=7.4 :pypi:`pytest-subunit` pytest-subunit is a plugin for py.test which outputs testsresult in subunit format. Sep 17, 2023 N/A pytest (>=2.3) @@ -1774,8 +1828,9 @@ This list contains 2004 plugins. :pypi:`pytest-supercov` Pytest plugin for measuring explicit test-file to source-file coverage Jul 02, 2023 N/A N/A :pypi:`pytest-svn` SVN repository fixture for py.test Oct 17, 2024 5 - Production/Stable pytest :pypi:`pytest-swag` Generate OpenAPI documentation from pytest tests Apr 14, 2026 3 - Alpha pytest>=7.0 - :pypi:`pytest-swarm` Run parametrized test variants in parallel threads — with correct fixture lifecycle May 29, 2026 N/A pytest>=7.0 + :pypi:`pytest-swarm` Run parametrized test variants in parallel threads — with correct fixture lifecycle Aug 12, 2026 N/A pytest>=7.0 :pypi:`pytest-symbols` pytest-symbols is a pytest plugin that adds support for passing test environment symbols into pytest tests. Nov 20, 2017 3 - Alpha N/A + :pypi:`pytest-synapse` A pytest plugin for OpenAPI contract test coverage Jun 11, 2026 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-system-statistics` Pytest plugin to track and report system usage statistics Feb 16, 2022 5 - Production/Stable pytest (>=6.0.0) :pypi:`pytest-system-test-plugin` Pyst - Pytest System-Test Plugin Feb 03, 2022 N/A N/A :pypi:`pytest_tagging` a pytest plugin to tag tests Nov 08, 2024 N/A pytest>=7.1.3 @@ -1797,31 +1852,35 @@ This list contains 2004 plugins. :pypi:`pytest-terra-fixt` Terraform and Terragrunt fixtures for pytest Sep 15, 2022 N/A pytest (==6.2.5) :pypi:`pytest-terraform` A pytest plugin for using terraform fixtures May 21, 2024 N/A pytest>=6.0 :pypi:`pytest-terraform-fixture` generate terraform resources to use with pytest Nov 14, 2018 4 - Beta N/A + :pypi:`pytest-testaferro` pytest plugin for DOS-based CppUTest unit testing, run in a reliquary guest Jul 30, 2026 3 - Alpha pytest :pypi:`pytest-test-analyzer` A powerful tool for analyzing pytest test files and generating detailed reports Jun 14, 2025 4 - Beta N/A :pypi:`pytest-testbook` Enables pytest to execute your Jupyter Notebook as a test May 29, 2026 N/A pytest>=5.4.0 :pypi:`pytest-test-categories` A pytest plugin to enforce test timing constraints and size distributions. Mar 04, 2026 5 - Production/Stable pytest>=8.4.2 :pypi:`pytest-testconfig` Test configuration plugin for pytest. Jan 11, 2020 4 - Beta pytest (>=3.5.0) - :pypi:`pytest-testcontainers` Named pytest fixtures and a maker convention on top of testcontainers-python. May 08, 2026 4 - Beta pytest<9,>=7.4 + :pypi:`pytest-testcontainers` Named pytest fixtures and a maker convention on top of testcontainers-python. Aug 07, 2026 4 - Beta pytest<10,>=7.4 :pypi:`pytest-testcontainers-compose` Pytest plugin for Docker Compose Feb 11, 2026 N/A N/A - :pypi:`pytest-testcontainers-django` Bridge between pytest-testcontainers and pytest-django: starts the DB container before Django imports settings. Jun 01, 2026 4 - Beta pytest<9,>=7.4 + :pypi:`pytest-testcontainers-django` Bridge between pytest-testcontainers and pytest-django: starts the DB container before Django imports settings. Aug 07, 2026 4 - Beta pytest<10,>=7.4 :pypi:`pytest-testdata` Get and load testdata in pytest projects Aug 30, 2024 N/A pytest :pypi:`pytest-testdirectory` A py.test plugin providing temporary directories in unit tests. May 02, 2023 5 - Production/Stable pytest :pypi:`pytest-testdox` A testdox format reporter for pytest Jul 22, 2023 5 - Production/Stable pytest (>=4.6.0) :pypi:`pytest-test-grouping` A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups. Feb 01, 2023 5 - Production/Stable pytest (>=2.5) :pypi:`pytest-test-groups` A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups. May 08, 2025 5 - Production/Stable pytest>=7.0.0 - :pypi:`pytest-testinel` Testinel’s pytest plugin captures structured test execution data directly from pytest and sends it to Testinel, where your test results become searchable, comparable, and actually useful. May 26, 2026 4 - Beta pytest>=7 + :pypi:`pytest-testinel` Testinel’s pytest plugin captures structured Selenium and Playwright test execution data directly from pytest and sends it to Testinel, where your test results become searchable, comparable, and actually useful. Jul 17, 2026 4 - Beta pytest>=7 :pypi:`pytest-testinfra` Test infrastructures Mar 30, 2025 5 - Production/Stable pytest>=6 + :pypi:`pytest-testinfra-exporter` Pytest plugin that reports testinfra results to MariaDB or PostgreSQL backends and visualizes on Grafana. Jul 16, 2026 N/A pytest>=7.0 :pypi:`pytest-testinfra-jpic` Test infrastructures Sep 21, 2023 5 - Production/Stable N/A :pypi:`pytest-testinfra-winrm-transport` Test infrastructures Sep 21, 2023 5 - Production/Stable N/A :pypi:`pytest-testit-parametrize` A pytest plugin for uploading parameterized tests parameters into TMS TestIT Dec 04, 2024 4 - Beta pytest>=8.3.3 :pypi:`pytest-testlink-adaptor` pytest reporting plugin for testlink Dec 20, 2018 4 - Beta pytest (>=2.6) + :pypi:`pytest-testmap` Pytest plugin for testmap: annotate tests and collect the validation matrix. Jul 03, 2026 N/A pytest>=9.1.1 :pypi:`pytest-testmon` selects tests affected by changed files and methods Dec 01, 2025 4 - Beta pytest<10,>=5 :pypi:`pytest-testmon-dev` selects tests affected by changed files and methods Mar 30, 2023 4 - Beta pytest (<8,>=5) :pypi:`pytest-testmon-oc` nOly selects tests affected by changed files and methods Jun 01, 2022 4 - Beta pytest (<8,>=5) :pypi:`pytest-testmon-skip-libraries` selects tests affected by changed files and methods Mar 03, 2023 4 - Beta pytest (<8,>=5) :pypi:`pytest-testobject` Plugin to use TestObject Suites with Pytest Sep 24, 2019 4 - Beta pytest (>=3.1.1) - :pypi:`pytest-test-observer` A pytest plugin for observing test execution events. May 23, 2026 3 - Alpha pytest>=7.0 + :pypi:`pytest-test-observer` A pytest plugin for observing test execution events. Jun 13, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-testpluggy` set your encoding Jan 07, 2022 N/A pytest + :pypi:`pytest-test-radar` A pytest plugin to send test statistics to Test Radar. Aug 08, 2026 N/A N/A :pypi:`pytest-testrail` A pytest plugin for creating TestRail runs and adding results Jan 25, 2026 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-testrail2` A pytest plugin to upload results to TestRail. Feb 10, 2023 N/A pytest (<8.0,>=7.2.0) :pypi:`pytest-testrail-api` TestRail Api Python Client Mar 17, 2025 N/A pytest @@ -1850,8 +1909,10 @@ This list contains 2004 plugins. :pypi:`pytest-thread` Jul 07, 2023 N/A N/A :pypi:`pytest-threadleak` Detects thread leaks Jul 03, 2022 4 - Beta pytest (>=3.1.1) :pypi:`pytest-threadpool` Parallel test execution using threads — true parallelism on free-threaded Python, concurrent I/O on standard builds Mar 19, 2026 4 - Beta pytest<=9.0.2,>=9.0.0 + :pypi:`pytest-tia` Test Impact Analysis for pytest — run only the tests your changes affect Jun 20, 2026 N/A pytest>=7 :pypi:`pytest-tick` Ticking on tests Aug 31, 2021 5 - Production/Stable pytest (>=6.2.5,<7.0.0) - :pypi:`pytest_time` Dec 01, 2025 3 - Alpha pytest + :pypi:`pytest-tidy` A static, AST-based test-smell linter for pytest suites. Jul 15, 2026 4 - Beta pytest>=7.0; extra == "dev" + :pypi:`pytest-time` Jul 08, 2026 4 - Beta pytest :pypi:`pytest-timeassert-ethan` execution duration Dec 25, 2023 N/A pytest :pypi:`pytest-timeit` A pytest plugin to time test function runs Oct 13, 2016 4 - Beta N/A :pypi:`pytest-timeout` pytest plugin to abort hanging tests May 05, 2025 5 - Production/Stable pytest>=7.0.0 @@ -1882,6 +1943,7 @@ This list contains 2004 plugins. :pypi:`pytest-tornado5` A py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications. Nov 16, 2018 5 - Production/Stable pytest (>=3.6) :pypi:`pytest-tornado-yen3` A py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications. Oct 15, 2018 5 - Production/Stable N/A :pypi:`pytest-tornasync` py.test plugin for testing Python 3.5+ Tornado code Jul 15, 2019 3 - Alpha pytest (>=3.0) + :pypi:`pytest-tqdm` A single aggregated tqdm progress bar for pytest, xdist-aware, with failures printed above the bar. Interactive-only. Jul 13, 2026 4 - Beta pytest>=8.0 :pypi:`pytest-trace` Save OpenTelemetry spans generated during testing Jun 19, 2022 N/A pytest (>=4.6) :pypi:`pytest-track` Feb 26, 2021 3 - Alpha pytest (>=3.0) :pypi:`pytest-translate` pytest terminal output in your language — 134 languages supported, zero configuration Apr 08, 2026 5 - Production/Stable pytest>=7.0.0 @@ -1889,20 +1951,22 @@ This list contains 2004 plugins. :pypi:`pytest-travis-fold` Folds captured output sections in Travis CI build log Nov 29, 2017 4 - Beta pytest (>=2.6.0) :pypi:`pytest-trello` Plugin for py.test that integrates trello using markers Nov 20, 2015 5 - Production/Stable N/A :pypi:`pytest-trepan` Pytest plugin for trepan debugger. Sep 11, 2025 5 - Production/Stable pytest>=4.0.0 + :pypi:`pytest-triage` Structured failure triage for pytest, with optional LLM verdicts. Jul 31, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-trialtemp` py.test plugin for using the same _trial_temp working directory as trial Jun 08, 2015 N/A N/A :pypi:`pytest-trio` Pytest plugin for trio Nov 01, 2022 N/A pytest (>=7.2.0) - :pypi:`pytest-tripwire` Full-certainty test mocking: every call recorded and verified May 01, 2026 3 - Alpha pytest>=7.4.0; extra == "dev" + :pypi:`pytest-tripwire` Full-certainty test mocking: every call recorded and verified Aug 07, 2026 3 - Alpha pytest>=7.4.0; extra == "dev" :pypi:`pytest-trytond` Pytest plugin for the Tryton server framework Nov 04, 2022 4 - Beta pytest (>=5) :pypi:`pytest-tspwplib` A simple plugin to use with tspwplib Jan 08, 2021 4 - Beta pytest (>=3.5.0) :pypi:`pytest-tst` Customize pytest options, output and exit code to make it compatible with tst Apr 27, 2022 N/A pytest (>=5.0.0) :pypi:`pytest-tstcls` Test Class Base Mar 23, 2020 5 - Production/Stable N/A :pypi:`pytest-tui` Text User Interface (TUI) and HTML report for Pytest test runs Dec 08, 2023 4 - Beta N/A - :pypi:`pytest-tui-run` TUI runner for \`pytest\` tests Jun 05, 2026 N/A pytest + :pypi:`pytest-tui-run` TUI for running pytest Jun 12, 2026 N/A pytest :pypi:`pytest-tui-runner` Textual-based terminal UI for running pytest tests Dec 12, 2025 N/A pytest<=9.0.1,>=7.4 :pypi:`pytest-tuitest` pytest plugin for testing TUI and regular command-line applications. Apr 11, 2025 N/A pytest>=7.4.0 :pypi:`pytest-tutorials` Mar 11, 2023 N/A N/A :pypi:`pytest-twilio-conversations-client-mock` Aug 02, 2022 N/A N/A :pypi:`pytest-twisted` A twisted plugin for pytest. Sep 10, 2024 5 - Production/Stable pytest>=2.3 + :pypi:`pytest-txtar` Txtar-driven contract testing for command-line tools: sandboxed runs, normalized assertions, golden update. Aug 12, 2026 N/A pytest>=8 :pypi:`pytest-ty` A pytest plugin to run the ty type checker Apr 24, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-typechecker` Run type checkers on specified test files Feb 04, 2022 N/A pytest (>=6.2.5,<7.0.0) :pypi:`pytest-typed-schema-shot` Pytest plugin for automatic JSON Schema generation and validation from examples Jun 14, 2025 N/A pytest @@ -1913,8 +1977,10 @@ This list contains 2004 plugins. :pypi:`pytest-typing-runner` Pytest plugin to make it easier to run and check python code against static type checkers May 31, 2025 N/A N/A :pypi:`pytest-tytest` Typhoon HIL plugin for pytest May 25, 2020 4 - Beta pytest (>=5.4.2) :pypi:`pytest-tzshift` A Pytest plugin that transparently re-runs tests under a matrix of timezones and locales. Jun 25, 2025 4 - Beta pytest>=7.0 + :pypi:`pytest-u2device` Pytest plugin for exposing uiautomator2 Android devices as fixtures Jun 10, 2026 N/A pytest>=9.0.3 :pypi:`pytest-ubersmith` Easily mock calls to ubersmith at the \`requests\` level. Apr 13, 2015 N/A N/A :pypi:`pytest-ui` Text User Interface for running python tests Jul 05, 2021 4 - Beta pytest + :pypi:`pytest-uia` Windows GUI acceptance testing for pytest: find and drive elements through the UI Automation accessibility tree, with OCR only as a last resort for surfaces that have none. Jul 29, 2026 3 - Alpha pytest>=7.4 :pypi:`pytest-ui-failed-screenshot` UI自动测试失败时自动截图,并将截图加入到测试报告中 Dec 06, 2022 N/A N/A :pypi:`pytest-ui-failed-screenshot-allure` UI自动测试失败时自动截图,并将截图加入到Allure测试报告中 Dec 06, 2022 N/A N/A :pypi:`pytest-uncollect-if` A plugin to uncollect pytests tests rather than using skipif Dec 26, 2024 4 - Beta pytest>=6.2.0 @@ -1923,9 +1989,10 @@ This list contains 2004 plugins. :pypi:`pytest-unique` Pytest fixture to generate unique values. Mar 27, 2026 N/A pytest>=9.0.0 :pypi:`pytest-unittest-filter` A pytest plugin for filtering unittest-based test classes Jan 12, 2019 4 - Beta pytest (>=3.1.0) :pypi:`pytest-unittest-id-runner` A pytest plugin to run tests using unittest-style test IDs Feb 09, 2025 N/A pytest>=6.0.0 + :pypi:`pytest-unity` A pytest plugin for running Unity C tests Aug 03, 2026 N/A pytest>=8.4.2 :pypi:`pytest-unmagic` Pytest fixtures with conventional import semantics Jun 04, 2026 5 - Production/Stable pytest :pypi:`pytest-unmarked` Run only unmarked tests Aug 27, 2019 5 - Production/Stable N/A - :pypi:`pytest-unordered` Test equality of unordered collections in pytest Jun 03, 2025 4 - Beta pytest>=7.0.0 + :pypi:`pytest-unordered` Test equality of unordered collections in pytest Jun 16, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-unstable` Set a test as unstable to return 0 even if it failed Sep 27, 2022 4 - Beta N/A :pypi:`pytest-unused-fixtures` A pytest plugin to list unused fixtures after a test run. Dec 23, 2025 4 - Beta pytest>7.3.2 :pypi:`pytest-unused-port` pytest fixture finding an unused local port Oct 22, 2025 N/A pytest @@ -1935,6 +2002,8 @@ This list contains 2004 plugins. :pypi:`pytest-uuid` A pytest plugin for mocking uuid.uuid4() calls Feb 27, 2026 4 - Beta pytest>=7.0.0 :pypi:`pytest-vagrant` A py.test plugin providing access to vagrant. Sep 07, 2021 5 - Production/Stable pytest :pypi:`pytest-valgrind` May 19, 2021 N/A N/A + :pypi:`pytest-var` pytest plugin for Markdown-native BDD Jul 08, 2026 N/A pytest>=8 + :pypi:`pytest-varar` pytest plugin for Markdown-native BDD Jul 23, 2026 N/A pytest>=8 :pypi:`pytest-variables` pytest plugin for providing variables to tests/fixtures Feb 01, 2024 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-variant` Variant support for Pytest Jun 06, 2022 N/A N/A :pypi:`pytest-vcr` Plugin for managing VCR.py cassettes Apr 26, 2019 5 - Production/Stable pytest (>=3.6.0) @@ -1948,9 +2017,10 @@ This list contains 2004 plugins. :pypi:`pytest-vigil` A pytest plugin for enhanced test reliability and monitoring Apr 07, 2026 5 - Production/Stable pytest>=9.0.0 :pypi:`pytest-vimqf` A simple pytest plugin that will shrink pytest output when specified, to fit vim quickfix window. Feb 08, 2021 4 - Beta pytest (>=6.2.2,<7.0.0) :pypi:`pytest-virtualenv` Virtualenv fixture for py.test Nov 29, 2024 5 - Production/Stable pytest - :pypi:`pytest-visionspec` Pytest plugin that auto-reports test results with screenshots to VisionSpec Jun 02, 2026 N/A pytest>=7.0 + :pypi:`pytest-visionspec` Pytest plugin that auto-reports test results with screenshots to VisionSpec Jul 16, 2026 N/A pytest>=7.0 :pypi:`pytest-visual` Nov 28, 2024 4 - Beta pytest>=7.0.0 :pypi:`pytest-vitro` A pytest plugin to leverage the Vitro framework for test automation. May 25, 2026 N/A pytest>=8 + :pypi:`pytest-vivarium` Shared pytest configuration and fixtures for Vivarium projects. Jul 23, 2026 N/A N/A :pypi:`pytest-vnc` VNC client for Pytest Nov 06, 2023 N/A pytest :pypi:`pytest-voluptuous` Pytest plugin for asserting data against voluptuous schema. Jun 09, 2020 N/A pytest :pypi:`pytest-vscodedebug` A pytest plugin to easily enable debugging tests within Visual Studio Code Dec 04, 2020 4 - Beta N/A @@ -1979,6 +2049,7 @@ This list contains 2004 plugins. :pypi:`pytest-when` Utility which makes mocking more readable and controllable Sep 25, 2025 N/A pytest>=7.3.1 :pypi:`pytest-whirlwind` Testing Tornado. Jun 12, 2020 N/A N/A :pypi:`pytest-wholenodeid` pytest addon for displaying the whole node id for failures Aug 26, 2015 4 - Beta pytest (>=2.0) + :pypi:`pytest-why` A pytest plugin that explains failing tests like a senior engineer. Jun 14, 2026 3 - Alpha pytest>=7 :pypi:`pytest-win32consoletitle` Pytest progress in console title (Win32 only) Aug 08, 2021 N/A N/A :pypi:`pytest-winnotify` Windows tray notifications for py.test results. Apr 22, 2016 N/A N/A :pypi:`pytest-wirefracture` Pytest fixtures for wirefracture Dec 31, 2025 N/A N/A @@ -1987,6 +2058,7 @@ This list contains 2004 plugins. :pypi:`pytest-with-docker` pytest with docker helpers. Nov 09, 2021 N/A pytest :pypi:`pytest-workaround-12888` forces an import of readline early in the process to work around pytest bug #12888 Jan 15, 2025 N/A N/A :pypi:`pytest-workflow` A pytest plugin for configuring workflow/pipeline tests using YAML files Mar 18, 2024 5 - Production/Stable pytest >=7.0.0 + :pypi:`pytest-xa11y` pytest fixtures, capability markers and failure diagnostics for desktop UI testing with xa11y Aug 07, 2026 3 - Alpha pytest>=7.0 :pypi:`pytest-xdist` pytest xdist plugin for distributed testing, most importantly across multiple CPUs Jul 01, 2025 5 - Production/Stable pytest>=7.0.0 :pypi:`pytest-xdist-debug-for-graingert` pytest xdist plugin for distributed testing and loop-on-failing modes Jul 24, 2019 5 - Production/Stable pytest (>=4.4.0) :pypi:`pytest-xdist-forked` forked from pytest-xdist Feb 10, 2020 5 - Production/Stable pytest (>=4.4.0) @@ -2093,7 +2165,7 @@ This list contains 2004 plugins. A pytest fixture for testing abstract interface implementations :pypi:`pytest-accept` - *last release*: Mar 01, 2026, + *last release*: Jun 11, 2026, *status*: N/A, *requires*: pytest>=7 @@ -2114,7 +2186,7 @@ This list contains 2004 plugins. pytest plugin for generating test execution results within Jira Test Management (tm4j) :pypi:`pytest-adbc-replay` - *last release*: Mar 13, 2026, + *last release*: Jun 23, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=8.0 @@ -2142,7 +2214,7 @@ This list contains 2004 plugins. Pytest plugin for writing Azure Data Factory integration tests :pypi:`pytest-adk` - *last release*: Jun 06, 2026, + *last release*: Aug 11, 2026, *status*: 1 - Planning, *requires*: pytest>=8; extra == "dev" @@ -2176,6 +2248,13 @@ This list contains 2004 plugins. Service that exposes a REST API that can be used to interract remotely with Pytest. It is shipped with a dashboard that enables running tests in a more convenient way. + :pypi:`pytest-agent-check` + *last release*: Jul 30, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=8.0 + + A pytest plugin for evaluating and testing AI agents — record, replay, and assert agent behavior + :pypi:`pytest-agentcontract` *last release*: Feb 18, 2026, *status*: 3 - Alpha, @@ -2191,7 +2270,7 @@ This list contains 2004 plugins. A Pytest plugin to generate a Markdown report for AI Agents :pypi:`pytest-agent-eval` - *last release*: Apr 30, 2026, + *last release*: Jul 21, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.4 @@ -2240,12 +2319,19 @@ This list contains 2004 plugins. pytest-compatible test harness for AI agents — deterministic record & replay for Anthropic Claude :pypi:`pytest-agents` - *last release*: Feb 20, 2026, + *last release*: Jul 14, 2026, *status*: 3 - Alpha, *requires*: pytest>=8.0.0 Pytest plugin framework with AI agent capabilities for multi-agent testing + :pypi:`pytest-agent-saga` + *last release*: Aug 15, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0.0 + + Pytest plugin for agent-saga: deterministic replay verification, chaos injection, and WAL fixtures. + :pypi:`pytest-aggreport` *last release*: Mar 07, 2021, *status*: 4 - Beta, @@ -2295,8 +2381,15 @@ This list contains 2004 plugins. + :pypi:`pytest-aiographql-server` + *last release*: Jul 17, 2026, + *status*: N/A, + *requires*: N/A + + Reserved name placeholder. No functionality. + :pypi:`pytest-aiohttp` - *last release*: Jan 23, 2025, + *last release*: Jun 07, 2026, *status*: 4 - Beta, *requires*: pytest>=6.1.0 @@ -2351,6 +2444,13 @@ This list contains 2004 plugins. pytest support for airflow. + :pypi:`pytest-airflow-in-a-box` + *last release*: Aug 15, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=8 + + Pytest infrastructure for testing Apache Airflow DAGs without a live deployment + :pypi:`pytest-airflow-utils` *last release*: Nov 15, 2021, *status*: N/A, @@ -2456,6 +2556,13 @@ This list contains 2004 plugins. Fixture to automate running Amaranth simulations + :pypi:`pytest-amgi` + *last release*: Jul 15, 2026, + *status*: N/A, + *requires*: pytest>=9.0.3 + + Pytest helpers for AMGI applications + :pypi:`pytest-ampel-core` *last release*: Dec 17, 2025, *status*: 4 - Beta, @@ -2484,6 +2591,13 @@ This list contains 2004 plugins. A pytest plugin for testing Anki add-ons + :pypi:`pytest-anki2` + *last release*: Jun 10, 2026, + *status*: 5 - Production/Stable, + *requires*: pytest>=7.0 + + A pytest plugin for testing Anki add-ons + :pypi:`pytest-annotate` *last release*: Jun 07, 2022, *status*: 3 - Alpha, @@ -2499,7 +2613,7 @@ This list contains 2004 plugins. Pytest plugin to allow use of Annotated in tests to resolve fixtures :pypi:`pytest-ansible` - *last release*: Apr 01, 2026, + *last release*: Aug 12, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=6 @@ -2583,16 +2697,16 @@ This list contains 2004 plugins. pytest plugin for automated API contract testing from OpenAPI specs :pypi:`pytest-api-core` - *last release*: Jun 01, 2026, + *last release*: Jul 05, 2026, *status*: 5 - Production/Stable, - *requires*: pytest>=7.4 + *requires*: pytest<10.0,>=7.4 Pytest API automation framework with custom HTML reporting, reusable fixtures, and fluent assertions :pypi:`pytest-api-cov` - *last release*: May 04, 2026, - *status*: N/A, - *requires*: pytest>=6.0.0 + *last release*: Jul 08, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0.0 Pytest Plugin to provide API Coverage statistics for Python Web Frameworks @@ -2603,19 +2717,12 @@ This list contains 2004 plugins. Pytest plugin for API test coverage analysis - :pypi:`pytest-api-framework` - *last release*: Jun 22, 2025, + :pypi:`pytest-api-gateway` + *last release*: Jun 26, 2026, *status*: N/A, - *requires*: pytest==7.2.2 - - pytest framework - - :pypi:`pytest-api-framework-alpha` - *last release*: Apr 14, 2026, - *status*: N/A, - *requires*: pytest==7.2.2 - + *requires*: pytest>=9.0.3 + A simple pytest plugin to let you interact with your pytest suite using http request :pypi:`pytest-api-kit` *last release*: Apr 23, 2026, @@ -2667,7 +2774,7 @@ This list contains 2004 plugins. Pytest plugin for Appium device scheduling and driver lifecycle management. :pypi:`pytest-approval` - *last release*: May 05, 2026, + *last release*: Jun 23, 2026, *status*: N/A, *requires*: pytest>=9.0.3 @@ -2702,7 +2809,7 @@ This list contains 2004 plugins. pyest results colection plugin :pypi:`pytest-argus-reporter` - *last release*: May 26, 2026, + *last release*: Aug 11, 2026, *status*: 4 - Beta, *requires*: pytest~=9.0.0; extra == "dev" @@ -2716,7 +2823,7 @@ This list contains 2004 plugins. A plugin that provides a running Argus API server for tests :pypi:`pytest-arrakis` - *last release*: Jun 02, 2026, + *last release*: Jul 24, 2026, *status*: 3 - Alpha, *requires*: pytest @@ -2807,7 +2914,7 @@ This list contains 2004 plugins. Useful assertion utilities for use with pytest :pypi:`pytest-assist` - *last release*: Oct 29, 2025, + *last release*: Jul 24, 2026, *status*: 4 - Beta, *requires*: pytest @@ -2842,9 +2949,9 @@ This list contains 2004 plugins. PyTest plugin for docker-based testing on database images :pypi:`pytest-astropy` - *last release*: Sep 26, 2023, + *last release*: Aug 03, 2026, *status*: 5 - Production/Stable, - *requires*: pytest >=4.6 + *requires*: pytest>=4.6 Meta-package containing dependencies for testing @@ -2981,6 +3088,13 @@ This list contains 2004 plugins. Austin plugin for pytest + :pypi:`pytest-authz-matrix` + *last release*: Aug 15, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.4 + + Authorization contract testing for Python web APIs + :pypi:`pytest-auto-api2-cli` *last release*: Mar 26, 2026, *status*: N/A, @@ -3038,7 +3152,7 @@ This list contains 2004 plugins. pytest plugin: avoid repeating arguments in parametrize :pypi:`pytest-autoprofile` - *last release*: Mar 13, 2026, + *last release*: Jul 31, 2026, *status*: 4 - Beta, *requires*: pytest>=7.0 @@ -3143,11 +3257,11 @@ This list contains 2004 plugins. Formatting PyTest output for Azure Pipelines UI :pypi:`pytest-balance` - *last release*: Apr 09, 2026, - *status*: 3 - Alpha, + *last release*: Jun 15, 2026, + *status*: 4 - Beta, *requires*: pytest>=8 - Intelligent test distribution for pytest based on actual execution times, not file count + Load-balanced test sharding for pytest, by real execution time :pypi:`pytest-bandit` *last release*: Feb 23, 2021, @@ -3290,7 +3404,7 @@ This list contains 2004 plugins. Pytest plugin that applies @beartype to every collected test function. :pypi:`pytest-bec-e2e` - *last release*: Jun 05, 2026, + *last release*: Aug 13, 2026, *status*: 3 - Alpha, *requires*: pytest @@ -3331,6 +3445,13 @@ This list contains 2004 plugins. A \`\`pytest\`\` fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer. + :pypi:`pytest-benchmem` + *last release*: Aug 15, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7 + + Memory benchmarking for Python, on the pytest-benchmark suites you already time: a memray peak-memory pass on the same tests, plus param-driven plots and cross-version sweeps. + :pypi:`pytest-better-datadir` *last release*: Mar 13, 2023, *status*: N/A, @@ -3444,7 +3565,7 @@ This list contains 2004 plugins. A pytest plugin that adds a \`blue\` fixture for printing stuff in blue. :pypi:`pytest-bluezenv` - *last release*: May 12, 2026, + *last release*: Jun 13, 2026, *status*: 3 - Alpha, *requires*: pytest>=8 @@ -3800,8 +3921,15 @@ This list contains 2004 plugins. Pytest plugin with server for catching HTTP requests. + :pypi:`pytest-catnip` + *last release*: Aug 11, 2026, + *status*: 4 - Beta, + *requires*: pytest>=9.0.3 + + pytest plugin for testing pipecat voicebots declaratively + :pypi:`pytest-cdist` - *last release*: Jan 08, 2026, + *last release*: Jul 07, 2026, *status*: N/A, *requires*: pytest>=8 @@ -3885,14 +4013,14 @@ This list contains 2004 plugins. turn . into √,turn F into x :pypi:`pytest-chdir` - *last release*: Jan 28, 2020, + *last release*: Jul 10, 2026, *status*: N/A, - *requires*: pytest (>=5.0.0,<6.0.0) + *requires*: pytest<10.0.0,>=9.1.0 A pytest fixture for changing current working directory :pypi:`pytest-check` - *last release*: Mar 22, 2026, + *last release*: Aug 01, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=7.0.0 @@ -4017,6 +4145,13 @@ This list contains 2004 plugins. py.test plugin for CircleCI + :pypi:`pytest-circleci-coverage` + *last release*: Aug 12, 2026, + *status*: 4 - Beta, + *requires*: N/A + + Pytest plugin that works with pytest-cov to generate coverage data for CircleCI's Smarter Testing + :pypi:`pytest-circleci-parallelized` *last release*: Oct 20, 2022, *status*: N/A, @@ -4116,7 +4251,7 @@ This list contains 2004 plugins. A set of pytest fixtures to help with integration testing with Clerk. :pypi:`pytest-clerk-mock` - *last release*: Apr 01, 2026, + *last release*: Jul 06, 2026, *status*: N/A, *requires*: N/A @@ -4242,16 +4377,16 @@ This list contains 2004 plugins. Pytest plugin that enables using pytest as the regression manager for running pyuvm tests. :pypi:`pytest-codeblock` - *last release*: Apr 07, 2026, + *last release*: Jun 09, 2026, *status*: 4 - Beta, *requires*: pytest Pytest plugin to collect and test code blocks in reStructuredText and Markdown files. - :pypi:`pytest_codeblocks` - *last release*: Sep 17, 2023, + :pypi:`pytest-codeblocks` + *last release*: Jun 15, 2026, *status*: 5 - Production/Stable, - *requires*: pytest >= 7.0.0 + *requires*: pytest>=7.0.0 Test code blocks in your READMEs @@ -4458,6 +4593,13 @@ This list contains 2004 plugins. Pytest fixtures for writing container based tests + :pypi:`pytest-container-structure-test` + *last release*: Jul 27, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7 + + Run container-structure-test from pytest! + :pypi:`pytest-contextfixture` *last release*: Mar 12, 2013, *status*: 4 - Beta, @@ -4480,7 +4622,7 @@ This list contains 2004 plugins. A pytest plugin to run tests continuously until failure or interruption. :pypi:`pytest-conversational` - *last release*: May 23, 2026, + *last release*: Jul 25, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.0; extra == "dev" @@ -4871,6 +5013,13 @@ This list contains 2004 plugins. Fixtures for pytest allowing test functions/methods to easily retrieve test resources from the local filesystem. + :pypi:`pytest-datadriver` + *last release*: Jul 23, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + A pytest plugin for data-driven testing with YAML/JSON external data files + :pypi:`pytest-data-extractor` *last release*: Jul 19, 2022, *status*: N/A, @@ -5012,7 +5161,7 @@ This list contains 2004 plugins. Pytest extension for dbt. :pypi:`pytest-dbt-duckdb` - *last release*: Apr 28, 2026, + *last release*: Jun 20, 2026, *status*: 4 - Beta, *requires*: pytest>=8.3.4 @@ -5088,6 +5237,13 @@ This list contains 2004 plugins. Run only tests impacted by your code changes (delta-based selection) for pytest. + :pypi:`pytest-deltatest` + *last release*: Jul 12, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.0.0 + + Run only the tests affected by your code changes. + :pypi:`pytest-demo-plugin` *last release*: May 15, 2021, *status*: N/A, @@ -5138,9 +5294,9 @@ This list contains 2004 plugins. A simple plugin to use with pytest :pypi:`pytest-describe` - *last release*: Dec 12, 2025, + *last release*: Jun 12, 2026, *status*: 5 - Production/Stable, - *requires*: pytest<10,>=6 + *requires*: pytest<10,>=7 Describe-style plugin for pytest @@ -5166,11 +5322,11 @@ This list contains 2004 plugins. A plugin to deselect pytests tests rather than using skipif :pypi:`pytest-devant-cloud` - *last release*: May 11, 2026, + *last release*: Jul 24, 2026, *status*: N/A, *requires*: pytest>=7.0 - pytest plugin that streams runs, results, and step trees to Devant Cloud's /v1/runs API. + pytest plugin that streams runs, results, and step trees to Devant's /v1/runs API. :pypi:`pytest-devpi-server` *last release*: Oct 17, 2024, @@ -5180,11 +5336,11 @@ This list contains 2004 plugins. DevPI server fixture for py.test :pypi:`pytest-devtools` - *last release*: May 07, 2026, + *last release*: Jul 26, 2026, *status*: N/A, *requires*: pytest>=7 - Pytest plugin providing debug fixtures, ANSI-stripped capsys, whitespace-visible assertions, and terminal column management. + Pytest plugin providing debug fixtures, ANSI-stripped capsys, whitespace-visible assertions, terminal column management, and click/typer CLI runner fixtures. :pypi:`pytest-dfm` *last release*: Nov 23, 2025, @@ -5320,7 +5476,7 @@ This list contains 2004 plugins. pytest-ditto plugin for pyarrow table snapshots. :pypi:`pytest-django` - *last release*: Feb 14, 2026, + *last release*: Aug 10, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=7.0.0 @@ -5347,6 +5503,13 @@ This list contains 2004 plugins. Temporary pytest plugin backport for async Django DB fixture handling. + :pypi:`pytest-django-autocheck` + *last release*: Jul 07, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=8.0 + + zero-config pytest plugin that runs generic safety checks on any Django project. + :pypi:`pytest-django-cache-xdist` *last release*: May 12, 2020, *status*: 4 - Beta, @@ -5614,7 +5777,7 @@ This list contains 2004 plugins. Pytest fixtures for testing with squid. :pypi:`pytest-docker-tools` - *last release*: Mar 16, 2025, + *last release*: Jul 21, 2026, *status*: 4 - Beta, *requires*: pytest>=6.0.1 @@ -5775,7 +5938,7 @@ This list contains 2004 plugins. A Django REST framework plugin for pytest. :pypi:`pytest-drift` - *last release*: May 09, 2026, + *last release*: Jul 14, 2026, *status*: N/A, *requires*: pytest>=7.0 @@ -5817,7 +5980,7 @@ This list contains 2004 plugins. A Pytest plugin to ignore tests during collection without reporting them in the test summary. :pypi:`pytest-dsl` - *last release*: Jun 01, 2026, + *last release*: Aug 06, 2026, *status*: N/A, *requires*: pytest>=7.0.0 @@ -5866,9 +6029,9 @@ This list contains 2004 plugins. :pypi:`pytest-durations` - *last release*: Mar 13, 2026, + *last release*: Aug 14, 2026, *status*: 5 - Production/Stable, - *requires*: pytest>=4.6 + *requires*: pytest>=7.0 Pytest plugin reporting fixtures and test functions execution time. @@ -5893,6 +6056,13 @@ This list contains 2004 plugins. DynamoDB fixtures for pytest + :pypi:`pytest-easy` + *last release*: Aug 07, 2026, + *status*: N/A, + *requires*: N/A + + Pytest, but made easy + :pypi:`pytest-easy-addoption` *last release*: Jan 22, 2020, *status*: N/A, @@ -6020,70 +6190,70 @@ This list contains 2004 plugins. Send execution result email :pypi:`pytest-embedded` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=7.0 A pytest plugin that designed for embedded testing. :pypi:`pytest-embedded-arduino` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A Make pytest-embedded plugin work with Arduino. :pypi:`pytest-embedded-arduino-cli` - *last release*: May 20, 2026, + *last release*: Aug 14, 2026, *status*: N/A, *requires*: pytest>=8 A pytest plugin to test Arduino projects using pytest-embedded and arduino-cli :pypi:`pytest-embedded-idf` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A Make pytest-embedded plugin work with ESP-IDF. :pypi:`pytest-embedded-jtag` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A Make pytest-embedded plugin work with JTAG. :pypi:`pytest-embedded-nuttx` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A Make pytest-embedded plugin work with NuttX. :pypi:`pytest-embedded-qemu` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A Make pytest-embedded plugin work with QEMU. :pypi:`pytest-embedded-serial` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A Make pytest-embedded plugin work with Serial. :pypi:`pytest-embedded-serial-esp` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A Make pytest-embedded plugin work with Espressif target boards. :pypi:`pytest-embedded-wokwi` - *last release*: May 15, 2026, + *last release*: Jun 16, 2026, *status*: 5 - Production/Stable, *requires*: N/A @@ -6160,7 +6330,7 @@ This list contains 2004 plugins. Improvements for pytest (rejected upstream) :pypi:`pytest-env` - *last release*: Mar 12, 2026, + *last release*: Jul 21, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=9.0.2 @@ -6328,14 +6498,21 @@ This list contains 2004 plugins. Pytest plugin for testing examples in docstrings and markdown files. :pypi:`pytest-exasol-backend` - *last release*: May 05, 2026, + *last release*: Jul 13, 2026, *status*: N/A, - *requires*: pytest<10,>=7 + *requires*: pytest<10,>=9 + + + + :pypi:`pytest-exasol-benchmark` + *last release*: Jul 24, 2026, + *status*: N/A, + *requires*: pytest<10.0.0,>=9.1.1 :pypi:`pytest-exasol-extension` - *last release*: May 05, 2026, + *last release*: Jul 29, 2026, *status*: N/A, *requires*: pytest<10,>=7 @@ -6356,9 +6533,9 @@ This list contains 2004 plugins. :pypi:`pytest-exasol-slc` - *last release*: May 05, 2026, + *last release*: Jul 13, 2026, *status*: N/A, - *requires*: pytest<10,>=7 + *requires*: pytest<10,>=9 @@ -6383,6 +6560,13 @@ This list contains 2004 plugins. Walk your code through exception script to check it's resiliency to failures. + :pypi:`pytest-exec-core` + *last release*: Jun 17, 2026, + *status*: 4 - Beta, + *requires*: N/A + + Core execution engine for an HTTP-triggered pytest runner: output parsing and summarisation, test input provisioning, and command assembly. + :pypi:`pytest-executable` *last release*: Oct 07, 2023, *status*: N/A, @@ -6432,8 +6616,15 @@ This list contains 2004 plugins. Record and play back your expectations + :pypi:`pytest-expected-json` + *last release*: Jul 03, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.0 + + A reusable pytest fixture for loading expected test data from JSON files + :pypi:`pytest-expecter` - *last release*: Sep 18, 2022, + *last release*: Jun 13, 2026, *status*: 5 - Production/Stable, *requires*: N/A @@ -6488,6 +6679,13 @@ This list contains 2004 plugins. pytest plugin for automation test + :pypi:`pytest-extended-data` + *last release*: Jun 27, 2026, + *status*: 4 - Beta, + *requires*: pytest>=9.0.3 + + Pytest fixtures and assertions for projects using extended-data + :pypi:`pytest-extended-mock` *last release*: Mar 12, 2025, *status*: N/A, @@ -6531,7 +6729,7 @@ This list contains 2004 plugins. Additional pytest markers to dynamically enable/disable tests viia CLI flags :pypi:`pytest-f3ts` - *last release*: Mar 09, 2026, + *last release*: Jun 11, 2026, *status*: N/A, *requires*: pytest<8.0.0,>=7.2.1 @@ -6579,6 +6777,13 @@ This list contains 2004 plugins. A pytest plugin that plays the fahhh meme sound when a test fails. + :pypi:`pytest-fahhh-on-fail` + *last release*: Aug 15, 2026, + *status*: 4 - Beta, + *requires*: N/A + + A pytest plugin that plays FAHHH meme sound when a test session fails. + :pypi:`pytest-failed-screen-record` *last release*: Jan 05, 2023, *status*: 4 - Beta, @@ -6607,6 +6812,13 @@ This list contains 2004 plugins. Fail tests that take too long to run + :pypi:`pytest-failure-analyzer` + *last release*: Aug 13, 2026, + *status*: N/A, + *requires*: pytest>=7.0 + + pytest plugin to collect UI test failures and upload to failure-analyzer server + :pypi:`pytest-failure-tracker` *last release*: Jul 17, 2024, *status*: N/A, @@ -6635,6 +6847,13 @@ This list contains 2004 plugins. Pytest helpers for Falcon. + :pypi:`pytest-familywise` + *last release*: Jun 12, 2026, + *status*: N/A, + *requires*: pytest>=7.0 + + Pytest plugin for Holm-Bonferroni correction of randomized tests + :pypi:`pytest-fantasy` *last release*: Mar 14, 2019, *status*: N/A, @@ -6642,6 +6861,13 @@ This list contains 2004 plugins. Pytest plugin for Flask Fantasy Framework + :pypi:`pytest-fast` + *last release*: Jul 19, 2026, + *status*: N/A, + *requires*: pytest>=8.0 + + Resident forkserver-based pytest accelerator — collect once, fork warm workers, idempotently respawn on source/env change. POSIX only (uses forkserver). + :pypi:`pytest-fastapi` *last release*: Dec 27, 2020, *status*: N/A, @@ -6894,6 +7120,13 @@ This list contains 2004 plugins. A LibCST codemod to remove pytest fixtures applied via the usefixtures decorator, as well as its parametrizations. + :pypi:`pytest-fixture-report` + *last release*: Jul 23, 2026, + *status*: N/A, + *requires*: pytest + + Pytest plugin to provide fixture timing reports + :pypi:`pytest-fixture-rtttg` *last release*: Feb 23, 2022, *status*: N/A, @@ -6971,10 +7204,17 @@ This list contains 2004 plugins. Continuously runs your tests to detect flaky tests + :pypi:`pytest-flakedoctor` + *last release*: Jul 20, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7 + + The flaky-test doctor: diagnoses WHY a test is flaky and hands you a deterministic reproduction + :pypi:`pytest-flakefighters` - *last release*: Mar 05, 2026, + *last release*: Aug 05, 2026, *status*: N/A, - *requires*: pytest>=6.2.0 + *requires*: pytest>=7 Pytest plugin implementing flaky test failure detection and classification. @@ -6992,6 +7232,13 @@ This list contains 2004 plugins. Re-run tests N times, visualize failure heatmaps, and get AI root cause hypotheses + :pypi:`pytest-flakelens` + *last release*: Jul 12, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + Pytest reporter that streams test results, retries and artifacts to a FlakeLens server + :pypi:`pytest-flakemark` *last release*: May 01, 2026, *status*: 4 - Beta, @@ -6999,6 +7246,13 @@ This list contains 2004 plugins. Differential execution tracer that finds the exact file, line, and root cause of any flaky test. + :pypi:`pytest-flakeradar` + *last release*: Aug 09, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + Flaky-test radar for pytest: per-test flake rate across runs, with a FLAKY.md leaderboard your CI commits back + :pypi:`pytest-flakes` *last release*: Dec 02, 2021, *status*: 5 - Production/Stable, @@ -7007,7 +7261,7 @@ This list contains 2004 plugins. pytest plugin to check source code with pyflakes :pypi:`pytest-flakiness` - *last release*: May 15, 2026, + *last release*: Jul 27, 2026, *status*: N/A, *requires*: pytest>=9.0.2 @@ -7049,7 +7303,7 @@ This list contains 2004 plugins. Run tests in transactions using pytest, Flask, and SQLalchemy. :pypi:`pytest-flexreport` - *last release*: Apr 15, 2023, + *last release*: Aug 10, 2026, *status*: 4 - Beta, *requires*: pytest @@ -7070,7 +7324,7 @@ This list contains 2004 plugins. A pytest plugin in order to provide logs via fluentbit :pypi:`pytest-fly` - *last release*: Jun 06, 2026, + *last release*: Aug 15, 2026, *status*: 3 - Alpha, *requires*: pytest @@ -7224,7 +7478,7 @@ This list contains 2004 plugins. An alternative way to parametrize test cases. :pypi:`pytest-fusesoc` - *last release*: May 31, 2026, + *last release*: Aug 03, 2026, *status*: 5 - Production/Stable, *requires*: pytest @@ -7328,6 +7582,13 @@ This list contains 2004 plugins. The Python plugin for your GEE based packages. + :pypi:`pytest-genai-semconv` + *last release*: Jul 06, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + pytest assertions that verify OpenTelemetry spans conform to the gen_ai semantic conventions. + :pypi:`pytest-gevent` *last release*: Feb 25, 2020, *status*: N/A, @@ -7357,7 +7618,7 @@ This list contains 2004 plugins. For finding/executing Ghost Inspector tests :pypi:`pytest-girder` - *last release*: Jun 02, 2026, + *last release*: Aug 14, 2026, *status*: N/A, *requires*: pytest>=3.6 @@ -7406,7 +7667,7 @@ This list contains 2004 plugins. Plugin for py.test that associates tests with github issues using a marker. :pypi:`pytest-github-actions-annotate-failures` - *last release*: Mar 02, 2026, + *last release*: Jun 19, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=7.0.0 @@ -7468,6 +7729,13 @@ This list contains 2004 plugins. Utility to select tests that have had its dependencies modified (as identified by git diff) + :pypi:`pytest-given` + *last release*: Aug 08, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=9.0 + + A pytest plugin that generates interactive HTML reports from Given/When/Then annotated tests. + :pypi:`pytest-glamor-allure` *last release*: Jan 30, 2026, *status*: 5 - Production/Stable, @@ -7483,7 +7751,7 @@ This list contains 2004 plugins. A thin, transparent coat that makes your test output shine. :pypi:`pytest-glow-report` - *last release*: Dec 08, 2025, + *last release*: Jul 24, 2026, *status*: 4 - Beta, *requires*: pytest>=6.0; extra == "dev" @@ -7524,8 +7792,15 @@ This list contains 2004 plugins. Pytest custom features, e.g. fixtures and various tests. Aimed to emulate Google Cloud Storage service + :pypi:`pytest-gpu-proof` + *last release*: Aug 08, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + pytest plugin for GPU equivalence testing with signed receipts verified via GitHub SSH keys + :pypi:`pytest-grader` - *last release*: Aug 25, 2025, + *last release*: Aug 01, 2026, *status*: N/A, *requires*: pytest>=8 @@ -7552,13 +7827,6 @@ This list contains 2004 plugins. Green progress dots - :pypi:`pytest-greener` - *last release*: Dec 24, 2025, - *status*: N/A, - *requires*: pytest<9.0.0,>=8.3.3 - - Pytest plugin for Greener - :pypi:`pytest-green-light` *last release*: Nov 03, 2025, *status*: 3 - Alpha, @@ -7574,12 +7842,19 @@ This list contains 2004 plugins. :pypi:`pytest-gremlins` - *last release*: Apr 03, 2026, + *last release*: Jul 01, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.0.0 Fast-first mutation testing for pytest. Let the gremlins loose, see which ones survive. + :pypi:`pytest-grounding` + *last release*: Jun 22, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.0 + + Turn assertions about data into re-runnable, provenance-tracked claims — written and reviewed by agents. + :pypi:`pytest-group-by-class` *last release*: Jun 27, 2023, *status*: 5 - Production/Stable, @@ -7650,6 +7925,13 @@ This list contains 2004 plugins. Chain tests and data with pytest + :pypi:`pytest-harness` + *last release*: Aug 10, 2026, + *status*: N/A, + *requires*: pytest>=9.0.0 + + Easy-to-use pytest workflow orchestrator with isolated test-file execution, combined coverage, dashboard summaries, and optional per-test-file logs. + :pypi:`pytest-harvest` *last release*: Mar 16, 2024, *status*: 5 - Production/Stable, @@ -7763,14 +8045,14 @@ This list contains 2004 plugins. A pytest plugin for use with homeassistant custom components. :pypi:`pytest-homeassistant-custom-component` - *last release*: Jun 06, 2026, + *last release*: Aug 15, 2026, *status*: 3 - Alpha, *requires*: pytest==9.0.3 Experimental package to automatically extract test plugins for Home Assistant custom components :pypi:`pytest-homeassistant-custom-component-framework` - *last release*: Jun 06, 2026, + *last release*: Aug 15, 2026, *status*: 3 - Alpha, *requires*: pytest==9.0.3 @@ -7812,7 +8094,7 @@ This list contains 2004 plugins. A plugin that tracks test changes :pypi:`pytest-houdini` - *last release*: May 27, 2026, + *last release*: Jun 22, 2026, *status*: N/A, *requires*: pytest<10.0.0,>=9.0.3 @@ -7896,7 +8178,7 @@ This list contains 2004 plugins. Pytest report plugin for send HTML report on object-storage :pypi:`pytest-html-plus` - *last release*: May 07, 2026, + *last release*: Aug 11, 2026, *status*: 5 - Production/Stable, *requires*: N/A @@ -7966,56 +8248,14 @@ This list contains 2004 plugins. Easily test your HTTP library against a local copy of httpbin :pypi:`pytest-httpchain` - *last release*: Jun 04, 2026, + *last release*: Aug 11, 2026, *status*: 5 - Production/Stable, - *requires*: N/A + *requires*: pytest>=9.0 pytest plugin for HTTP testing using JSON files - :pypi:`pytest-httpchain-core` - *last release*: Jun 04, 2026, - *status*: N/A, - *requires*: N/A - - Shared base types for pytest-httpchain - - :pypi:`pytest-httpchain-jsonref` - *last release*: Jun 04, 2026, - *status*: N/A, - *requires*: N/A - - JSON reference ($ref) support for pytest-httpchain - - :pypi:`pytest-httpchain-mcp` - *last release*: Apr 02, 2026, - *status*: N/A, - *requires*: N/A - - MCP server for pytest-httpchain - - :pypi:`pytest-httpchain-models` - *last release*: Jun 04, 2026, - *status*: N/A, - *requires*: N/A - - Pydantic models for pytest-httpchain - - :pypi:`pytest-httpchain-templates` - *last release*: Jun 04, 2026, - *status*: N/A, - *requires*: N/A - - Templating support for pytest-httpchain - - :pypi:`pytest-httpchain-userfunc` - *last release*: Jun 04, 2026, - *status*: N/A, - *requires*: N/A - - User functions support for pytest-httpchain - :pypi:`pytest-httpdbg` - *last release*: Mar 29, 2026, + *last release*: Aug 06, 2026, *status*: 4 - Beta, *requires*: pytest>=7.0.0 @@ -8098,6 +8338,13 @@ This list contains 2004 plugins. Pytest plugin for discovering and running Hy test files + :pypi:`pytest-hygiene` + *last release*: Jul 14, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + A cross-platform pytest plugin that audits test isolation and reports exactly what global state each test leaks. + :pypi:`pytest-hylang` *last release*: Mar 28, 2021, *status*: N/A, @@ -8112,22 +8359,15 @@ This list contains 2004 plugins. help hypo module for pytest - :pypi:`pytest-hypothesis` - *last release*: Feb 09, 2026, - *status*: N/A, - *requires*: N/A - - - :pypi:`pytest-iam` - *last release*: Nov 02, 2025, + *last release*: Jun 20, 2026, *status*: 4 - Beta, *requires*: pytest>=7.0.0 A fully functional OAUTH2 / OpenID Connect (OIDC) / SCIM server to be used in your testsuite :pypi:`pytest-ibutsu` - *last release*: Feb 23, 2026, + *last release*: Jul 17, 2026, *status*: 4 - Beta, *requires*: pytest @@ -8189,15 +8429,22 @@ This list contains 2004 plugins. A pytest plugin for image snapshot management and comparison. + :pypi:`pytest-impact` + *last release*: Jul 17, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7 + + Fixture- and conftest-aware test impact analysis for pytest -- select only the tests affected by a git diff, no coverage tracing, no database. + :pypi:`pytest-impacted` - *last release*: May 19, 2026, + *last release*: Aug 13, 2026, *status*: 4 - Beta, *requires*: pytest>=8.0.0 A pytest plugin that selectively runs tests impacted by code changes via git introspection, AST parsing, and dependency graph analysis. :pypi:`pytest-impacted-rs` - *last release*: May 19, 2026, + *last release*: Aug 13, 2026, *status*: 4 - Beta, *requires*: N/A @@ -8274,7 +8521,7 @@ This list contains 2004 plugins. display more node ininformation. :pypi:`pytest-infrahouse` - *last release*: Mar 17, 2026, + *last release*: Aug 14, 2026, *status*: 4 - Beta, *requires*: pytest~=9.0 @@ -8337,14 +8584,14 @@ This list contains 2004 plugins. A py.test plugin providing fixtures to simplify inmanta modules testing. :pypi:`pytest-inmanta-extensions` - *last release*: Jun 02, 2026, + *last release*: Jul 24, 2026, *status*: 5 - Production/Stable, *requires*: N/A Inmanta tests package :pypi:`pytest-inmanta-lsm` - *last release*: Apr 29, 2026, + *last release*: Aug 06, 2026, *status*: 5 - Production/Stable, *requires*: N/A @@ -8456,7 +8703,7 @@ This list contains 2004 plugins. Pytest plugin for checking charm relation interface protocol compliance. :pypi:`pytest-invenio` - *last release*: Mar 16, 2026, + *last release*: Jul 02, 2026, *status*: 5 - Production/Stable, *requires*: pytest<9.0.0,>=6 @@ -8505,7 +8752,7 @@ This list contains 2004 plugins. Pytest plugin to run tests in Jupyter Notebooks :pypi:`pytest-ipywidgets` - *last release*: May 14, 2026, + *last release*: Aug 05, 2026, *status*: N/A, *requires*: pytest @@ -8519,7 +8766,7 @@ This list contains 2004 plugins. Run pytest tests in isolated subprocesses :pypi:`pytest-isolated` - *last release*: Mar 04, 2026, + *last release*: Jun 15, 2026, *status*: 4 - Beta, *requires*: pytest>=7.0 @@ -8624,21 +8871,21 @@ This list contains 2004 plugins. A plugin to generate customizable jinja-based HTML reports in pytest :pypi:`pytest-jinja-check` - *last release*: Mar 14, 2026, + *last release*: Jun 23, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.0 Pytest plugin to lint Jinja2 templates in FastAPI applications :pypi:`pytest-jira` - *last release*: Mar 19, 2026, + *last release*: Jul 13, 2026, *status*: 4 - Beta, *requires*: pytest>=2.2.4 py.test JIRA integration plugin, using markers :pypi:`pytest-jira-xfail` - *last release*: Jul 09, 2024, + *last release*: Jul 23, 2026, *status*: N/A, *requires*: pytest>=7.2.0 @@ -8687,7 +8934,7 @@ This list contains 2004 plugins. Generate JSON test reports :pypi:`pytest-json-ctrf` - *last release*: Apr 30, 2026, + *last release*: Jul 19, 2026, *status*: N/A, *requires*: pytest>6.0.0 @@ -8743,12 +8990,19 @@ This list contains 2004 plugins. pytest plugin supporting json test report output :pypi:`pytest-jubilant` - *last release*: Apr 07, 2026, + *last release*: Jul 30, 2026, *status*: N/A, - *requires*: pytest>=8.3.5 + *requires*: pytest>=9.1.1 Add your description here + :pypi:`pytest-jubilant-bdd` + *last release*: Jul 07, 2026, + *status*: N/A, + *requires*: pytest~=9.0; extra == "dev" + + A pytest plugin providing reusable Gherkin step handlers for behavior-driven testing of Juju charmed operators + :pypi:`pytest-junit-logging` *last release*: Nov 27, 2025, *status*: 4 - Beta, @@ -8771,7 +9025,7 @@ This list contains 2004 plugins. A pytest plugin for testing Jupyter libraries and extensions. :pypi:`pytest-jupyter-deploy` - *last release*: May 27, 2026, + *last release*: Aug 04, 2026, *status*: 3 - Alpha, *requires*: pytest>=8.3.5 @@ -8785,7 +9039,7 @@ This list contains 2004 plugins. A reusable JupyterHub pytest plugin :pypi:`pytest-just` - *last release*: Mar 22, 2026, + *last release*: Jun 20, 2026, *status*: 3 - Alpha, *requires*: pytest>=8.0.0 @@ -8813,7 +9067,7 @@ This list contains 2004 plugins. Zookeeper, Kafka server, and Kafka consumer fixtures for Pytest :pypi:`pytest-kafka-broker` - *last release*: Apr 03, 2026, + *last release*: Aug 13, 2026, *status*: N/A, *requires*: N/A @@ -8882,6 +9136,13 @@ This list contains 2004 plugins. Kubernetes test support with KIND for pytest + :pypi:`pytest-kind-ng` + *last release*: Jul 23, 2026, + *status*: 5 - Production/Stable, + *requires*: N/A + + Kubernetes test support with KIND for pytest + :pypi:`pytest-kivy` *last release*: Jul 06, 2021, *status*: 4 - Beta, @@ -8966,6 +9227,13 @@ This list contains 2004 plugins. + :pypi:`pytest-lanes` + *last release*: Jul 28, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.4 + + Parallel pytest for suites that cannot be made concurrency-safe: one subprocess per declared lane, so tests only overlap across environment boundaries you choose. + :pypi:`pytest-langchain` *last release*: Feb 26, 2023, *status*: N/A, @@ -8974,7 +9242,7 @@ This list contains 2004 plugins. Pytest-style test runner for langchain agents :pypi:`pytest-language-server` - *last release*: Jun 04, 2026, + *last release*: Jul 14, 2026, *status*: 4 - Beta, *requires*: N/A @@ -9016,7 +9284,7 @@ This list contains 2004 plugins. It helps to use fixtures in pytest.mark.parametrize :pypi:`pytest-lazy-fixtures` - *last release*: Sep 16, 2025, + *last release*: Aug 12, 2026, *status*: N/A, *requires*: pytest>=7 @@ -9051,7 +9319,7 @@ This list contains 2004 plugins. A simple plugin to use with pytest :pypi:`pytest-leela` - *last release*: Apr 27, 2026, + *last release*: Jun 10, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.0 @@ -9086,7 +9354,7 @@ This list contains 2004 plugins. A python-libfaketime plugin for pytest :pypi:`pytest-libiio` - *last release*: Jun 06, 2026, + *last release*: Jun 18, 2026, *status*: N/A, *requires*: pytest>=3.5.0 @@ -9165,9 +9433,16 @@ This list contains 2004 plugins. :pypi:`pytest-live` *last release*: Mar 08, 2020, *status*: N/A, - *requires*: pytest + *requires*: pytest + + Live results for pytest + + :pypi:`pytest-live-pause` + *last release*: Jun 10, 2026, + *status*: N/A, + *requires*: pytest>=9.0.3 - Live results for pytest + Pytest plugin and protocol for pausing live test execution and resuming in-process :pypi:`pytest-liveview` *last release*: Mar 09, 2026, @@ -9218,6 +9493,13 @@ This list contains 2004 plugins. A pytest plugin for rubric-based LLM-as-judge testing with auto-discovery and preflight + :pypi:`pytest-llm-sushit` + *last release*: Jun 26, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.0 + + LLM-powered semantic assertions for pytest + :pypi:`pytest-llmtest` *last release*: Mar 08, 2026, *status*: 3 - Alpha, @@ -9233,14 +9515,14 @@ This list contains 2004 plugins. Pytest to generate lobster tracing files :pypi:`pytest-local-badge` - *last release*: May 22, 2026, + *last release*: Aug 06, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=8.4 - Pytest plugin that writes self-hosted SVG status and coverage badges to your repo — no third-party shield service required. + Pytest plugin that writes self-hosted SVG badges (tests, coverage, skipped, xfailed, warnings, duration) to your repo — no third-party shield service required. :pypi:`pytest-localftpserver` - *last release*: Nov 16, 2025, + *last release*: Aug 11, 2026, *status*: 5 - Production/Stable, *requires*: pytest @@ -9380,9 +9662,9 @@ This list contains 2004 plugins. pytest fixture logging configured from packaged YAML :pypi:`pytest-logikal` - *last release*: May 29, 2026, + *last release*: Jul 07, 2026, *status*: 5 - Production/Stable, - *requires*: pytest==9.0.3 + *requires*: pytest==9.1.1 Common testing environment @@ -9415,7 +9697,7 @@ This list contains 2004 plugins. pytest plugin for looping tests :pypi:`pytest-lsp` - *last release*: Oct 25, 2025, + *last release*: Jun 17, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=8.0 @@ -9478,7 +9760,7 @@ This list contains 2004 plugins. Test your markdown docs with pytest :pypi:`pytest-markdown-console` - *last release*: May 31, 2026, + *last release*: Jun 07, 2026, *status*: N/A, *requires*: pytest>=8 @@ -9492,7 +9774,7 @@ This list contains 2004 plugins. Run markdown code fences through pytest :pypi:`pytest-markdown-report` - *last release*: Jan 10, 2026, + *last release*: Jul 15, 2026, *status*: N/A, *requires*: pytest>=7.0 @@ -9562,7 +9844,7 @@ This list contains 2004 plugins. UNKNOWN :pypi:`pytest-mask-secrets` - *last release*: Dec 17, 2025, + *last release*: Jul 28, 2026, *status*: N/A, *requires*: N/A @@ -9576,7 +9858,7 @@ This list contains 2004 plugins. Easy way to match captured \`pytest\` output against expectations stored in files :pypi:`pytest-matchers` - *last release*: Dec 19, 2025, + *last release*: Aug 04, 2026, *status*: N/A, *requires*: pytest<10.0,>=7.0 @@ -9610,13 +9892,6 @@ This list contains 2004 plugins. Compute the maximum coverage available through pytest with the minimum execution time cost - :pypi:`pytest-max-warnings` - *last release*: Oct 23, 2024, - *status*: 4 - Beta, - *requires*: pytest>=8.3.3 - - A Pytest plugin to exit non-zero exit code when the configured maximum warnings has been exceeded. - :pypi:`pytest-maybe-context` *last release*: Apr 16, 2023, *status*: N/A, @@ -9702,9 +9977,9 @@ This list contains 2004 plugins. Estimates memory consumption of test functions :pypi:`pytest-memray` - *last release*: Aug 18, 2025, + *last release*: Aug 07, 2026, *status*: N/A, - *requires*: pytest>=7.2 + *requires*: pytest>=8.0 A simple plugin to use with pytest @@ -9723,7 +9998,7 @@ This list contains 2004 plugins. pytest plugin to write integration tests for projects using Mercurial Python internals :pypi:`pytest-mergify` - *last release*: May 27, 2026, + *last release*: Aug 05, 2026, *status*: N/A, *requires*: pytest>=6.0.0 @@ -9772,16 +10047,16 @@ This list contains 2004 plugins. Custom metrics report for pytest :pypi:`pytest-mfd-config` - *last release*: May 19, 2026, + *last release*: Jun 10, 2026, *status*: N/A, - *requires*: pytest<9,>=7.2.1 + *requires*: pytest<10,>=9.0.3 Pytest Plugin that handles test and topology configs and all their belongings like helper fixtures. :pypi:`pytest-mfd-logging` - *last release*: Nov 14, 2025, + *last release*: Jun 15, 2026, *status*: N/A, - *requires*: pytest<9,>=7.2.1 + *requires*: pytest<10,>=9.0.3 Module for handling PyTest logging. @@ -9793,7 +10068,7 @@ This list contains 2004 plugins. A tiny plugin for pytest which runs MongoDB in Docker :pypi:`pytest-mh` - *last release*: Oct 16, 2025, + *last release*: Jul 15, 2026, *status*: N/A, *requires*: pytest @@ -9841,6 +10116,13 @@ This list contains 2004 plugins. A pluggy-based pytest plugin and CLI tool for ensuring your test suite mirrors your source code structure + :pypi:`pytest-misata` + *last release*: Jul 15, 2026, + *status*: N/A, + *requires*: pytest>=7.0 + + pytest fixtures for Misata: deterministic, referentially-intact multi-table test data in one line + :pypi:`pytest-missing-fixtures` *last release*: Oct 14, 2020, *status*: 4 - Beta, @@ -9919,7 +10201,7 @@ This list contains 2004 plugins. Base fixtures for mockito :pypi:`pytest-mockllm` - *last release*: Dec 22, 2025, + *last release*: Jul 10, 2026, *status*: 4 - Beta, *requires*: pytest>=7.0.0 @@ -9982,7 +10264,7 @@ This list contains 2004 plugins. pytest plugin for model-lib :pypi:`pytest-modern` - *last release*: Aug 19, 2025, + *last release*: Aug 06, 2026, *status*: 4 - Beta, *requires*: pytest>=8 @@ -10058,6 +10340,13 @@ This list contains 2004 plugins. Pytest plugin for analyzing resource usage. + :pypi:`pytest-monkey` + *last release*: Jul 17, 2026, + *status*: N/A, + *requires*: pytest>=7.4.0 + + pytest plugin for random test runner with reproducible execution + :pypi:`pytest-monkeyplus` *last release*: Sep 18, 2012, *status*: 5 - Production/Stable, @@ -10150,7 +10439,7 @@ This list contains 2004 plugins. pytest-mqtt supports testing systems based on MQTT :pypi:`pytest-mrt` - *last release*: Jun 06, 2026, + *last release*: Jul 13, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=7.0 @@ -10374,7 +10663,7 @@ This list contains 2004 plugins. pytest ngs fixtures :pypi:`pytest-nhsd-apim` - *last release*: Jun 03, 2026, + *last release*: Aug 07, 2026, *status*: N/A, *requires*: pytest<10.0.0,>=8.2.0 @@ -10394,6 +10683,13 @@ This list contains 2004 plugins. A small snippet for nicer PyTest's Parametrize + :pypi:`pytest-nijam` + *last release*: Jul 08, 2026, + *status*: N/A, + *requires*: pytest>=7.0 + + pytest plugin for Nijam, captures test runs and ships them to the Nijam API. + :pypi:`pytest_nlcov` *last release*: Aug 05, 2024, *status*: N/A, @@ -10415,6 +10711,13 @@ This list contains 2004 plugins. pytest plugin for controlling execution flow + :pypi:`pytest-nodeid-to-filepath` + *last release*: Jun 23, 2026, + *status*: N/A, + *requires*: pytest>=9.0.3 + + Get a filepath based on the current Pytest node ID. + :pypi:`pytest-nodev` *last release*: Jul 21, 2016, *status*: 4 - Beta, @@ -10443,15 +10746,15 @@ This list contains 2004 plugins. pytest plugin to use nose @attrib marks decorators and pick tests based on attributes and partially uses nose-attrib plugin approach - :pypi:`pytest_notebook` - *last release*: Nov 28, 2023, + :pypi:`pytest-notebook` + *last release*: Jul 19, 2026, *status*: 4 - Beta, - *requires*: pytest>=3.5.0 + *requires*: pytest>=7.4 A pytest plugin for testing Jupyter Notebooks. :pypi:`pytest-notebook-policy` - *last release*: May 30, 2026, + *last release*: Jun 20, 2026, *status*: 3 - Alpha, *requires*: pytest>=8.0 @@ -10521,7 +10824,7 @@ This list contains 2004 plugins. PyTest plugin for the OAR testing framework :pypi:`pytest-oarepo` - *last release*: Jun 06, 2026, + *last release*: Jun 07, 2026, *status*: N/A, *requires*: pytest>=7.1.2; extra == "dev" @@ -10549,7 +10852,7 @@ This list contains 2004 plugins. A pytest plugin for simplifying ODC database tests :pypi:`pytest-odoo` - *last release*: May 20, 2025, + *last release*: Jul 02, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=8 @@ -10688,6 +10991,13 @@ This list contains 2004 plugins. include/exclude values of fixtures in pytest + :pypi:`pytest-optional-dependencies` + *last release*: Jul 01, 2026, + *status*: N/A, + *requires*: pytest>=8.0 + + Don't test code that won't load due to missing imports. A pytest plugin to skip tests that require optional dependencies that are not installed. + :pypi:`pytest-optional-tests` *last release*: Jul 21, 2025, *status*: 4 - Beta, @@ -10703,7 +11013,7 @@ This list contains 2004 plugins. A pytest plugin for orchestrating tests :pypi:`pytest-order` - *last release*: Apr 26, 2026, + *last release*: Jun 13, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=6.2.4; python_version < "3.14" @@ -10730,6 +11040,13 @@ This list contains 2004 plugins. 新增run_marker 来自定义用例的执行顺序 + :pypi:`pytest-orm-boundaries` + *last release*: Jul 24, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=8 + + Pytest plugin that fails tests when ORM queries cross DDD aggregate boundaries (Django supported today). + :pypi:`pytest-osxnotify` *last release*: May 15, 2015, *status*: N/A, @@ -10745,9 +11062,9 @@ This list contains 2004 plugins. A pytest plugin for instrumenting test runs via OpenTelemetry :pypi:`pytest-otel` - *last release*: Apr 29, 2026, + *last release*: Jun 29, 2026, *status*: N/A, - *requires*: pytest==9.0.3 + *requires*: pytest==9.1.1 OpenTelemetry plugin for Pytest @@ -10794,7 +11111,7 @@ This list contains 2004 plugins. Parametrize your tests with a Boston accent. :pypi:`pytest-paia-blockly` - *last release*: Mar 19, 2026, + *last release*: Jun 22, 2026, *status*: N/A, *requires*: pytest>=8.0 @@ -10828,6 +11145,13 @@ This list contains 2004 plugins. pytest plugin that parallelizes test execution across multiple hosts + :pypi:`pytest-parallex` + *last release*: Jul 17, 2026, + *status*: 4 - Beta, + *requires*: pytest>=8.1 + + Parallel pytest where session fixtures run once for the whole run, not once per worker + :pypi:`pytest-param` *last release*: Sep 11, 2016, *status*: 4 - Beta, @@ -10864,7 +11188,7 @@ This list contains 2004 plugins. A more user-friendly way to write parametrized tests. :pypi:`pytest-parametrized` - *last release*: Dec 21, 2024, + *last release*: Jul 18, 2026, *status*: 5 - Production/Stable, *requires*: pytest @@ -10885,7 +11209,7 @@ This list contains 2004 plugins. Create pytest parametrize decorators from external files. :pypi:`pytest-params` - *last release*: Mar 14, 2026, + *last release*: Jul 05, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=7.0.0 @@ -10912,6 +11236,13 @@ This list contains 2004 plugins. Organise and analyse your pytest benchmarks + :pypi:`pytest-partition-check` + *last release*: Aug 10, 2026, + *status*: 4 - Beta, + *requires*: pytest>=8 + + Verify that pytest node-ID patterns partition a test suite. + :pypi:`pytest-pass` *last release*: Dec 04, 2019, *status*: N/A, @@ -11011,12 +11342,19 @@ This list contains 2004 plugins. :pypi:`pytest-perf` - *last release*: May 20, 2024, + *last release*: Jul 16, 2026, *status*: 5 - Production/Stable, - *requires*: pytest!=8.1.*,>=6; extra == "testing" + *requires*: pytest!=8.1.*,>=6; extra == "test" Run performance tests against the mainline code. + :pypi:`pytest-perfguard` + *last release*: Aug 03, 2026, + *status*: N/A, + *requires*: pytest>=7 + + Automatic, low-overhead performance regression checks for pytest + :pypi:`pytest-performance` *last release*: Sep 11, 2020, *status*: 5 - Production/Stable, @@ -11186,7 +11524,7 @@ This list contains 2004 plugins. Pytest plugin for reading playbooks. :pypi:`pytest-playwright` - *last release*: May 18, 2026, + *last release*: Aug 10, 2026, *status*: N/A, *requires*: pytest<10.0.0,>=6.2.4 @@ -11207,14 +11545,14 @@ This list contains 2004 plugins. ASYNC Pytest plugin for Playwright :pypi:`pytest-playwright-asyncio` - *last release*: May 18, 2026, + *last release*: Aug 10, 2026, *status*: N/A, *requires*: pytest<10.0.0,>=6.2.4 A pytest wrapper with async fixtures for Playwright to automate web browsers :pypi:`pytest-playwright-axe` - *last release*: Jun 05, 2026, + *last release*: Aug 07, 2026, *status*: 5 - Production/Stable, *requires*: N/A @@ -11270,8 +11608,8 @@ This list contains 2004 plugins. A pytest plugin for autograding Python code. Designed for use with the PrairieLearn platform. :pypi:`pytest-plone` - *last release*: May 18, 2026, - *status*: 3 - Alpha, + *last release*: Jul 13, 2026, + *status*: 5 - Production/Stable, *requires*: pytest>=8.4.0 Pytest plugin to test Plone addons @@ -11409,6 +11747,13 @@ This list contains 2004 plugins. Pytest plugin for pook + :pypi:`pytest-poolwatch` + *last release*: Jul 29, 2026, + *status*: 3 - Alpha, + *requires*: pytest<10,>=8.2 + + Concurrency profiler and scheduler underfill detector for pytest + :pypi:`pytest-pop` *last release*: May 09, 2023, *status*: 5 - Production/Stable, @@ -11417,9 +11762,9 @@ This list contains 2004 plugins. A pytest plugin to help with testing pop projects :pypi:`pytest-porcochu` - *last release*: Nov 28, 2024, + *last release*: Aug 03, 2026, *status*: 5 - Production/Stable, - *requires*: N/A + *requires*: pytest Show surprise when tests are passing @@ -11494,7 +11839,7 @@ This list contains 2004 plugins. Minitest-style test colors :pypi:`pytest-print` - *last release*: Feb 11, 2026, + *last release*: Jul 21, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=9.0.2 @@ -11507,6 +11852,20 @@ This list contains 2004 plugins. pytest plugin for add priority for tests + :pypi:`pytest-probability` + *last release*: Jul 08, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.4 + + pytest plugin for nondeterministic tests: run cases N times, report empirical pass fractions, flaky detection, and cost. + + :pypi:`pytest-probatio` + *last release*: Jul 09, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=8 + + Use a probatio schema as a pytest assertion matcher + :pypi:`pytest-proceed` *last release*: Oct 01, 2024, *status*: N/A, @@ -11619,6 +11978,13 @@ This list contains 2004 plugins. + :pypi:`pytest-pubsub` + *last release*: Aug 05, 2026, + *status*: N/A, + *requires*: pytest>=7.0 + + In-memory mock of Google Cloud Pub/Sub topics and subscriptions for testing + :pypi:`pytest-pudb` *last release*: Oct 25, 2018, *status*: 3 - Alpha, @@ -11662,7 +12028,7 @@ This list contains 2004 plugins. pytest plugin for push report to minio :pypi:`pytest-pvcr` - *last release*: Feb 25, 2026, + *last release*: Jul 30, 2026, *status*: 3 - Alpha, *requires*: pytest>=3.5.0 @@ -11830,7 +12196,7 @@ This list contains 2004 plugins. Pytest pyspark plugin (p3) :pypi:`pytest-pyspark-utils` - *last release*: May 20, 2026, + *last release*: Jun 19, 2026, *status*: 4 - Beta, *requires*: pytest>=6.2.0 @@ -11844,7 +12210,7 @@ This list contains 2004 plugins. The pytest-pyspec plugin transforms pytest output into a beautiful, readable format similar to RSpec. It provides semantic meaning to your tests by organizing them into descriptive hierarchies, using the prefixes \`Describe\`/\`Test\`, \`With\`/\`Without\`/\`When\`, and \`test\`/\`it\`, while allowing docstrings and decorators to override the descriptions. :pypi:`pytest-pystack` - *last release*: Nov 16, 2024, + *last release*: Aug 07, 2026, *status*: N/A, *requires*: pytest>=3.5.0 @@ -11913,6 +12279,13 @@ This list contains 2004 plugins. Pytest-pyvista package. + :pypi:`pytest-qamule` + *last release*: Jun 30, 2026, + *status*: N/A, + *requires*: pytest>=9.1.1 + + A pytest plugin for QAMule automation testing with device fixtures, live pause checkpoints, and AI/human-friendly reports. + :pypi:`pytest-qanova` *last release*: Sep 05, 2024, *status*: 3 - Alpha, @@ -11921,9 +12294,9 @@ This list contains 2004 plugins. A pytest plugin to collect test information :pypi:`pytest-qaseio` - *last release*: Dec 10, 2025, + *last release*: Aug 07, 2026, *status*: 5 - Production/Stable, - *requires*: pytest>=7.2.2 + *requires*: pytest>=7 Pytest plugin for Qase.io integration @@ -11949,14 +12322,14 @@ This list contains 2004 plugins. pytest plugin for QEMU-based functional tests targeting PIC32MK (MIPS32) firmware :pypi:`pytest-qfield` - *last release*: Jun 05, 2026, + *last release*: Jun 12, 2026, *status*: N/A, *requires*: N/A A pytest plugin for testing QField qml plugins :pypi:`pytest-qgis` - *last release*: Apr 01, 2026, + *last release*: Aug 04, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=6.0 @@ -12116,6 +12489,13 @@ This list contains 2004 plugins. A Pytest plugin for faster fault detection via regression test prioritization + :pypi:`pytest-ratchet` + *last release*: Aug 12, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.4 + + Baselines that cannot lie: every entry justified, new findings fail, stale entries fail. + :pypi:`pytest-rca-report` *last release*: Aug 04, 2025, *status*: N/A, @@ -12151,8 +12531,15 @@ This list contains 2004 plugins. Capture your test sessions. Recap the results. + :pypi:`pytest-receptor` + *last release*: Aug 15, 2026, + *status*: 5 - Production/Stable, + *requires*: pytest>=8.0.0 + + A pytest plugin to adapt test output for different receptors (humans, LLMs, CI). + :pypi:`pytest-recorder` - *last release*: Apr 13, 2026, + *last release*: Jun 24, 2026, *status*: N/A, *requires*: pytest>=8.4.1 @@ -12236,7 +12623,7 @@ This list contains 2004 plugins. Easy to use fixtures to write regression tests. :pypi:`pytest-regtest` - *last release*: May 05, 2026, + *last release*: Jul 09, 2026, *status*: N/A, *requires*: pytest>7.2 @@ -12285,7 +12672,7 @@ This list contains 2004 plugins. An extension plugin to pytest-relay to relay pytest information via websockets :pypi:`pytest-remaster` - *last release*: Apr 09, 2026, + *last release*: Jun 17, 2026, *status*: 3 - Alpha, *requires*: pytest>=7 @@ -12299,9 +12686,9 @@ This list contains 2004 plugins. Pytest plugin to create a temporary directory with remote files :pypi:`pytest-remotedata` - *last release*: Sep 26, 2023, + *last release*: Aug 03, 2026, *status*: 5 - Production/Stable, - *requires*: pytest >=4.6 + *requires*: pytest>=5.0 Pytest plugin for controlling remote data access. @@ -12355,7 +12742,7 @@ This list contains 2004 plugins. Saves previous test runs and allow re-execute previous pytest runs to reproduce crashes or flaky tests :pypi:`pytest-repo-health` - *last release*: Dec 09, 2025, + *last release*: Jul 14, 2026, *status*: 3 - Alpha, *requires*: pytest @@ -12446,7 +12833,7 @@ This list contains 2004 plugins. pytest plugin for adding tests' parameters to junit report :pypi:`pytest-reportportal` - *last release*: Jun 03, 2026, + *last release*: Jul 31, 2026, *status*: N/A, *requires*: N/A @@ -12509,7 +12896,7 @@ This list contains 2004 plugins. Pytest Plugin to Mock Requests Futures :pypi:`pytest-requirements` - *last release*: Jun 05, 2026, + *last release*: Jul 02, 2026, *status*: N/A, *requires*: pytest @@ -12551,16 +12938,16 @@ This list contains 2004 plugins. Rerun testsuite for a certain time or iterations :pypi:`pytest-rerunclassfailures` - *last release*: Apr 24, 2024, + *last release*: Jul 17, 2026, *status*: 5 - Production/Stable, *requires*: pytest>=7.2 pytest rerun class failures plugin :pypi:`pytest-rerunfailures` - *last release*: May 22, 2026, + *last release*: Aug 13, 2026, *status*: 5 - Production/Stable, - *requires*: pytest!=8.2.2,>=8.1 + *requires*: pytest!=8.2.2,>=8.2 pytest plugin to re-run tests to eliminate flaky failures @@ -12578,8 +12965,15 @@ This list contains 2004 plugins. Pytest fixture for recording and replaying serial port traffic. + :pypi:`pytest-resilience-agent` + *last release*: Jun 25, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=8.0 + + pytest plugin that runs your LLM app under controlled chaos (timeouts, brownouts, rate limits, MCP errors, composed failures) and asserts it still meets its contract + :pypi:`pytest-resilient-circuits` - *last release*: Apr 29, 2026, + *last release*: Jul 14, 2026, *status*: N/A, *requires*: pytest~=7.0 @@ -12621,9 +13015,9 @@ This list contains 2004 plugins. Simplified requests calls mocking for pytest :pypi:`pytest-responses` - *last release*: Oct 11, 2022, + *last release*: Jun 29, 2026, *status*: N/A, - *requires*: pytest (>=2.5) + *requires*: pytest>=2.5 py.test integration for responses @@ -12663,7 +13057,7 @@ This list contains 2004 plugins. Default template for PDM package :pypi:`pytest-results` - *last release*: Oct 08, 2025, + *last release*: Jun 21, 2026, *status*: 4 - Beta, *requires*: pytest @@ -12718,6 +13112,13 @@ This list contains 2004 plugins. Default template for PDM package + :pypi:`pytest-resumable-stepmetrics` + *last release*: Aug 09, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + Structured step-level metadata, retry/attempt tracking, and resume-on-retry for pytest — with a pluggable custom-record extension system. + :pypi:`pytest-resume` *last release*: Apr 22, 2023, *status*: 4 - Beta, @@ -12768,7 +13169,7 @@ This list contains 2004 plugins. Pytest plugin to reverse test order. :pypi:`pytest-review` - *last release*: Apr 12, 2026, + *last release*: Aug 10, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.0.0 @@ -12838,7 +13239,7 @@ This list contains 2004 plugins. pytest plugin for ROAST configuration override and fixtures :pypi:`pytest_robotframework` - *last release*: Dec 22, 2025, + *last release*: Jul 14, 2026, *status*: N/A, *requires*: pytest<10,>=7 @@ -12880,7 +13281,7 @@ This list contains 2004 plugins. Extend py.test for RPC OpenStack testing. :pypi:`pytest-rs` - *last release*: Jun 06, 2026, + *last release*: Jul 27, 2026, *status*: 3 - Alpha, *requires*: N/A @@ -12936,7 +13337,7 @@ This list contains 2004 plugins. implement a --failed option for pytest :pypi:`pytest-run-parallel` - *last release*: Jun 03, 2026, + *last release*: Aug 04, 2026, *status*: 4 - Beta, *requires*: pytest>=6.2.0 @@ -13062,11 +13463,11 @@ This list contains 2004 plugins. pytest_sauce provides sane and helpful methods worked out in clearcode to run py.test tests with selenium/saucelabs :pypi:`pytest-sbase` - *last release*: Jun 05, 2026, + *last release*: Aug 10, 2026, *status*: 5 - Production/Stable, *requires*: N/A - A complete web automation framework for end-to-end testing. + SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools. :pypi:`pytest-scenario` *last release*: Feb 06, 2017, @@ -13153,11 +13554,11 @@ This list contains 2004 plugins. pytest plugin to automatically capture screenshots upon selenium webdriver events :pypi:`pytest-seleniumbase` - *last release*: Jun 05, 2026, + *last release*: Aug 10, 2026, *status*: 5 - Production/Stable, *requires*: N/A - A complete web automation framework for end-to-end testing. + SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools. :pypi:`pytest-selenium-driver` *last release*: Mar 07, 2026, @@ -13180,6 +13581,13 @@ This list contains 2004 plugins. A pytest package implementing perceptualdiff for Selenium tests. + :pypi:`pytest-self-healer` + *last release*: Jun 26, 2026, + *status*: N/A, + *requires*: pytest>=7.0 + + Auto-heal broken Playwright selectors using a local or cloud LLM + :pypi:`pytest-selfie` *last release*: Dec 16, 2024, *status*: N/A, @@ -13258,7 +13666,7 @@ This list contains 2004 plugins. Automatically mocks resources from serverless.yml in pytest using moto. :pypi:`pytest-servers` - *last release*: Dec 21, 2025, + *last release*: Jun 26, 2026, *status*: 3 - Alpha, *requires*: pytest>=6.2 @@ -13447,8 +13855,8 @@ This list contains 2004 plugins. Allow for multiple processes to log to a single file :pypi:`pytest-skill-engineering` - *last release*: Apr 30, 2026, - *status*: 3 - Alpha, + *last release*: Aug 06, 2026, + *status*: 4 - Beta, *requires*: pytest>=9.0 The testing framework for skill engineering. Test tool descriptions, prompt templates, agent skills, and custom agents with real LLMs. AI analyzes results and tells you what to fix. @@ -13530,6 +13938,13 @@ This list contains 2004 plugins. Run tests in order of execution time (faster tests first) + :pypi:`pytest-slurm` + *last release*: Aug 05, 2026, + *status*: 4 - Beta, + *requires*: pytest>=8.4.1 + + pytest plugin for Slurm cluster testing using Docker + :pypi:`pytest-smartcollect` *last release*: Oct 04, 2018, *status*: N/A, @@ -13740,6 +14155,13 @@ This list contains 2004 plugins. Test-ordering plugin for pytest + :pypi:`pytest-sources` + *last release*: Aug 13, 2026, + *status*: 3 - Alpha, + *requires*: pytest<10,>=8.0 + + pytest plugin for running tests on multiple sources + :pypi:`pytest-spark` *last release*: May 21, 2025, *status*: 4 - Beta, @@ -13775,6 +14197,13 @@ This list contains 2004 plugins. Modern benchmarking library for python with pytest integration. + :pypi:`pytest-speedguard` + *last release*: Jul 15, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0 + + A pytest plugin that passively tracks every test's wall-clock duration across runs and flags regressions and newly-slow tests. + :pypi:`pytest-sphinx` *last release*: Jan 21, 2026, *status*: 4 - Beta, @@ -13895,9 +14324,9 @@ This list contains 2004 plugins. pytest plugin with sqlalchemy related fixtures :pypi:`pytest-sqlalchemy-alembic` - *last release*: Jun 05, 2026, + *last release*: Jun 24, 2026, *status*: N/A, - *requires*: pytest>=8.4.0 + *requires*: pytest>=8.4 Pytest plugin to manage databases, sessions and migrations for sqlalchemy-based projects @@ -14090,6 +14519,13 @@ This list contains 2004 plugins. Pytest plugin to store values from test runs + :pypi:`pytest-strawberry` + *last release*: Aug 15, 2026, + *status*: 3 - Alpha, + *requires*: pytest<10.0,>=8.0 + + Pytest plugin for Strawberry GraphQL + :pypi:`pytest-streaming` *last release*: Jan 14, 2026, *status*: 5 - Production/Stable, @@ -14153,6 +14589,13 @@ This list contains 2004 plugins. Pytest Plugin to disable socket calls during tests + :pypi:`pytest-subproc` + *last release*: Jul 18, 2026, + *status*: N/A, + *requires*: pytest>=7.0.0 + + A pytest plugin to run marked tests in a subprocess + :pypi:`pytest-subprocess` *last release*: May 10, 2026, *status*: 5 - Production/Stable, @@ -14160,6 +14603,13 @@ This list contains 2004 plugins. A plugin to fake subprocess for pytest + :pypi:`pytest-subset` + *last release*: Aug 14, 2026, + *status*: N/A, + *requires*: pytest>=7 + + pytest subset plugin for subsetting parametrizes tests. + :pypi:`pytest-subtesthack` *last release*: Jul 16, 2022, *status*: N/A, @@ -14224,7 +14674,7 @@ This list contains 2004 plugins. Generate OpenAPI documentation from pytest tests :pypi:`pytest-swarm` - *last release*: May 29, 2026, + *last release*: Aug 12, 2026, *status*: N/A, *requires*: pytest>=7.0 @@ -14237,6 +14687,13 @@ This list contains 2004 plugins. pytest-symbols is a pytest plugin that adds support for passing test environment symbols into pytest tests. + :pypi:`pytest-synapse` + *last release*: Jun 11, 2026, + *status*: 5 - Production/Stable, + *requires*: pytest>=7.0.0 + + A pytest plugin for OpenAPI contract test coverage + :pypi:`pytest-system-statistics` *last release*: Feb 16, 2022, *status*: 5 - Production/Stable, @@ -14384,6 +14841,13 @@ This list contains 2004 plugins. generate terraform resources to use with pytest + :pypi:`pytest-testaferro` + *last release*: Jul 30, 2026, + *status*: 3 - Alpha, + *requires*: pytest + + pytest plugin for DOS-based CppUTest unit testing, run in a reliquary guest + :pypi:`pytest-test-analyzer` *last release*: Jun 14, 2025, *status*: 4 - Beta, @@ -14413,9 +14877,9 @@ This list contains 2004 plugins. Test configuration plugin for pytest. :pypi:`pytest-testcontainers` - *last release*: May 08, 2026, + *last release*: Aug 07, 2026, *status*: 4 - Beta, - *requires*: pytest<9,>=7.4 + *requires*: pytest<10,>=7.4 Named pytest fixtures and a maker convention on top of testcontainers-python. @@ -14427,9 +14891,9 @@ This list contains 2004 plugins. Pytest plugin for Docker Compose :pypi:`pytest-testcontainers-django` - *last release*: Jun 01, 2026, + *last release*: Aug 07, 2026, *status*: 4 - Beta, - *requires*: pytest<9,>=7.4 + *requires*: pytest<10,>=7.4 Bridge between pytest-testcontainers and pytest-django: starts the DB container before Django imports settings. @@ -14469,11 +14933,11 @@ This list contains 2004 plugins. A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups. :pypi:`pytest-testinel` - *last release*: May 26, 2026, + *last release*: Jul 17, 2026, *status*: 4 - Beta, *requires*: pytest>=7 - Testinel’s pytest plugin captures structured test execution data directly from pytest and sends it to Testinel, where your test results become searchable, comparable, and actually useful. + Testinel’s pytest plugin captures structured Selenium and Playwright test execution data directly from pytest and sends it to Testinel, where your test results become searchable, comparable, and actually useful. :pypi:`pytest-testinfra` *last release*: Mar 30, 2025, @@ -14482,6 +14946,13 @@ This list contains 2004 plugins. Test infrastructures + :pypi:`pytest-testinfra-exporter` + *last release*: Jul 16, 2026, + *status*: N/A, + *requires*: pytest>=7.0 + + Pytest plugin that reports testinfra results to MariaDB or PostgreSQL backends and visualizes on Grafana. + :pypi:`pytest-testinfra-jpic` *last release*: Sep 21, 2023, *status*: 5 - Production/Stable, @@ -14510,6 +14981,13 @@ This list contains 2004 plugins. pytest reporting plugin for testlink + :pypi:`pytest-testmap` + *last release*: Jul 03, 2026, + *status*: N/A, + *requires*: pytest>=9.1.1 + + Pytest plugin for testmap: annotate tests and collect the validation matrix. + :pypi:`pytest-testmon` *last release*: Dec 01, 2025, *status*: 4 - Beta, @@ -14546,7 +15024,7 @@ This list contains 2004 plugins. Plugin to use TestObject Suites with Pytest :pypi:`pytest-test-observer` - *last release*: May 23, 2026, + *last release*: Jun 13, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.0 @@ -14559,6 +15037,13 @@ This list contains 2004 plugins. set your encoding + :pypi:`pytest-test-radar` + *last release*: Aug 08, 2026, + *status*: N/A, + *requires*: N/A + + A pytest plugin to send test statistics to Test Radar. + :pypi:`pytest-testrail` *last release*: Jan 25, 2026, *status*: 5 - Production/Stable, @@ -14755,6 +15240,13 @@ This list contains 2004 plugins. Parallel test execution using threads — true parallelism on free-threaded Python, concurrent I/O on standard builds + :pypi:`pytest-tia` + *last release*: Jun 20, 2026, + *status*: N/A, + *requires*: pytest>=7 + + Test Impact Analysis for pytest — run only the tests your changes affect + :pypi:`pytest-tick` *last release*: Aug 31, 2021, *status*: 5 - Production/Stable, @@ -14762,9 +15254,16 @@ This list contains 2004 plugins. Ticking on tests - :pypi:`pytest_time` - *last release*: Dec 01, 2025, - *status*: 3 - Alpha, + :pypi:`pytest-tidy` + *last release*: Jul 15, 2026, + *status*: 4 - Beta, + *requires*: pytest>=7.0; extra == "dev" + + A static, AST-based test-smell linter for pytest suites. + + :pypi:`pytest-time` + *last release*: Jul 08, 2026, + *status*: 4 - Beta, *requires*: pytest @@ -14979,6 +15478,13 @@ This list contains 2004 plugins. py.test plugin for testing Python 3.5+ Tornado code + :pypi:`pytest-tqdm` + *last release*: Jul 13, 2026, + *status*: 4 - Beta, + *requires*: pytest>=8.0 + + A single aggregated tqdm progress bar for pytest, xdist-aware, with failures printed above the bar. Interactive-only. + :pypi:`pytest-trace` *last release*: Jun 19, 2022, *status*: N/A, @@ -15028,6 +15534,13 @@ This list contains 2004 plugins. Pytest plugin for trepan debugger. + :pypi:`pytest-triage` + *last release*: Jul 31, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.0 + + Structured failure triage for pytest, with optional LLM verdicts. + :pypi:`pytest-trialtemp` *last release*: Jun 08, 2015, *status*: N/A, @@ -15043,7 +15556,7 @@ This list contains 2004 plugins. Pytest plugin for trio :pypi:`pytest-tripwire` - *last release*: May 01, 2026, + *last release*: Aug 07, 2026, *status*: 3 - Alpha, *requires*: pytest>=7.4.0; extra == "dev" @@ -15085,11 +15598,11 @@ This list contains 2004 plugins. Text User Interface (TUI) and HTML report for Pytest test runs :pypi:`pytest-tui-run` - *last release*: Jun 05, 2026, + *last release*: Jun 12, 2026, *status*: N/A, *requires*: pytest - TUI runner for \`pytest\` tests + TUI for running pytest :pypi:`pytest-tui-runner` *last release*: Dec 12, 2025, @@ -15126,6 +15639,13 @@ This list contains 2004 plugins. A twisted plugin for pytest. + :pypi:`pytest-txtar` + *last release*: Aug 12, 2026, + *status*: N/A, + *requires*: pytest>=8 + + Txtar-driven contract testing for command-line tools: sandboxed runs, normalized assertions, golden update. + :pypi:`pytest-ty` *last release*: Apr 24, 2026, *status*: 4 - Beta, @@ -15196,6 +15716,13 @@ This list contains 2004 plugins. A Pytest plugin that transparently re-runs tests under a matrix of timezones and locales. + :pypi:`pytest-u2device` + *last release*: Jun 10, 2026, + *status*: N/A, + *requires*: pytest>=9.0.3 + + Pytest plugin for exposing uiautomator2 Android devices as fixtures + :pypi:`pytest-ubersmith` *last release*: Apr 13, 2015, *status*: N/A, @@ -15210,6 +15737,13 @@ This list contains 2004 plugins. Text User Interface for running python tests + :pypi:`pytest-uia` + *last release*: Jul 29, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.4 + + Windows GUI acceptance testing for pytest: find and drive elements through the UI Automation accessibility tree, with OCR only as a last resort for surfaces that have none. + :pypi:`pytest-ui-failed-screenshot` *last release*: Dec 06, 2022, *status*: N/A, @@ -15266,6 +15800,13 @@ This list contains 2004 plugins. A pytest plugin to run tests using unittest-style test IDs + :pypi:`pytest-unity` + *last release*: Aug 03, 2026, + *status*: N/A, + *requires*: pytest>=8.4.2 + + A pytest plugin for running Unity C tests + :pypi:`pytest-unmagic` *last release*: Jun 04, 2026, *status*: 5 - Production/Stable, @@ -15281,7 +15822,7 @@ This list contains 2004 plugins. Run only unmarked tests :pypi:`pytest-unordered` - *last release*: Jun 03, 2025, + *last release*: Jun 16, 2026, *status*: 4 - Beta, *requires*: pytest>=7.0.0 @@ -15350,6 +15891,20 @@ This list contains 2004 plugins. + :pypi:`pytest-var` + *last release*: Jul 08, 2026, + *status*: N/A, + *requires*: pytest>=8 + + pytest plugin for Markdown-native BDD + + :pypi:`pytest-varar` + *last release*: Jul 23, 2026, + *status*: N/A, + *requires*: pytest>=8 + + pytest plugin for Markdown-native BDD + :pypi:`pytest-variables` *last release*: Feb 01, 2024, *status*: 5 - Production/Stable, @@ -15442,7 +15997,7 @@ This list contains 2004 plugins. Virtualenv fixture for py.test :pypi:`pytest-visionspec` - *last release*: Jun 02, 2026, + *last release*: Jul 16, 2026, *status*: N/A, *requires*: pytest>=7.0 @@ -15462,6 +16017,13 @@ This list contains 2004 plugins. A pytest plugin to leverage the Vitro framework for test automation. + :pypi:`pytest-vivarium` + *last release*: Jul 23, 2026, + *status*: N/A, + *requires*: N/A + + Shared pytest configuration and fixtures for Vivarium projects. + :pypi:`pytest-vnc` *last release*: Nov 06, 2023, *status*: N/A, @@ -15658,6 +16220,13 @@ This list contains 2004 plugins. pytest addon for displaying the whole node id for failures + :pypi:`pytest-why` + *last release*: Jun 14, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7 + + A pytest plugin that explains failing tests like a senior engineer. + :pypi:`pytest-win32consoletitle` *last release*: Aug 08, 2021, *status*: N/A, @@ -15714,6 +16283,13 @@ This list contains 2004 plugins. A pytest plugin for configuring workflow/pipeline tests using YAML files + :pypi:`pytest-xa11y` + *last release*: Aug 07, 2026, + *status*: 3 - Alpha, + *requires*: pytest>=7.0 + + pytest fixtures, capability markers and failure diagnostics for desktop UI testing with xa11y + :pypi:`pytest-xdist` *last release*: Jul 01, 2025, *status*: 5 - Production/Stable, diff --git a/doc/en/reference/reference.rst b/doc/en/reference/reference.rst index 7972663421c..ea7eff68f5d 100644 --- a/doc/en/reference/reference.rst +++ b/doc/en/reference/reference.rst @@ -3448,7 +3448,8 @@ All the command-line flags can also be obtained by running ``pytest --help``:: verbosity level. -q, --quiet Decrease verbosity --verbosity=VERBOSE Set verbosity. Default: 0. - -r chars Show extra test summary info as specified by chars: + -r, --report-chars chars + Show extra test summary info as specified by chars: (f)ailed, (E)rror, (s)kipped, (x)failed, (X)passed, (p)assed, (P)assed with output, (a)ll except passed (p/P), or (A)ll. (w)arnings are enabled by default @@ -3480,8 +3481,8 @@ All the command-line flags can also be obtained by running ``pytest --help``:: -W, --pythonwarnings PYTHONWARNINGS Set which warnings to report, see -W option of Python itself - --max-warnings=num Exit with error if the number of warnings exceeds - this threshold + --max-warnings=num Exit with error if all tests pass but the number of + warnings exceeds this threshold collection: --collect-only, --co Only collect tests, don't execute them @@ -3605,8 +3606,8 @@ All the command-line flags can also be obtained by running ``pytest --help``:: warnings.filterwarnings. Processed after -W/--pythonwarnings. max_warnings (string): - Maximum number of warnings allowed before failing - the test run + Exit with error if all tests pass but the number of + warnings exceeds this threshold norecursedirs (args): Directory patterns to avoid for recursion testpaths (args): Directories to search for tests when no files or directories are given on the command line @@ -3662,6 +3663,9 @@ All the command-line flags can also be obtained by running ``pytest --help``:: truncation_limit_chars (string): Set threshold of CHARS after which truncation will take effect + assertion_text_diff_style (string): + Choose how pytest renders diffs for string equality + assertions: ndiff or block verbosity_assertions (string): Specify a verbosity level for assertions, overriding the main level. Higher levels will provide more diff --git a/src/_pytest/config/__init__.py b/src/_pytest/config/__init__.py index bc75c1e16fc..96b3dd6a86a 100644 --- a/src/_pytest/config/__init__.py +++ b/src/_pytest/config/__init__.py @@ -645,18 +645,18 @@ def _set_initial_conftests( if i != -1: path = path[:i] anchor = absolutepath(invocation_dir / path) - # Ensure we do not break if what appears to be an anchor # is in fact a very long option (#10169, #11394). - if safe_exists(anchor): - anchors.append(anchor) - # Let's also consider test* subdirs. - if anchor.is_dir(): - for x in anchor.glob("test*"): - if x.is_dir(): - anchors.append(x) + if not safe_exists(anchor): + continue + + anchors.append(anchor) + # Let's also consider test* subdirs. + if anchor.is_dir(): + anchors.extend(x for x in anchor.glob("test*") if x.is_dir()) if not anchors: - anchors = [invocation_dir] + anchors.append(invocation_dir) + anchors.extend(x for x in invocation_dir.glob("test*") if x.is_dir()) for anchor in anchors: self._loadconftestmodules( diff --git a/src/_pytest/fixtures.py b/src/_pytest/fixtures.py index c60823ed510..f4ca2eac455 100644 --- a/src/_pytest/fixtures.py +++ b/src/_pytest/fixtures.py @@ -64,6 +64,7 @@ from _pytest.deprecated import PARSEFACTORIES_NODEID_DEPRECATED from _pytest.deprecated import YIELD_FIXTURE from _pytest.main import Session +from _pytest.mark import Mark from _pytest.mark import ParameterSet from _pytest.mark.structures import MarkDecorator from _pytest.outcomes import fail @@ -1898,10 +1899,23 @@ def sort_by_scope(arg_name: str) -> Scope: def pytest_generate_tests(self, metafunc: Metafunc) -> None: """Generate new tests based on parametrized fixtures used by the given metafunc""" + + def get_parametrize_mark_argnames(mark: Mark) -> Sequence[str]: + args, _ = ParameterSet._parse_parametrize_args(*mark.args, **mark.kwargs) + return args + for argname in metafunc.fixturenames: # Get the FixtureDefs for the argname. fixture_defs = metafunc._arg2fixturedefs.get(argname, ()) + # If the test itself parametrizes using this argname, give it + # precedence. + if any( + argname in get_parametrize_mark_argnames(mark) + for mark in metafunc.definition.iter_markers("parametrize") + ): + continue + # In the common case we only look at the fixture def with the # closest scope (last in the list). But if the fixture overrides # another fixture, while requesting the super fixture, keep going diff --git a/src/_pytest/mark/structures.py b/src/_pytest/mark/structures.py index 35fd24f8f96..5449b17a1c6 100644 --- a/src/_pytest/mark/structures.py +++ b/src/_pytest/mark/structures.py @@ -21,7 +21,6 @@ import warnings from .._code import getfslineno -from ..compat import deprecated from ..compat import NOTSET from ..compat import NotSetType from _pytest.config import Config @@ -537,31 +536,16 @@ def __call__( ) -> MarkDecorator: ... class _ParametrizeMarkDecorator(MarkDecorator): - @overload # type: ignore[override,no-overload-impl] - def __call__( - self, - argnames: str | Sequence[str], - argvalues: Collection[ParameterSet | Sequence[object] | object], - *, - indirect: bool | Sequence[str] = ..., - ids: Iterable[None | str | float | int | bool | _HiddenParam] - | Callable[[Any], object | None] - | None = ..., - scope: ScopeName | None = ..., - ) -> MarkDecorator: ... - - @overload - @deprecated( - "Passing a non-Collection iterable to the 'argvalues' parameter of @pytest.mark.parametrize is deprecated. " - "Convert argvalues to a list or tuple.", - ) - def __call__( + def __call__( # type: ignore[override] self, argnames: str | Sequence[str], argvalues: Iterable[ParameterSet | Sequence[object] | object], + # TODO(pytest10): Change to below after PARAMETRIZE_NON_COLLECTION_ITERABLE deprecation. + # Overload doesn't work, see #14606. + # argvalues: Collection[ParameterSet | Sequence[object] | object], *, indirect: bool | Sequence[str] = ..., - ids: Iterable[None | str | float | int | bool] + ids: Iterable[None | str | float | int | bool | _HiddenParam] | Callable[[Any], object | None] | None = ..., scope: ScopeName | None = ..., diff --git a/src/_pytest/pathlib.py b/src/_pytest/pathlib.py index 291bdf4ecbf..3f49d4f55dd 100644 --- a/src/_pytest/pathlib.py +++ b/src/_pytest/pathlib.py @@ -1051,4 +1051,12 @@ def samefile_nofollow(p1: Path, p2: Path) -> bool: Unlike Path.samefile(), does not resolve symlinks. """ - return os.path.samestat(p1.lstat(), p2.lstat()) + s1, s2 = p1.lstat(), p2.lstat() + # On Windows st_ino is the file ID, which file systems are free to not support, + # in which case it is 0 for every file -- WinFsp mounts such as sshfs-win are one + # example. os.path.samestat() would then consider any two files on the volume to + # be the same (python/cpython#78116), so treat a zero file ID as "unknown" and + # leave the caller with plain path comparison (#14864). + if s1.st_ino == 0 or s2.st_ino == 0: + return False + return os.path.samestat(s1, s2) diff --git a/src/_pytest/raises.py b/src/_pytest/raises.py index aeaf82bee5c..ef91cc2c9fb 100644 --- a/src/_pytest/raises.py +++ b/src/_pytest/raises.py @@ -1354,7 +1354,7 @@ def _check_exceptions( f"\n{indent_1}{self._repr_expected(self.expected_exceptions[i_failed])}" ) for i_actual, actual in enumerate(actual_exceptions): - if results.get_result(i_exp, i_actual) is None: + if results.get_result(i_failed, i_actual) is None: # we print full repr of match target s += ( f"\n{indent_2}It matches {backquote(repr(actual))} which was paired with " diff --git a/testing/_py/test_local.py b/testing/_py/test_local.py index be6f4197b26..a233b916ae6 100644 --- a/testing/_py/test_local.py +++ b/testing/_py/test_local.py @@ -1464,7 +1464,7 @@ def recfilter(x): x.chmod(y) def test_copy_archiving(self, tmpdir): - unicode_fn = "something-\342\200\223.txt" + unicode_fn = "something-\xe2\x80\x93.txt" f = tmpdir.ensure("a", unicode_fn) a = f.dirpath() oldmode = f.stat().mode diff --git a/testing/python/fixtures.py b/testing/python/fixtures.py index de3f7764aa7..7000eeccbbd 100644 --- a/testing/python/fixtures.py +++ b/testing/python/fixtures.py @@ -1185,10 +1185,13 @@ def test_setupdecorator_and_xunit(self, pytester: Pytester) -> None: pytester.makepyfile( """ import pytest + values = [] + @pytest.fixture(scope='module', autouse=True) def setup_module(): values.append("module") + @pytest.fixture(autouse=True) def setup_function(): values.append("function") @@ -1196,18 +1199,28 @@ def setup_function(): def test_func(): pass - class TestClass(object): + class TestClass: @pytest.fixture(scope="class", autouse=True) - def setup_class(self): + @classmethod + def setup_class(cls): values.append("class") + @pytest.fixture(autouse=True) def setup_method(self): values.append("method") + def test_method(self): pass + def test_all(): - assert values == ["module", "function", "class", - "function", "method", "function"] + assert values == [ + "module", + "function", + "class", + "function", + "method", + "function", + ] """ ) reprec = pytester.inline_run("-v") @@ -2467,7 +2480,8 @@ def pytest_generate_tests(metafunc): class TestClass: @pytest.fixture(scope="class", autouse=True) - def setup_teardown(self, item): + @classmethod + def setup_teardown(cls, item): values.append("setup-%d" % item) yield values.append("teardown-%d" % item) @@ -2624,6 +2638,32 @@ def test_foo(fixt, val): reprec = pytester.inline_run() reprec.assertoutcome(passed=2) + def test_override_parametrized_fixture_with_indirect( + self, pytester: Pytester + ) -> None: + """Make sure a parametrized argument can override a parametrized fixture. + + This was a regression introduced in the fix for #736. + """ + pytester.makepyfile( + """ + import pytest + + @pytest.fixture(params=["a"]) + def fixt(request): + return request.param * 2 + + def test_fixt(fixt): + assert fixt == "aa" + + @pytest.mark.parametrize("fixt", ['b'], indirect=True) + def test_indirect(fixt): + assert fixt == "bb" + """ + ) + reprec = pytester.inline_run() + reprec.assertoutcome(passed=2) + def test_scope_session(self, pytester: Pytester) -> None: pytester.makepyfile( """ @@ -3246,21 +3286,26 @@ def param1(request): values = [] class TestClass(object): - @classmethod @pytest.fixture(scope="class", autouse=True) - def setup1(self, request, param1): + @classmethod + def setup1(cls, request, param1): values.append(1) - request.addfinalizer(self.teardown1) + request.addfinalizer(cls.teardown1) + @classmethod def teardown1(self): assert values.pop() == 1 + @pytest.fixture(scope="class", autouse=True) - def setup2(self, request, param1): + @classmethod + def setup2(cls, request, param1): values.append(2) - request.addfinalizer(self.teardown2) + request.addfinalizer(cls.teardown2) + @classmethod - def teardown2(self): + def teardown2(cls): assert values.pop() == 2 + def test(self): pass diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py index 96c4819e127..916bf1fdbd2 100644 --- a/testing/python/metafunc.py +++ b/testing/python/metafunc.py @@ -1743,7 +1743,8 @@ def test_2(): class Test: @pytest.fixture(scope="class") - def fixture(self, fixture): + @classmethod + def fixture(cls, fixture): pass @pytest.mark.parametrize("fixture", [0], indirect=True) diff --git a/testing/python/raises_group.py b/testing/python/raises_group.py index 8b311bd0eed..950e71753c2 100644 --- a/testing/python/raises_group.py +++ b/testing/python/raises_group.py @@ -1350,3 +1350,21 @@ def test_tuples() -> None: ), ): RaisesGroup((ValueError, IndexError)) # type: ignore[call-overload] + + +def test_expected_matching_only_on_matching() -> None: + """Regression test for #14220, logic error which caused the "which was + paired with" message to appear for wrong pairs.""" + with ( + fails_raises_group( + "\n" + "1 matched exception. \n" + "Too few exceptions raised!\n" + "The following expected exceptions did not find a match:\n" + " ValueError\n" + " TypeError\n" + " It matches `TypeError()` which was paired with `TypeError`", + ), + RaisesGroup(TypeError, ValueError, TypeError), + ): + raise ExceptionGroup("", [TypeError()]) diff --git a/testing/test_conftest.py b/testing/test_conftest.py index 60bcbbf1d41..23a0db81c39 100644 --- a/testing/test_conftest.py +++ b/testing/test_conftest.py @@ -440,6 +440,28 @@ def pytest_addoption(parser): result.stdout.fnmatch_lines(["*--xyz*"]) +def test_conftests_in_invocation_dir_tests_is_initial(pytester: Pytester) -> None: + """An option registered in a conftest under ``test*`` subdir of the + invocation dir is loaded as initial when no command-line arguments + or `testpaths` are given (#14608). + """ + pytester.makepyfile( + **{ + "tests/conftest.py": """ + def pytest_addoption(parser): + parser.addoption("--db-url") + """, + "test_it.py": """ + def test_it(request): + assert request.config.getoption("--db-url") == "scheme://host/db" + """, + } + ) + result = pytester.runpytest("--db-url", "scheme://host/db") + assert result.ret == ExitCode.OK + result.assert_outcomes(passed=1) + + def test_conftest_import_order(pytester: Pytester, monkeypatch: MonkeyPatch) -> None: ct1 = pytester.makeconftest("") sub = pytester.mkdir("sub") diff --git a/testing/test_pathlib.py b/testing/test_pathlib.py index bd85b7e8fb4..6f37ecf5158 100644 --- a/testing/test_pathlib.py +++ b/testing/test_pathlib.py @@ -38,6 +38,7 @@ from _pytest.pathlib import resolve_package_path from _pytest.pathlib import resolve_pkg_root_and_module_name from _pytest.pathlib import safe_exists +from _pytest.pathlib import samefile_nofollow from _pytest.pathlib import scandir from _pytest.pathlib import spec_matches_module_path from _pytest.pathlib import symlink_or_skip @@ -570,6 +571,38 @@ def test_samefile_false_negatives(tmp_path: Path, monkeypatch: MonkeyPatch) -> N assert getattr(module, "foo")() == 42 +def test_samefile_nofollow(tmp_path: Path) -> None: + p1 = tmp_path / "test_one.py" + p2 = tmp_path / "test_two.py" + p1.touch() + p2.touch() + + assert samefile_nofollow(p1, p1) + assert not samefile_nofollow(p1, p2) + + +def test_samefile_nofollow_zero_file_id( + tmp_path: Path, monkeypatch: MonkeyPatch +) -> None: + """On Windows file systems which do not support file IDs, st_ino is 0 for every + file, which must not make two distinct files compare equal (#14864).""" + p1 = tmp_path / "test_one.py" + p2 = tmp_path / "test_two.py" + p1.touch() + p2.touch() + + # st_dev is a real value (the volume serial number), only the file ID is missing. + zero_file_id = os.stat_result((0o100644, 0, 3816903231, 1, 0, 0, 0, 0, 0, 0)) + with monkeypatch.context() as mp: + # Use a context to narrow the patch as much as possible, given how central + # Path.lstat() is. + mp.setattr(Path, "lstat", lambda self: zero_file_id) + + assert not samefile_nofollow(p1, p2) + # Also for the same file -- the caller compares paths first anyway. + assert not samefile_nofollow(p1, p1) + + def test_scandir_with_non_existent_directory() -> None: # Test with a directory that does not exist non_existent_dir = "path_to_non_existent_dir" diff --git a/testing/test_unittest.py b/testing/test_unittest.py index 5d74d514c3c..20287d12cb3 100644 --- a/testing/test_unittest.py +++ b/testing/test_unittest.py @@ -867,9 +867,11 @@ def test_unittest_setup_interaction(pytester: Pytester, stmt: str) -> None: import pytest class MyTestCase(unittest.TestCase): @pytest.fixture(scope="class", autouse=True) - def perclass(self, request): + @classmethod + def perclass(cls, request): request.cls.hello = "world" {stmt} + @pytest.fixture(scope="function", autouse=True) def perfunction(self, request): request.instance.funcname = request.function.__name__ diff --git a/testing/typing_checks.py b/testing/typing_checks.py index 455313d61aa..1179f3f5d19 100644 --- a/testing/typing_checks.py +++ b/testing/typing_checks.py @@ -67,15 +67,14 @@ def test_hidden_param(x: int) -> None: pass -# Test @pytest.mark.parametrize iterator argvalues deprecation. -# Will be complain about unused type ignore if doesn't work. -@pytest.mark.parametrize("x", iter(range(10))) # type: ignore[deprecated] -def test_it(x: int) -> None: - pass - - # Issue #14137. def check_scope_typing() -> None: custom_scope: ScopeName = "function" assert_type(custom_scope, ScopeName) + + +# Issue #14606. +@pytest.mark.parametrize("x", [ImportError, AttributeError]) +def check_mypy_bug_with_argvalues(x) -> None: + pass