This is intended to find the most popular pytest plugins, as plugins usually have “pytest” in the name.

The list is generated from hugovk’s Top PyPI Packages, which is filtered for “pytest”. Many popular packages, such as “hypothesis”, will therefore not be in the list.

Counts are the number of downloads over 30 days.

The list

Data last updated: 2024-09-01 11:27:30

# Package Downloads Summary
1 pytest-cov 52,370,163 Pytest plugin for measuring coverage.
2 pytest-runner 32,351,024 Invoke py.test as distutils command with dependency resolution
3 pytest-mock 20,521,482 Thin-wrapper around the mock package for easier use with pytest
4 pytest-xdist 18,006,815 pytest xdist plugin for distributed testing, most importantly across multiple CPUs
5 pytest-metadata 11,555,343 pytest plugin for test session metadata
6 pytest-asyncio 10,477,626 Pytest support for asyncio
7 pytest-html 9,273,256 pytest plugin for generating HTML reports
8 pytest-timeout 6,778,148 pytest plugin to abort hanging tests
9 pytest-rerunfailures 6,403,773 pytest plugin to re-run tests to eliminate flaky failures
10 pytest-forked 4,152,455 run tests in isolated forked subprocesses
11 pytest-randomly 3,986,526 Pytest plugin to randomly order tests and control random.seed.
12 pytest-split 3,830,688 Pytest plugin which splits the test suite to equally sized sub suites based on test execution time.
13 pytest-django 3,649,899 A Django plugin for pytest.
14 pytest-benchmark 3,472,943 A pytest fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer.
15 pytest-messenger 2,959,243 Pytest to Slack reporting plugin
16 pytest-env 2,143,541 pytest plugin that allows you to add environment variables.
17 pytest-custom-exit-code 1,899,665 Exit pytest test session with custom exit code in different scenarios
18 pytest-repeat 1,885,440 pytest plugin for repeating tests
19 allure-pytest 1,787,655 Allure pytest integration
20 pytest-json-report 1,731,710 A pytest plugin to report test results as JSON files
21 pytest-base-url 1,679,345 pytest plugin for URL based testing
22 pytest-sugar 1,559,658 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 pytest-playwright 1,495,718 A pytest wrapper with fixtures for Playwright to automate web browsers
24 pytest-ordering 1,414,700 pytest plugin to run your tests in a specific order
25 pytest-check 1,398,198 A pytest plugin that allows multiple failures per test.
26 pytest-order 1,322,111 pytest plugin to run your tests in a specific order
27 pytest-instafail 1,287,154 pytest plugin to show failures instantly
28 pytest-docker-pexpect 1,225,527 pytest plugin for writing functional tests with pexpect and docker
29 pytest-bdd 1,187,467 BDD for pytest
30 pytest-random-order 1,066,965 Randomise the order in which pytest tests are run with some control over the randomness
31 pytest-assume 1,052,711 A pytest plugin that allows multiple failures per test
32 pytest-httpserver 959,273 pytest-httpserver is a httpserver for pytest
33 pytest-subtests 869,440 unittest subTest() support and subtests fixture
34 pytest-socket 752,749 Pytest Plugin to disable socket calls during tests
35 pytest-parallel 700,556 a pytest plugin for parallel and concurrent testing
36 pytest-aiohttp 666,624 Pytest plugin for aiohttp support
37 pytest-dependency 621,807 Manage dependencies of tests
38 pytest-dotenv 609,724 A py.test plugin that parses environment files before running tests
39 pytest-httpx 599,424 Send responses to httpx.
40 pytest-azurepipelines 574,772 Formatting PyTest output for Azure Pipelines UI
41 pytest-mypy 510,835 Mypy static type checker plugin for Pytest
42 pytest-localserver 499,527 pytest plugin to test server connections locally.
43 pytest-ansible 487,347 Plugin for pytest to simplify calling ansible modules from tests or fixtures
44 pytest-icdiff 485,583 use icdiff for better error messages in pytest assertions
45 pytest-deadfixtures 483,309 A simple plugin to list unused fixtures in pytest
46 pytest-factoryboy 455,489 Factory Boy support for pytest.
47 pytest-testinfra 453,809 Test infrastructures
48 pytest-snapshot 444,584 A plugin for snapshot testing with pytest.
49 pytest-flask 439,179 A set of py.test fixtures to test Flask applications.
50 pytest-pythonpath 423,661 pytest plugin for adding to the PYTHONPATH from command line or configs.
51 pytest-arraydiff 398,041 pytest plugin to help with comparing array output from tests
52 pytest-flake8 396,522 pytest plugin to check FLAKE8 requirements
53 pytest-pylint 373,370 pytest plugin to check source code with pylint
54 pytest-nunit 371,146 A pytest plugin for generating NUnit3 test result XML output
55 pytest-lazy-fixture 364,639 It helps to use fixtures in pytest.mark.parametrize
56 pytest-clarity 346,678 A plugin providing an alternative, colourful diff output for failing assertions.
57 pytest-celery 339,951 Pytest plugin for Celery
58 pytest-cases 316,969 Separate test code from test cases in pytest.
59 pytest-postgresql 312,547 Postgresql fixtures and fixture factories for Pytest.
60 pytest-profiling 308,233 Profiling plugin for py.test
61 pytest-github-actions-annotate-failures 303,365 pytest plugin to annotate failed tests with a workflow command for GitHub Actions
62 pytest-error-for-skips 297,568 Pytest plugin to treat skipped tests a test failure
63 pytest-freezegun 294,345 Wrap tests with fixtures in freeze_time
64 pytest-timestamper 257,613 Pytest plugin to add a timestamp prefix to the pytest output
65 pytest-variables 257,493 pytest plugin for providing variables to tests/fixtures
66 pytest-parametrization 256,294 Simpler PyTest parametrization
67 pytest-doctestplus 250,558 Pytest plugin with advanced doctest features.
68 pytest-reportportal 250,435 Agent for Reporting results of tests to the Report Portal
69 pytest-spark 247,174 pytest plugin to run the tests with support of pyspark.
70 pytest-docker-tools 244,347 Docker integration tests for pytest
71 pytest-faker 235,724 Faker integration with the pytest framework.
72 pytest-incremental 228,134 an incremental test runner (pytest plugin)
73 pytest-black 226,632 A pytest plugin to enable format checking with black
74 pytest-remotedata 224,961 Pytest plugin for controlling remote data access.
75 pytest-watch 220,364 Local continuous test runner with pytest and watchdog.
76 pytest-retry 216,074 Adds the ability to retry flaky tests in CI environments
77 pytest-datadir 213,838 pytest plugin for test data directories and files
78 pytest-wake 211,432 None
79 pytest-selenium 200,317 pytest plugin for Selenium
80 pytest-memray 198,972 A simple plugin to use with pytest
81 pytest-csv 197,949 CSV output for pytest.
82 pytest-docker 197,455 Simple pytest fixtures for Docker and Docker Compose based tests
83 pytest-subprocess 196,810 A plugin to fake subprocess for pytest
84 pytest-unordered 192,941 Test equality of unordered collections in pytest
85 pytest-qt 185,831 pytest support for PyQt and PySide applications
86 pytest-filter-subpackage 180,206 Pytest plugin for filtering based on sub-packages
87 pytest-reportlog 170,302 Replacement for the –resultlog option, focused in simplicity and extensibility
88 pytest-testmon 164,353 selects tests affected by changed files and methods
89 pytest-testrail 158,580 pytest plugin for creating TestRail runs and adding results
90 pytest-vcr 146,771 Plugin for managing VCR.py cassettes
91 pytest-reraise 145,751 Make multi-threaded pytest test cases fail when they should
92 pytest-shard 137,344
93 pytest-integration 131,505 Organizing pytests by integration or not
94 pytest-shutil 125,080 A goodie-bag of unix shell and environment tools for py.test
95 pytest-djangoapp 123,842 Nice pytest plugin to help you with Django pluggable application testing.
96 pytest-logger 123,072 Plugin configuring handlers for loggers from Python logging module.
97 pytest-mpl 118,060 pytest plugin to help with testing figures output from Matplotlib
98 pytest-alembic 117,362 A pytest plugin for verifying alembic migrations.
99 pytest-trio 117,140 Pytest plugin for trio
100 pytest-astropy 116,703 Meta-package containing dependencies for testing
101 pylint-pytest 116,067 A Pylint plugin to suppress pytest-related false positives.
102 flake8-pytest-style 115,271 A flake8 plugin checking common style issues or inconsistencies with pytest-based tests.
103 pytest-astropy-header 113,943 pytest plugin to add diagnostic information to the header of the test output
104 pytest-flakefinder 112,583 Runs tests multiple times to expose flakiness.
105 pytest-print 111,268 pytest-print adds the printer fixture you can use to print messages to the user (directly to the pytest runner, not stdout)
106 pytest-md 104,234 Plugin for generating Markdown reports for pytest results
107 pytest-recording 102,939 A pytest plugin that allows you recording of network interactions via VCR.py
108 pytest-tornasync 99,595 py.test plugin for testing Python 3.5+ Tornado code
109 pytest-describe 95,687 Describe-style plugin for pytest
110 pytest-helpers-namespace 94,893 Pytest Helpers Namespace Plugin
111 pytest-insta 94,018 A practical snapshot testing plugin for pytest
112 pytest-grpc 93,360 pytest plugin for grpc
113 pytest-embedded 92,866 A pytest plugin that designed for embedded testing.
114 pytest-embedded-serial 91,953 Make pytest-embedded plugin work with Serial.
115 pytest-cpp 91,709 Use pytest’s runner to discover and execute C++ tests
116 pytest-level 90,435 Select tests of a given level or lower
117 pytest-embedded-serial-esp 90,195 Make pytest-embedded plugin work with Espressif target boards.
118 pytest-embedded-idf 90,059 Make pytest-embedded plugin work with ESP-IDF.
119 pytest-embedded-qemu 88,302 Make pytest-embedded plugin work with QEMU.
120 pytest-cache 88,023 pytest plugin with mechanisms for caching across test runs
121 pytest-console-scripts 86,595 Pytest plugin for testing console scripts
122 pytest-logbook 86,407 py.test plugin to capture logbook log messages
123 pytest-freezer 85,371 Pytest plugin providing a fixture interface for spulec/freezegun
124 pytest-depends 84,498 Tests that depend on other tests
125 pytest-reporter 84,404 Generate Pytest reports with templates
126 pytest-cover 84,337 Pytest plugin for measuring coverage. Forked from pytest-cov.
127 pytest-tap 83,582 Test Anything Protocol (TAP) reporting plugin for pytest
128 pytest-isort 83,547 py.test plugin to check import ordering using isort
129 pytest-coverage 79,755
130 pytest-ruff 79,119 pytest plugin to check ruff requirements.
131 pytest-embedded-jtag 77,024 Make pytest-embedded plugin work with JTAG.
132 pytest-redis 73,704 Redis fixtures and fixture factories for Pytest.
133 pytest-json 70,990 Generate JSON test reports
134 pytest-harvest 70,618 Store data created during your pytest tests execution, and retrieve it at the end of the session, e.g. for applicative benchmarking purposes.
135 pytest-slack 69,683 Pytest to Slack reporting plugin
136 pytest-reporter-html1 68,333 A basic HTML report template for Pytest
137 pytest-xvfb 63,255 A pytest plugin to run Xvfb (or Xephyr/Xvnc) for tests.
138 pytest-md-report 62,962 A pytest plugin to generate test outcomes reports with markdown table format.
139 pytest-test-groups 62,659 A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups.