Packages
Writes pytest test results to a JSON Lines file in real-time, replacing the deprecated --resultlog option with a simpler, extensible format.
A pytest plugin that integrates test execution with ReportPortal, sending test results, logs, and attachments to a ReportPortal server for centralized test reporting and analysis.
Install only if you have a ReportPortal instance running and want to centralize pytest results there; it adds no value as a standalone tool.
Captures exceptions raised in threads during pytest tests and re-raises them in the main thread so that multi-threaded test failures are properly detected.
However, the abandoned maintenance status (last commit 2023-02-06) is a concern—verify compatibility with your pytest and Python versions before relying on it for new…
A pytest plugin that automatically reruns failed tests to eliminate intermittent failures, with support for delays, exponential backoff, exception filtering, and hard crash recovery when used with pytest-xdist.
Install it if your test suite has intermittent failures you want to suppress without rewriting tests.
Automatically mocks HTTP requests across your pytest test suite using the responses library, preventing real network calls during testing.
Install it if your tests make HTTP requests and you want to mock them reliably.
pytest-retry is a pytest plugin that automatically retries failed tests, with configurable retry counts, delays, and exception filtering to help manage flaky tests in CI environments.
Not recommended as a permanent solution—use it to buy time while fixing the underlying test or environment issues.
A pytest plugin that runs tests in reverse order to detect test interdependencies and ordering issues.
A pytest plugin that uses rich to format and colorize test session output with enhanced terminal presentation.
However, be aware that the maintainer is seeking adoption and the feature set may evolve; it is not a mature, feature-locked tool.
Provides pytest fixtures that make random number generation reproducible across test runs by seeding with deterministic values derived from test node IDs.
However, if you need modern Python versions or recent pytest support, verify compatibility first or seek an actively maintained alternative, since this package is…
A pytest plugin that integrates ruff code linting and formatting checks into your test suite, running ruff validation as part of pytest.
However, verify that it remains compatible with your versions of pytest and ruff, and clarify the license metadata before using it in a compliance-sensitive context.
A pytest plugin that runs test functions concurrently in a thread pool to discover thread-safety issues, particularly useful for validating C library compatibility with free-threaded Python implementations.
Enables running pytest tests through setup.py by integrating pytest with setuptools' test command, though this approach is now deprecated in favor of modern test runners.
A pytest plugin that provides a `runtime_xfail` fixture to mark tests as expected-to-fail based on runtime conditions, allowing both XFAIL and XPASS outcomes.
Validates function return values and API responses against schema definitions in pytest tests, using the schema library to check data structure, types, and constraints.
pytest-selenium is a pytest plugin that integrates Selenium WebDriver into pytest test suites, enabling browser automation and web UI testing within the pytest framework.
A pytest plugin that sends test failure and performance data to Sentry, with special handling for flaky tests detected via pytest-rerunfailures.
However, note that the package is aging (409 days since last release); verify compatibility with your current pytest and sentry-sdk versions before relying on it in…
A pytest plugin that provides a fixture for testing SFTP client code against an in-memory mock SFTP server without needing an external server.
However, note that the package is dormant (last release 2019) and classifiers indicate support only through Python 3.7—verify compatibility with your target Python…
Distributes pytest test execution across multiple machines or CI workers by sharding individual test cases based on a hash of their names, enabling parallel test runs without requiring shared state.
However, do not adopt it for new projects: the package is abandoned and will not receive updates for future pytest or Python versions.
Provides pytest fixtures and utilities for managing temporary workspaces, running shell commands, and controlling environment variables in automated tests.
However, maintenance is aging—the last release was 623 days ago—so adopt it only if you need its specific pytest fixtures for shell and environment testing and can…
A pytest plugin that provides skip markers to conditionally skip tests based on platform, OS, and other runtime conditions without writing custom skip logic.
However, note that it has been dormant for 735 days—while the repository is not archived and recent commits exist, you should verify that the available markers match…
A pytest plugin that skips tests marked with `@pytest.mark.slow` or `@pytest.mark.hugemem` by default, and includes them only when you pass `--slow` or `--hugemem` flags.
A pytest plugin that sends test results to Slack via incoming webhooks, allowing you to report pass/fail status with customizable messages, emojis, and icons.
A pytest plugin that enables snapshot testing—comparing test outputs against saved reference files to detect unexpected changes without manual assertion updates.
However, maintenance is dormant; verify compatibility with your pytest and Python versions before relying on it for new projects, and monitor the repository for any…
A pytest plugin that selects and runs only the tests affected by changes in a given commit range, using static dependency analysis to avoid unnecessary test execution.
A pytest plugin that blocks or restricts socket calls during tests, preventing unintended network access and DNS resolution while allowing selective allowlisting of hosts or Unix domain sockets.
A pytest plugin that integrates Apache Spark and PySpark into your test suite, providing session-scoped fixtures for SparkContext and SparkSession with configurable Spark options.
However, note that maintenance is aging—the last release was 450 days ago—so verify compatibility with your specific PySpark version before relying on it for new…
pytest-spec is a pytest plugin that reformats test output to display results in a specification-like format with hierarchical grouping, colored status indicators, and human-readable test names.
A pytest plugin that divides a test suite into balanced groups based on recorded test execution times, enabling parallel test execution with predictable runtime per group.
Install it if you run tests in parallel CI and want to avoid the unbalanced execution times that naive splitting produces.
A pytest plugin that splits your test suite into equal-sized groups so you can run a specific group in parallel or distributed CI environments.
However, be aware that it has not been updated since 2021 and may not work reliably with pytest or Python versions released after that date—verify compatibility with…
Provides a pytest fixture for capturing and asserting on structured logs produced by structlog, enabling test-friendly inspection of log events and their context.
A pytest plugin that replaces package, module, and attribute dependencies with stubs—either auto-generated (functions, classes, mocks) or custom objects—so you can test code that depends on external libraries without installing them.
However, maintenance is abandoned (last release 2020-04-28), so compatibility with Python versions beyond 3.8 is unverified and you should test it in your environment…
Pytest plugin that intercepts and fakes subprocess calls, allowing you to register mock process outputs and behaviors without executing real commands.
Install it if your test suite includes code that uses subprocess.
Adds subTest() support to pytest, allowing unittest-style parameterized test iterations and a subtests fixture for pure pytest tests to report individual failures within a single test function.
However, the abandoned status means no fixes or updates for future pytest or Python releases—use it only if you accept that risk or have a fallback plan.
A pytest plugin that improves test output with a progress bar, instant failure display, and better formatting of results.
However, the 356-day gap since the last release suggests the project is aging; verify that it remains compatible with your pytest and Python versions before relying…
A pytest plugin that lets you tag tests with arbitrary strings and select or exclude them by tag during test runs, with optional tag combination and counting.
pytest-tap outputs test results in Test Anything Protocol (TAP) format, a standardized line-based protocol for recording and reporting test data across tools and environments.
pytest-test-groups is a pytest plugin that splits your test suite into equally-sized groups so you can run a specific group in isolation, useful for parallelizing test execution across CI workers.
However, maintenance is aging—last commit was 2025-07-29.
A pytest plugin that lets you write Python unit tests to verify the actual state of servers—files, packages, services, users—configured by infrastructure management tools.
A pytest plugin that automatically identifies and runs only the tests affected by recent code changes, using dependency tracking to avoid re-running unrelated tests.
However, the aging maintenance status (256 days since last release) means you should verify reliability in your codebase before relying on it in critical CI…
A pytest plugin that integrates test execution with TestRail, automatically creating test runs and updating results in TestRail based on pytest markers.