This is intended to find the most popular (as determined by download count) 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”. There’s also a filter for deprecated and unmaintained plugins. See source code details.

Counts are the number of downloads over 30 days.

The list

Data last updated: 2024-12-01 08:25:42

# Package Downloads Summary
1 pytest-cov 72,242,205 Pytest plugin for measuring coverage.
2 pytest-mock 43,369,740 Thin-wrapper around the mock package for easier use with pytest
3 pytest-xdist 30,110,639 pytest xdist plugin for distributed testing, most importantly across multiple CPUs
4 pytest-asyncio 26,170,361 Pytest support for asyncio
5 pytest-metadata 12,937,635 pytest plugin for test session metadata
6 pytest-html 11,362,475 pytest plugin for generating HTML reports
7 pytest-timeout 10,668,214 pytest plugin to abort hanging tests
8 pytest-rerunfailures 10,438,839 pytest plugin to re-run tests to eliminate flaky failures
9 pytest-django 7,867,939 A Django plugin for pytest.
10 pytest-random-order 6,472,259 Randomise the order in which pytest tests are run with some control over the randomness
11 pytest-localserver 5,604,000 pytest plugin to test server connections locally.
12 pytest-forked 4,832,425 run tests in isolated forked subprocesses
13 pytest-env 4,464,904 pytest plugin that allows you to add environment variables.
14 pytest-randomly 4,144,357 Pytest plugin to randomly order tests and control random.seed.
15 pytest-benchmark 3,989,033 A pytest fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer.
16 pytest-sugar 3,837,098 pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly).
17 pytest-split 3,773,654 Pytest plugin which splits the test suite to equally sized sub suites based on test execution time.
18 pytest-messenger 2,899,659 Pytest to Slack reporting plugin
19 pytest-repeat 2,594,414 pytest plugin for repeating tests
20 pytest-ordering 2,517,701 pytest plugin to run your tests in a specific order
21 allure-pytest 2,284,868 Allure pytest integration
22 pytest-order 2,228,855 pytest plugin to run your tests in a specific order
23 pytest-custom-exit-code 2,110,202 Exit pytest test session with custom exit code in different scenarios
24 pytest-check 2,078,514 A pytest plugin that allows multiple failures per test.
25 pytest-httpx 2,077,895 Send responses to httpx.
26 pytest-aiohttp 2,074,583 Pytest plugin for aiohttp support
27 pytest-base-url 2,063,251 pytest plugin for URL based testing
28 pytest-subtests 1,993,149 unittest subTest() support and subtests fixture
29 pytest-json-report 1,796,176 A pytest plugin to report test results as JSON files
30 pytest-instafail 1,732,074 pytest plugin to show failures instantly
31 pytest-playwright 1,614,346 A pytest wrapper with fixtures for Playwright to automate web browsers
32 pytest-freezegun 1,426,557 Wrap tests with fixtures in freeze_time
33 pytest-bdd 1,385,980 BDD for pytest
34 pytest-mypy 1,375,294 Mypy static type checker plugin for Pytest
35 pytest-icdiff 1,353,942 use icdiff for better error messages in pytest assertions
36 pytest-flask 1,301,067 A set of py.test fixtures to test Flask applications.
37 pytest-cases 1,237,942 Separate test code from test cases in pytest.
38 pytest-httpserver 1,192,148 pytest-httpserver is a httpserver for pytest
39 pytest-dotenv 1,187,412 A py.test plugin that parses environment files before running tests
40 pytest-socket 954,466 Pytest Plugin to disable socket calls during tests
41 pytest-assume 925,358 A pytest plugin that allows multiple failures per test
42 pytest-alembic 923,689 A pytest plugin for verifying alembic migrations.
43 pytest-trio 908,672 Pytest plugin for trio
44 pytest-postgresql 894,893 Postgresql fixtures and fixture factories for Pytest.
45 pytest-dependency 837,526 Manage dependencies of tests
46 pytest-azurepipelines 794,888 Formatting PyTest output for Azure Pipelines UI
47 pytest-factoryboy 762,080 Factory Boy support for pytest.
48 pytest-recording 757,629 A pytest plugin that allows you recording of network interactions via VCR.py
49 pytest-flake8 727,218 pytest plugin to check FLAKE8 requirements
50 pytest-snapshot 724,419 A plugin for snapshot testing with pytest.
51 pytest-djangoapp 702,955 Nice pytest plugin to help you with Django pluggable application testing.
52 pytest-httpbin 700,806 Easily test your HTTP library against a local copy of httpbin
53 pytest-parallel 660,214 a pytest plugin for parallel and concurrent testing
54 pytest-ansible 638,565 Plugin for pytest to simplify calling ansible modules from tests or fixtures
55 pytest-lazy-fixture 614,510 It helps to use fixtures in pytest.mark.parametrize
56 pytest-nunit 611,516 A pytest plugin for generating NUnit3 test result XML output
57 pytest-github-actions-annotate-failures 602,394 pytest plugin to annotate failed tests with a workflow command for GitHub Actions
58 pytest-profiling 568,618 Profiling plugin for py.test
59 pytest-deadfixtures 531,764 A simple plugin to list unused fixtures in pytest
60 pytest-clarity 519,876 A plugin providing an alternative, colourful diff output for failing assertions.
61 pytest-watch 516,550 Local continuous test runner with pytest and watchdog.
62 pytest-docker 500,842 Simple pytest fixtures for Docker and Docker Compose based tests
63 pytest-celery 493,971 Pytest plugin for Celery
64 pytest-retry 466,311 Adds the ability to retry flaky tests in CI environments
65 pytest-datadir 461,498 pytest plugin for test data directories and files
66 pytest-flakefinder 450,090 Runs tests multiple times to expose flakiness.
67 pytest-qt 433,309 pytest support for PyQt and PySide applications
68 pytest-testinfra 414,833 Test infrastructures
69 pytest-subprocess 393,586 A plugin to fake subprocess for pytest
70 pytest-vcr 387,687 Plugin for managing VCR.py cassettes
71 pytest-memray 365,269 A simple plugin to use with pytest
72 pytest-isort 350,283 py.test plugin to check import ordering using isort
73 pytest-testmon 335,204 selects tests affected by changed files and methods
74 pytest-unordered 304,626 Test equality of unordered collections in pytest
75 pytest-variables 299,081 pytest plugin for providing variables to tests/fixtures
76 pytest-docker-tools 267,160 Docker integration tests for pytest
77 pytest-selenium 262,508 pytest plugin for Selenium
78 pytest-pylint 258,386 pytest plugin to check source code with pylint
79 pytest-parametrization 254,865 Simpler PyTest parametrization
80 pytest-wake 252,077 None
81 pytest-reportlog 251,271 Replacement for the –resultlog option, focused in simplicity and extensibility
82 pytest-reportportal 244,745 Agent for Reporting results of tests to the Report Portal
83 pytest-spark 242,269 pytest plugin to run the tests with support of pyspark.
84 pytest-freezer 240,935 Pytest plugin providing a fixture interface for spulec/freezegun
85 pytest-doctestplus 231,149 Pytest plugin with advanced doctest features.
86 pytest-timestamper 226,818 Pytest plugin to add a timestamp prefix to the pytest output
87 pytest-black 222,655 A pytest plugin to enable format checking with black
88 pytest-mpl 222,623 pytest plugin to help with testing figures output from Matplotlib
89 pytest-incremental 216,384 an incremental test runner (pytest plugin)
90 pytest-timeouts 216,092 Linux-only Pytest plugin to control durations of various test case execution phases
91 pytest-codspeed 213,860 Pytest plugin to create CodSpeed benchmarks
92 pytest-remotedata 203,161 Pytest plugin for controlling remote data access.
93 pytest-mock-resources 201,231 A pytest plugin for easily instantiating reproducible mock resources.
94 pylint-pytest 187,907 A Pylint plugin to suppress pytest-related false positives.
95 pytest-structlog 184,492 Structured logging assertions
96 pytest-filter-subpackage 184,248 Pytest plugin for filtering based on sub-packages
97 pytest-pretty 173,670 pytest plugin for printing summary data as I want it
98 pytest-watcher 173,206 Automatically rerun your tests on file modifications
99 pytest-mongodb 170,800 pytest plugin for MongoDB fixtures
100 pytest-shard 170,076
101 pytest-csv 166,792 CSV output for pytest.
102 flake8-pytest-style 161,354 A flake8 plugin checking common style issues or inconsistencies with pytest-based tests.
103 pytest-helpers-namespace 157,922 Pytest Helpers Namespace Plugin
104 pytest-md 155,042 Plugin for generating Markdown reports for pytest results
105 pytest-cpp 152,678 Use pytest’s runner to discover and execute C++ tests
106 pytest-describe 149,376 Describe-style plugin for pytest
107 pytest-reporter 149,312 Generate Pytest reports with templates
108 pytest-insta 148,862 A practical snapshot testing plugin for pytest
109 pytest-markdown-docs 147,963 Run markdown code fences through pytest
110 pytest-testrail 144,583 pytest plugin for creating TestRail runs and adding results
111 pytest-test-groups 142,440 A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups.
112 pytest-regressions 132,302 Easy to use fixtures to write regression tests.
113 pytest-lazy-fixtures 132,245 Allows you to use fixtures in @pytest.mark.parametrize.
114 pytest-redis 129,499 Redis fixtures and fixture factories for Pytest.
115 pytest-shutil 128,729 A goodie-bag of unix shell and environment tools for py.test
116 pytest-slack 128,646 Pytest to Slack reporting plugin
117 pytest-grpc 128,091 pytest plugin for grpc
118 pytest-logger 127,890 Plugin configuring handlers for loggers from Python logging module.
119 pytest-tinybird 124,360 A pytest plugin to report test results to tinybird
120 pytest-rng 119,716 Fixtures for seeding tests and making randomness reproducible
121 pytest-tornasync 119,247 py.test plugin for testing Python 3.5+ Tornado code
122 pytest-operator 119,237 Fixtures for Operators
123 pytest-fixture-config 119,007 Fixture configuration utils for py.test
124 pytest-explicit 119,001 A Pytest plugin to ignore certain marked tests by default
125 pytest-json 116,823 Generate JSON test reports
126 pytest-embedded 116,000 A pytest plugin that designed for embedded testing.
127 pytest-reporter-html1 114,550 A basic HTML report template for Pytest
128 pytest-embedded-serial 113,984 Make pytest-embedded plugin work with Serial.
129 pytest-embedded-serial-esp 113,160 Make pytest-embedded plugin work with Espressif target boards.
130 pytest-embedded-idf 113,158 Make pytest-embedded plugin work with ESP-IDF.
131 pytest-depends 112,254 Tests that depend on other tests
132 pytest-cache 111,983 pytest plugin with mechanisms for caching across test runs
133 pytest-md-report 111,919 A pytest plugin to generate test outcomes reports with markdown table format.