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. |