pytest-tap
Test Anything Protocol (TAP) reporting plugin for pytest
Decision gist · record as of 2026-08-14
Yes, if you need TAP output for CI/CD integration or test aggregation. The plugin is stable and has low friction, but maintenance is dormant—verify that TAP output format meets your downstream tool requirements before adopting. No known security issues.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Low install friction with just two runtime dependencies (pytest and tap-py).
- Maintenance is dormant—last release was 561 days ago—but the package is marked Production/Stable and supports current Python versions (3.9–3.13).
License · maintenance · safety
BSD (permissive) — BSD license is permissive, allowing commercial and private use with minimal restrictions.
last release 2025-01-30 (561 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 196,276 downloads/mo, #9,789 on PyPI
Alternatives
Verify before relying
pip install pytest-tap
pytest --tap- Whether dormant maintenance status affects compatibility with future pytest releases.
- Whether TAP output format is compatible with downstream tools and CI/CD systems you use.
What it is and what it does
pytest-tap is a pytest plugin that converts test results into Test Anything Protocol (TAP) format, a line-based standard for recording test outcomes. Instead of pytest's default output, running pytest with the --tap flag produces TAP-compliant output that can be parsed by other tools and integrated into CI/CD pipelines or test aggregation systems.
The plugin handles pytest's test lifecycle—including setup failures, xfail/skip directives, and test capture (stdout, stderr, logs)—and translates it into TAP's simple format. It depends on pytest for test discovery and execution, and tap-py for TAP serialization. Recent releases added support for Python 3.12 and 3.13, and enhanced diagnostics output for failed tests.
Use it for
- Export pytest results to TAP format for consumption by CI/CD systems or test aggregation tools that expect TAP input.
- Standardize test reporting across projects that mix pytest with other test frameworks that already output TAP.
- Generate machine-readable test logs that can be parsed and analyzed by downstream reporting or monitoring systems.
- Capture and display logs, stdout, and stderr for failed tests in TAP diagnostics using the --show-capture flag.
- Integrate pytest test results into test management or quality dashboards that consume TAP streams.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need TAP output for CI/CD integration or test aggregation.
The plugin is stable and has low friction, but maintenance is dormant—verify that TAP output format meets your downstream tool requirements before adopting. No known security issues.
Install
pytest-tap on PyPI
Before you install
Low install friction with just two runtime dependencies (pytest and tap-py). Maintenance is dormant—last release was 561 days ago—but the package is marked Production/Stable and supports current Python versions (3.9–3.13).
Requires Python 3.9 or later.
License in practice
BSD license is permissive, allowing commercial and private use with minimal restrictions.
Quickstart
pip install pytest-tap
pytest --tap
Verify before relying
- Whether dormant maintenance status affects compatibility with future pytest releases.
- Whether TAP output format is compatible with downstream tools and CI/CD systems you use.
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagespytesttap-py |
| Maintenance | Dormant 561 days since the last release |
| First released | |
| Downloads | 196,276 / month, #9,789 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: PytestIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Software Development :: Testing |
Evidence: pytest_tap-3.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “TAP test reporting”
- pytest-tappytest-tap outputs test results in Test Anything Protocol (TAP)…
- tap.pyProvides tools to parse, generate, and work with Test Anything…
- python-subunitSubunit is a streaming protocol library for test results that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also tap.py · teamcity-messages · pytest-runtime-xfail · pytest-emoji · typed-argument-parser · pytest-catchlog · pytest-check · cov-core · pytest-reportportal · pyvalid