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: 2025-08-01 06:34:07

# Package Downloads Summary
1 pytest-cov 84,856,943 pytest plugin for measuring coverage. (episode pytest-cov : The pytest plugin for measuring coverage)
2 pytest-xdist 55,551,380 pytest xdist plugin for distributed testing, most importantly across multiple CPUs
3 pytest-asyncio 51,103,899 pytest support for asyncio
4 pytest-mock 46,796,576 Thin-wrapper around the mock package for easier use with pytest (episode pytest-mock : Mocking in pytest)
5 hypothesis 21,055,091 A library for property-based testing (Includes a small pytest plugin.)
6 pytest-metadata 19,300,980 pytest plugin for test session metadata (episode pytest-metadata - provides access to test session metadata)
7 pytest-timeout 18,667,958 pytest plugin to abort hanging tests
8 pytest-rerunfailures 18,609,174 pytest plugin to re-run tests to eliminate flaky failures
9 pytest-html 11,544,812 pytest plugin for generating HTML reports (episode pytest-html - a plugin that generates HTML reports for test results)
10 pytest-django 10,168,175 A Django plugin for pytest.
11 pytest-env 9,826,437 pytest plugin that allows you to add environment variables.
12 pytest-random-order 9,179,584 Randomise the order in which pytest tests are run with some control over the randomness
13 pytest-split 8,715,706 pytest plugin which splits the test suite to equally sized sub suites based on test execution time.
14 pytest-json-report 8,345,308 A pytest plugin to report test results as JSON files (Seems no longer supported, but leaving here to recommend pytest-json-report-wip)
15 pytest-localserver 7,535,330 pytest plugin to test server connections locally.
16 pytest-unordered 5,477,654 Test equality of unordered collections in pytest
17 pytest-custom-exit-code 4,943,752 Exit pytest test session with custom exit code in different scenarios
18 pytest-icdiff 4,907,465 use icdiff for better error messages in pytest assertions
19 pytest-benchmark 4,706,011 A pytest fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer.
20 pytest-repeat 4,615,913 pytest plugin for repeating tests (episode pytest-repeat - works fine on Python 3.14)
21 pytest-instafail 4,473,677 pytest plugin to show failures instantly
22 pytest-sugar 3,919,156 pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly).
23 allure-pytest 3,785,966 Allure pytest integration
24 pytest-randomly 3,720,131 pytest plugin to randomly order tests and control random.seed.
25 pytest-base-url 3,702,586 pytest plugin for URL based testing
26 pytest-subtests 3,680,876 unittest subTest() support and subtests fixture (episode Subtests in Python with unittest and pytest)
27 pytest-order 3,659,018 pytest plugin to run your tests in a specific order
28 syrupy 3,530,877 pytest Snapshot Test Utility
29 pytest-socket 3,245,304 pytest Plugin to disable socket calls during tests
30 pytest-playwright 3,240,573 A pytest wrapper with fixtures for Playwright to automate web browsers
31 pytest-ordering 2,696,109 pytest plugin to run your tests in a specific order
32 pytest-httpserver 2,693,118 pytest-httpserver is a httpserver for pytest
33 pytest-httpx 2,565,069 Send responses to httpx.
34 pytest-dotenv 2,462,070 A py.test plugin that parses environment files before running tests
35 pytest-check 2,298,571 A pytest plugin that allows multiple failures per test. (episode pytest-check - allow multiple failures per test)
36 pytest-timeouts 1,840,281 Linux-only pytest plugin to control durations of various test case execution phases
37 pytest-aiohttp 1,840,160 pytest plugin for aiohttp support
38 pytest-postgresql 1,824,907 Postgresql fixtures and fixture factories for pytest.
39 pytest-recording 1,775,551 A pytest plugin powered by VCR.py to record and replay HTTP traffic
40 pytest-retry 1,596,488 Adds the ability to retry flaky tests in CI environments
41 pytest-profiling 1,463,690 Profiling plugin for py.test
42 pytest-assume 1,430,474 A pytest plugin that allows multiple failures per test
43 pytest-dependency 1,325,074 Manage dependencies of tests
44 pytest-snapshot 1,239,291 A plugin for snapshot testing with pytest.
45 pytest-freezegun 1,231,075 Wrap tests with fixtures in freeze_time
46 pytest-lazy-fixture 1,215,117 It helps to use fixtures in pytest.mark.parametrize
47 pytest-bdd 1,178,120 BDD for pytest
48 pytest-factoryboy 1,155,199 Factory Boy support for pytest.
49 pytest-github-actions-annotate-failures 1,046,544 pytest plugin to annotate failed tests with a workflow command for GitHub Actions
50 pytest-cases 1,012,807 Separate test code from test cases in pytest.
51 pytest-celery 963,698 pytest plugin for Celery
52 pytest-reportlog 931,212 Replacement for the –resultlog option, focused in simplicity and extensibility
53 pytest-test-groups 923,521 A pytest plugin for running a subset of your tests by splitting them in to equally sized groups.
54 pytest-vcr 919,676 Plugin for managing VCR.py cassettes
55 pytest-codspeed 831,172 pytest plugin to create CodSpeed benchmarks
56 pytest-testmon 818,596 selects tests affected by changed files and methods
57 pytest-flask 802,172 A set of py.test fixtures to test Flask applications.
58 pytest-docker-tools 734,901 Docker integration tests for pytest
59 pytest-azurepipelines 734,132 Formatting PyTest output for Azure Pipelines UI
60 pytest-datadir 727,548 pytest plugin for test data directories and files
61 pytest-pretty 711,763 pytest plugin for printing summary data as I want it
62 pytest-testinfra 696,085 Test infrastructures
63 pytest-docker 671,536 Simple pytest fixtures for Docker and Docker Compose based tests
64 pytest-explicit 638,178 A pytest plugin to ignore certain marked tests by default
65 pytest-flakefinder 630,966 Runs tests multiple times to expose flakiness.
66 pytest-watcher 626,743 Automatically rerun your tests on file modifications
67 pytest-memray 625,457 A simple plugin to use with pytest
68 pytest-opentelemetry 604,383 A pytest plugin for instrumenting test runs via OpenTelemetry
69 pytest-freezer 588,482 pytest plugin providing a fixture interface for spulec/freezegun
70 pytest-watch 581,633 Local continuous test runner with pytest and watchdog.
71 pytest-nunit 527,307 A pytest plugin for generating NUnit3 test result XML output
72 pytest-ansible 523,089 Plugin for pytest to simplify calling ansible modules from tests or fixtures
73 pytest-archon 519,753 Rule your architecture like a real developer
74 pytest-find-dependencies 513,945 A pytest plugin to find dependencies between tests
75 pytest-parametrized 500,991 pytest decorator for parametrizing tests with default iterables.
76 pytest-examples 493,936 pytest plugin for testing examples in docstrings and markdown files.
77 pytest-plus 488,302 PyTest Plus Plugin :: extends pytest functionality
78 pytest-mypy 487,754 A pytest Plugin for Mypy
79 pytest-qt 470,435 pytest support for PyQt and PySide applications
80 pytest-pudb 459,583 pytest PuDB debugger integration
81 pytest-alembic 457,309 A pytest plugin for verifying alembic migrations.
82 pytest-durations 430,457 pytest plugin reporting fixtures and test functions execution time.
83 pytest-reportportal 430,284 Agent for Reporting results of tests to the Report Portal
84 pytest-pylint 409,542 pytest plugin to check source code with pylint
85 pytest-clarity 406,390 A plugin providing an alternative, colourful diff output for failing assertions.
86 pytest-flake8 404,917 pytest plugin to check FLAKE8 requirements
87 pytest-doctestplus 403,139 pytest plugin with advanced doctest features.
88 pytest-reraise 377,495 Make multi-threaded pytest test cases fail when they should
89 pylint-pytest 376,760 A Pylint plugin to suppress pytest-related false positives.
90 pytest-homeassistant-custom-component 370,327 Experimental package to automatically extract test plugins for Home Assistant custom components
91 pytest-lazy-fixtures 366,476 Allows you to use fixtures in @pytest.mark.parametrize.
92 pytest-selenium 351,774 pytest plugin for Selenium
93 pytest-remotedata 351,571 pytest plugin for controlling remote data access.
94 pytest-variables 330,786 pytest plugin for providing variables to tests/fixtures
95 pytest-subprocess 330,486 A plugin to fake subprocess for pytest
96 pytest-race 325,681 Race conditions tester for pytest
97 pytest-spark 321,535 pytest plugin to run the tests with support of pyspark.
98 pytest-sftpserver 309,085 py.test plugin to locally test sftp server connections.
99 pytest-regressions 296,862 Easy to use fixtures to write regression tests.
100 pytest-redis 289,540 Redis fixtures and fixture factories for pytest.
101 pytest-structlog 287,889 Structured logging assertions
102 pytest-cpp 286,483 Use pytest’s runner to discover and execute C++ tests
103 pytest-mock-resources 278,012 A pytest plugin for easily instantiating reproducible mock resources.
104 pytest-black 272,867 A pytest plugin to enable format checking with black
105 pytest-filter-subpackage 267,658 pytest plugin for filtering based on sub-packages
106 pytest-trio 266,029 pytest plugin for trio
107 pytest-describe 256,617 Describe-style plugin for pytest
108 pytest-timestamper 251,609 pytest plugin to add a timestamp prefix to the pytest output
109 pytest-md-report 250,168 A pytest plugin to generate test outcomes reports with markdown table format. (episode pytest-md and pytest-md-report: Markdown reports for pytest)
110 pytest-tornasync 248,520 py.test plugin for testing Python 3.5+ Tornado code
111 pytest-xprocess 243,777 A pytest plugin for managing processes across test runs.
112 flake8-pytest-style 224,055 A flake8 plugin checking common style issues or inconsistencies with pytest-based tests.
113 pytest-operator 216,601 Fixtures for Charmed Operators
114 pytest-arraydiff 212,626 pytest plugin to help with comparing array output from tests
115 pytest-mpl 211,410 pytest plugin to help with testing figures output from Matplotlib
116 pytest-harvest 208,224 Store data created during your pytest tests execution, and retrieve it at the end of the session, e.g. for applicative benchmarking purposes.
117 pytest-astropy-header 206,002 pytest plugin to add diagnostic information to the header of the test output
118 pytest-insta 203,170 A practical snapshot testing plugin for pytest
119 pytest-astropy 201,856 Meta-package containing dependencies for testing
120 pytest-deadfixtures 201,731 A simple plugin to list unused fixtures in pytest
121 pytest-csv 199,602 CSV output for pytest.
122 pytest-helpers-namespace 195,372 pytest Helpers Namespace Plugin
123 pytest-fixture-config 185,945 Fixture configuration utils for py.test
124 pytest-datafiles 184,913 py.test plugin to create a ’tmp_path’ containing predefined files/directories.
125 pytest-cache 179,838 pytest plugin with mechanisms for caching across test runs
126 pytest-integration 179,758 Organizing pytests by integration or not
127 pytest-picked 179,522 Run the tests related to the changed files
128 pytest-mypy-plugins 172,984 pytest plugin for writing tests for mypy plugins
129 pytest-rng 172,360 Fixtures for seeding tests and making randomness reproducible
130 pytest-regex 171,997 Select pytest tests with regular expressions
131 pytest-xvfb 170,797 A pytest plugin to run Xvfb (or Xephyr/Xvnc) for tests.
132 pytest-markdown-docs 170,706 Run markdown code fences through pytest
133 pytest-parametrization 170,241 Simpler PyTest parametrization
134 pytest-embedded 168,709 A pytest plugin that designed for embedded testing.
135 pytest-emoji 167,539 A pytest plugin that adds emojis to your test result report
136 pytest-embedded-idf 165,567 Make pytest-embedded plugin work with ESP-IDF.
137 pytest-embedded-serial-esp 165,325 Make pytest-embedded plugin work with Espressif target boards.
138 pytest-shutil 164,661 A goodie-bag of unix shell and environment tools for py.test
139 pytest-embedded-serial 164,295 Make pytest-embedded plugin work with Serial.
140 pytest-slack 161,579 pytest to Slack reporting plugin
141 pytest-embedded-qemu 159,243 Make pytest-embedded plugin work with QEMU.
142 pytest-ruff 154,967 pytest plugin to check ruff requirements.
143 pytest-logger 149,792 Plugin configuring handlers for loggers from Python logging module.
144 pytest-md 149,100 Plugin for generating Markdown reports for pytest results (episode pytest-md and pytest-md-report: Markdown reports for pytest)
145 pytest-tap 148,231 Test Anything Protocol (TAP) reporting plugin for pytest
146 pytest-console-scripts 142,785 pytest plugin for testing console scripts
147 pytest-reporter 142,585 Generate pytest reports with templates
148 pytest-isort 142,374 py.test plugin to check import ordering using isort
149 pytest-skip-slow 140,130 A pytest plugin to skip @pytest.mark.slow tests by default.
150 pytest-json 138,178 Generate JSON test reports
151 qase-pytest 136,788 Qase pytest Plugin for Qase TestOps and Qase Report
152 pytest-testrail 135,739 pytest plugin for creating TestRail runs and adding results
153 pytest-grpc 131,193 pytest plugin for grpc
154 pytest-webdriver 130,364 Selenium webdriver fixture for py.test
155 pytest-depends 129,463 Tests that depend on other tests
156 pytest-jira-xray 122,145 pytest plugin to integrate tests with JIRA XRAY
157 pytest-mysql 120,015 MySQL process and client fixtures for pytest
158 pytest-reporter-html1 117,300 A basic HTML report template for pytest
159 pytest-twisted 115,892 A twisted plugin for pytest.
160 pytest-responses 115,339 py.test integration for responses
161 pytest-func-cov 113,745 pytest plugin for measuring function coverage
162 pytest-embedded-jtag 112,674 Make pytest-embedded plugin work with JTAG.
163 pytest-runtime-xfail 111,857 Call runtime_xfail() to mark running test as xfail.
164 pytest-pytestrail 111,531 pytest plugin for interaction with TestRail
165 pytest-mpi 111,495 pytest plugin to collect information from tests
166 pytest-schema 110,904 👍 Validate return values against a schema-like object in testing
167 pytest-tornado 105,768 A py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications.
168 pytest-fail-slow 104,130 Fail tests that take too long to run
169 pytest-tagging 101,154 a pytest plugin to tag tests
170 pytest-eventlet 97,169 Applies eventlet monkey-patch as a pytest plugin.
171 pytest-portion 89,369 Select a portion of the collected tests
172 pytest-excel 88,970 pytest plugin for generating excel reports
173 pytest-circleci-parallelized 85,889 Parallelize pytest across CircleCI workers.
174 pytest-container 85,778 pytest fixtures for writing container based tests
175 allure-pytest-default-results 84,101 Generate default “unknown” results to show in Allure Report if test case does not run
176 pytest-json-ctrf 83,729 pytest plugin to generate json report in CTRF (Common Test Report Format)
177 pytest-xdist-worker-stats 82,116 A pytest plugin to list worker statistics after a xdist run.
178 pytest-spec 82,106 Library pytest-spec is a pytest plugin to display test execution output like a SPECIFICATION.
179 pytest-loguru 81,449 pytest Loguru
180 pytest-html-merger 78,028 pytest HTML reports merging utility
181 pytest-tinybird 76,945 A pytest plugin to report test results to tinybird
182 pytest-cookies 74,833 The pytest plugin for your Cookiecutter templates. 🍪
183 pytest-rabbitmq 71,344 RabbitMQ process and client fixtures for pytest
184 pytest-pikachu 70,118 Show surprise when tests are passing
185 pytest-mongodb 69,469 pytest plugin for MongoDB fixtures
186 pytest-pep8 68,959 pytest plugin to check PEP8 requirements
187 pytest-jupyter 68,532 A pytest plugin for testing Jupyter libraries and extensions.
188 allure-pytest-bdd 68,116 Allure pytest-bdd integration
189 pytest-codeblocks 67,820 Test code blocks in your READMEs
190 pytest-error-for-skips 67,763 pytest plugin to treat skipped tests a test failure
191 pytest-only 65,061 Use @pytest.mark.only to run a single test
192 pytest-print 65,021 pytest-print adds the printer fixture you can use to print messages to the user (directly to the pytest runner, not stdout)
193 pytest-monitor 64,271 pytest plugin for analyzing resource usage.
194 pytest-split-tests 62,911 A pytest plugin for running a subset of your tests by splitting them in to equally sized groups. Forked from Mark Adams’ original project pytest-test-groups.
195 pytest-asyncio-cooperative 61,667 Run all your asynchronous tests cooperatively.
196 pytest-raises 60,514 An implementation of pytest.raises as a pytest.mark fixture
197 pytest-html-reporter 60,405 Generates a static html report based on pytest framework
198 nrt-pytest-soft-asserts 60,274 Soft asserts for pytest
199 pytest-testdox 59,886 A testdox format reporter for pytest
200 pytest-logging 59,698 Configures logging and allows tweaking the log level with a py.test flag

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.