Top pytest Plugins

This is intended to find the most popular (as determined by download count) pytest plugins, as plugins usually have “pytest” in the name.
Counts are the number of downloads over 30 days.

The list

Data last updated: 2026-03-01 07:34:08

# Package Downloads Summary
1 pytest-cov 125,305,202 pytest plugin for measuring coverage.
Test and Code episode pytest-cov : The pytest plugin for measuring coverage
2 pytest-asyncio 117,135,896 pytest support for asyncio
3 pytest-xdist 78,297,479 pytest xdist plugin for distributed testing, most importantly across multiple CPUs
4 pytest-mock 69,170,032 Thin-wrapper around the mock package for easier use with pytest
Test and Code episode pytest-mock : Mocking in pytest
5 pytest-timeout 37,182,213 pytest plugin to abort hanging tests
6 pytest-rerunfailures 25,663,680 pytest plugin to re-run tests to eliminate flaky failures
7 pytest-metadata 24,408,102 pytest plugin for test session metadata
Test and Code episode pytest-metadata - provides access to test session metadata
8 pytest-json-ctrf 22,842,493 pytest plugin to generate json report in CTRF (Common Test Report Format)
9 hypothesis 20,982,553 The property-based testing library for Python
Includes a small pytest plugin.
10 pytest-html 17,563,741 pytest plugin for generating HTML reports
Test and Code episode pytest-html - a plugin that generates HTML reports for test results
11 pytest-env 15,943,891 pytest plugin that allows you to add environment variables.
12 pytest-django 11,603,452 A Django plugin for pytest.
Test and Code episode pytest-django with Adam Johnson
13 pytest-split 10,533,490 pytest plugin which splits the test suite to equally sized sub suites based on test execution time.
14 pytest-repeat 8,350,041 pytest plugin for repeating tests
Test and Code episode pytest-repeat - works fine on Python 3.14
15 pytest-benchmark 8,315,492 A pytest fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer.
16 pytest-socket 7,601,339 pytest Plugin to disable socket calls during tests
17 pytest-json-report 7,564,182 A pytest plugin to report test results as JSON files
Seems no longer supported, but leaving here to recommend pytest-json-report-wip
18 pytest-unordered 6,973,050 Test equality of unordered collections in pytest
19 syrupy 6,620,009 pytest Snapshot Test Utility
20 pytest-custom-exit-code 6,158,551 Exit pytest test session with custom exit code in different scenarios
21 pytest-icdiff 5,928,051 use icdiff for better error messages in pytest assertions
22 pytest-instafail 5,873,996 pytest plugin to show failures instantly
23 pytest-base-url 5,641,589 pytest plugin for URL based testing
24 allure-pytest 5,322,892 Allure pytest integration
25 pytest-playwright 5,170,972 A pytest wrapper with fixtures for Playwright to automate web browsers
26 pytest-sugar 5,112,898 pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly).
27 pytest-httpx 5,064,018 Send responses to httpx.
28 pytest-ordering 5,037,417 pytest plugin to run your tests in a specific order
29 pytest-randomly 4,780,644 pytest plugin to randomly order tests and control random.seed.
30 pytest-order 4,041,347 pytest plugin to run your tests in a specific order
31 pytest-postgresql 3,991,269 Postgresql fixtures and fixture factories for pytest.
32 pytest-subtests 3,690,646 unittest subTest() support and subtests fixture
Test and Code episode Subtests in Python with unittest and pytest
33 pytest-dotenv 3,685,182 A py.test plugin that parses environment files before running tests
34 pytest-httpserver 3,145,931 pytest-httpserver is a httpserver for pytest
35 pytest-recording 3,087,825 A pytest plugin powered by VCR.py to record and replay HTTP traffic
36 pytest-retry 3,020,640 Adds the ability to retry flaky tests in CI environments
37 pytest-aiohttp 3,018,940 pytest plugin for aiohttp support
38 pytest-check 2,954,706 A pytest plugin that allows multiple failures per test.
Test and Code episode pytest-check - allow multiple failures per test
39 pytest-homeassistant-custom-component 2,801,887 Experimental package to automatically extract test plugins for Home Assistant custom components
40 pytest-assume 2,447,318 A pytest plugin that allows multiple failures per test
41 pytest-dependency 2,329,886 Manage dependencies of tests
42 pytest-random-order 2,284,243 Randomise the order in which pytest tests are run with some control over the randomness
43 pytest-test-groups 2,083,376 A pytest plugin for running a subset of your tests by splitting them in to equally sized groups.
44 pytest-bdd 2,050,511 BDD for pytest
45 pytest-vcr 2,025,627 Plugin for managing VCR.py cassettes
46 pytest-github-actions-annotate-failures 2,007,505 pytest plugin to annotate failed tests with a workflow command for GitHub Actions
47 pytest-freezegun 1,866,755 Wrap tests with fixtures in freeze_time
48 pytest-profiling 1,845,617 Profiling plugin for py.test
49 pytest-timeouts 1,828,904 Linux-only pytest plugin to control durations of various test case execution phases
50 pytest-codspeed 1,798,294 pytest plugin to create CodSpeed benchmarks
51 pytest-snapshot 1,755,451 A plugin for snapshot testing with pytest.
52 pytest-celery 1,750,171 pytest plugin for Celery
53 pytest-factoryboy 1,625,085 Factory Boy support for pytest.
54 pytest-docker-tools 1,610,018 Docker integration tests for pytest
55 pytest-watcher 1,540,853 Automatically rerun your tests on file modifications
56 pytest-testmon 1,526,670 selects tests affected by changed files and methods
57 pytest-memray 1,425,108 A simple plugin to use with pytest
58 pytest-lazy-fixture 1,280,740 It helps to use fixtures in pytest.mark.parametrize
59 pytest-flask 1,262,488 A set of py.test fixtures to test Flask applications.
60 pytest-durations 1,213,197 pytest plugin reporting fixtures and test functions execution time.
61 pytest-docker 1,181,569 Simple pytest fixtures for Docker and Docker Compose based tests
62 pytest-datadir 1,057,704 pytest plugin for test data directories and files
63 pytest-flakefinder 1,010,174 Runs tests multiple times to expose flakiness.
64 pytest-find-dependencies 922,621 A pytest plugin to find dependencies between tests
65 pytest-race 889,881 Race conditions tester for pytest
66 pytest-pretty 865,708 pytest plugin for printing summary data as I want it
67 pytest-watch 855,265 Local continuous test runner with pytest and watchdog.
68 pytest-alembic 841,571 A pytest plugin for verifying alembic migrations.
69 pytest-freezer 778,522 pytest plugin providing a fixture interface for spulec/freezegun
70 pytest-testinfra 767,645 Test infrastructures
71 pytest-azurepipelines 751,875 Formatting PyTest output for Azure Pipelines UI
72 pytest-lazy-fixtures 714,581 Allows you to use fixtures in @pytest.mark.parametrize.
73 pytest-opentelemetry 706,850 A pytest plugin for instrumenting test runs via OpenTelemetry
74 pytest-sftpserver 704,874 py.test plugin to locally test sftp server connections.
75 pytest-ansible 664,956 Plugin for pytest to simplify calling ansible modules from tests or fixtures
76 pytest-cases 655,209 Separate test code from test cases in pytest.
77 pytest-deadfixtures 605,247 A simple plugin to list unused fixtures in pytest
78 pytest-examples 599,593 pytest plugin for testing examples in docstrings and markdown files.
79 pytest-reportportal 592,977 Agent for Reporting results of tests to the Report Portal
80 pytest-reportlog 568,744 Replacement for the –resultlog option, focused in simplicity and extensibility
81 pytest-nunit 554,243 A pytest plugin for generating NUnit3 test result XML output
82 pytest-doctestplus 549,919 pytest plugin with advanced doctest features.
83 pytest-qt 545,262 pytest support for PyQt and PySide applications
84 pytest-subprocess 528,726 A plugin to fake subprocess for pytest
85 pytest-plus 499,847 PyTest Plus Plugin :: extends pytest functionality
86 pytest-regressions 486,887 Easy to use fixtures to write regression tests.
87 pytest-mypy 461,022 A pytest Plugin for Mypy
88 pytest-pylint 454,995 pytest plugin to check source code with pylint
89 pytest-clarity 454,653 A plugin providing an alternative, colourful diff output for failing assertions.
90 pytest-trio 450,877 pytest plugin for trio
91 pytest-mpl 442,485 pytest plugin to help with testing figures output from Matplotlib
92 pytest-flake8 426,761 pytest plugin to check FLAKE8 requirements
93 pytest-describe 414,568 Describe-style plugin for pytest
94 pytest-picked 406,468 Run the tests related to the changed files
95 pytest-variables 405,198 pytest plugin for providing variables to tests/fixtures
96 pytest-cache 398,439 pytest plugin with mechanisms for caching across test runs
97 pytest-shutil 394,822 A goodie-bag of unix shell and environment tools for py.test
98 pytest-mock-resources 373,956 A pytest plugin for easily instantiating reproducible mock resources.
99 pytest-remotedata 360,116 pytest plugin for controlling remote data access.
100 pytest-selenium 356,422 pytest plugin for Selenium
101 pytest-markdown-docs 353,872 Run markdown code fences through pytest
102 pytest-localserver 350,646 pytest plugin to test server connections locally.
103 pytest-spark 344,991 pytest plugin to run the tests with support of pyspark.
104 pylint-pytest 341,480 A Pylint plugin to suppress pytest-related false positives.
105 pytest-csv 339,376 CSV output for pytest.
106 pytest-md-report 339,223 A pytest plugin to generate test outcomes reports with markdown table format.
Test and Code episode pytest-md and pytest-md-report: Markdown reports for pytest
107 pytest-filter-subpackage 329,238 pytest plugin for filtering based on sub-packages
108 pytest-mysql 324,493 MySQL process and client fixtures for pytest
109 pytest-tornasync 289,774 py.test plugin for testing Python 3.5+ Tornado code
110 pytest-structlog 284,104 Structured logging assertions
111 pytest-cpp 273,839 Use pytest’s runner to discover and execute C++ tests
112 pytest-arraydiff 266,617 pytest plugin to help with comparing array output from tests
113 pytest-timestamper 264,137 pytest plugin to add a timestamp prefix to the pytest output
114 pytest-astropy 264,127 Meta-package containing dependencies for testing
115 pytest-astropy-header 258,250 pytest plugin to add diagnostic information to the header of the test output
116 pytest-loguru 237,305 pytest Loguru
117 pytest-reraise 236,118 Make multi-threaded pytest test cases fail when they should
118 pytest-console-scripts 227,545 pytest plugin for testing console scripts
119 pytest-md 226,323 Plugin for generating Markdown reports for pytest results
Test and Code episode pytest-md and pytest-md-report: Markdown reports for pytest
120 pytest-mypy-plugins 218,659 pytest plugin for writing tests for mypy plugins
121 pytest-harvest 215,603 Store data created during your pytest tests execution, and retrieve it at the end of the session, e.g. for applicative benchmarking purposes.
122 pytest-regex 211,716 Select pytest tests with regular expressions
123 pytest-tornado 210,813 A py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications.
124 pytest-skip-slow 203,868 A pytest plugin to skip @pytest.mark.slow tests by default.
125 pytest-twisted 203,665 A twisted plugin for pytest.
126 pytest-xvfb 201,497 A pytest plugin to run Xvfb (or Xephyr/Xvnc) for tests.
127 pytest-json 200,010 Generate JSON test reports
128 pytest-incremental 199,516 an incremental test runner (pytest plugin)
129 pytest-tagging 199,431 a pytest plugin to tag tests
130 pytest-redis 198,294 Redis fixtures and fixture factories for pytest.
131 pytest-helpers-namespace 195,058 pytest Helpers Namespace Plugin
132 pytest-logger 194,894 Plugin configuring handlers for loggers from Python logging module.
133 pytest-anyio 189,462 The pytest anyio plugin is built into anyio. You don’t need this package.
134 pytest-integration 188,595 Organizing pytests by integration or not
135 pytest-pep8 185,146 pytest plugin to check PEP8 requirements
136 pytest-reporter 176,495 Generate pytest reports with templates
137 pytest-fixture-config 176,410 Fixture configuration utils for py.test
138 pytest-xprocess 169,681 A pytest plugin for managing processes across test runs.
139 flake8-pytest-style 168,525 A flake8 plugin checking common style issues or inconsistencies with pytest-based tests.
140 pytest-slack 167,471 pytest to Slack reporting plugin
141 pytest-reporter-html1 163,271 A basic HTML report template for pytest
142 pytest-embedded-serial 162,110 Make pytest-embedded plugin work with Serial.
143 pytest-runtime-xfail 161,911 Call runtime_xfail() to mark running test as xfail.
144 pytest-excel 160,721 pytest plugin for generating excel reports
145 pytest-parametrization 157,914 Simpler PyTest parametrization
146 pytest-grpc 156,456 pytest plugin for grpc
147 pytest-embedded-serial-esp 154,346 Make pytest-embedded plugin work with Espressif target boards.
148 pytest-pytestrail 148,044 pytest plugin for interaction with TestRail
149 pytest-bazel 147,120 A pytest runner with bazel support
150 pytest-operator 142,474 Fixtures for Charmed Operators
151 pytest-black 136,294 A pytest plugin to enable format checking with black
152 pytest-jira-xray 136,187 pytest plugin to integrate tests with JIRA XRAY
153 pytest-webdriver 134,864 Selenium webdriver fixture for py.test
154 pytest-ruff 133,945 pytest plugin to check ruff requirements.
155 pytest-depends 132,473 Tests that depend on other tests
156 pytest-responses 131,855 py.test integration for responses
157 pytest-emoji 131,812 A pytest plugin that adds emojis to your test result report
158 pytest-rng 130,494 Fixtures for seeding tests and making randomness reproducible
159 pytest-insta 129,164 A practical snapshot testing plugin for pytest
160 pytest-html-merger 129,161 pytest HTML reports merging utility
161 pytest-deepassert 122,908 A pytest plugin for enhanced assertion reporting with detailed diffs
162 pytest-tap 122,849 Test Anything Protocol (TAP) reporting plugin for pytest
163 pytest-print 117,278 pytest-print adds the printer fixture you can use to print messages to the user (directly to the pytest runner, not stdout)
164 pytest-datafiles 116,280 py.test plugin to create a ’tmp_path’ containing predefined files/directories.
165 pytest-cmake 114,360 Provide CMake module for pytest
166 pytest-ignore-test-results 114,326 A pytest plugin to ignore test results.
167 allure-pytest-bdd 114,176 Allure pytest-bdd integration
168 pytestarch 112,858 Test framework for software architecture based on imports between modules
169 pytest-otel 112,140 OpenTelemetry plugin for pytest
170 pytest-embedded-jtag 111,272 Make pytest-embedded plugin work with JTAG.
171 pytest-golden 111,044 Plugin for pytest that offloads expected outputs to data files
172 pytest-schema 110,715 👍 Validate return values against a schema-like object in testing
173 pytest-monitor 107,410 pytest plugin for analyzing resource usage.
174 pytest-archon 106,427 Rule your architecture like a real developer
175 qase-pytest 106,325 Qase pytest Plugin for Qase TestOps and Qase Report
176 pytest-isort 103,669 py.test plugin to check import ordering using isort
177 allure-pytest-default-results 101,666 Generate default “unknown” results to show in Allure Report if test case does not run
178 pytest-spec 98,434 Library pytest-spec is a pytest plugin to display test execution output like a SPECIFICATION.
179 pytest-fail-slow 98,329 Fail tests that take too long to run
180 pytest-testrail 97,120 A pytest plugin for creating TestRail runs and adding results
181 pytest-explicit 96,089 A pytest plugin to ignore certain marked tests by default
182 types-pytest-lazy-fixture 95,069 Typing stubs for pytest-lazy-fixture
183 pytest-container 90,652 pytest fixtures for writing container based tests
184 pytest-xdist-worker-stats 90,455 A pytest plugin to list worker statistics after a xdist run.
185 pytest-mpi 90,258 pytest plugin to collect information from tests
186 pytest-func-cov 90,148 pytest plugin for measuring function coverage
187 pytest-loop 89,453 pytest plugin for looping tests
188 pytest-fastapi-deps 87,554 A fixture which allows easy replacement of fastapi dependencies for testing
189 pytest-logging 85,451 Configures logging and allows tweaking the log level with a py.test flag
190 pytest-rich 85,374 Leverage rich for richer test session output
191 pytest-threadleak 85,032 Detects thread leaks
192 pytest-stub 83,459 Stub packages, modules and attributes.
193 pytest-integration-mark 82,276 Automatic integration test marking and excluding plugin for pytest
194 pytest-pudb 81,947 pytest PuDB debugger integration
195 pytest-aio 81,141 pytest plugin for testing async python code
196 pytest-reverse 79,126 pytest plugin to reverse test order.
197 pytest-embedded 78,975 A pytest plugin that designed for embedded testing.
198 pytest-pikachu 78,374 Show surprise when tests are passing
199 pytest-codeblocks 77,437 Test code blocks in your READMEs
200 pytest-async 76,598 pytest-async - Run your coroutine in event loop without decorator

Current process is based on hugovk’s Top PyPI Packages. Package data is filtered for “pytest”.
There’s also a filter for deprecated and unmaintained plugins.
See source code.