pytest-pspec
A rspec format reporter for Python ptest
Decision gist · record as of 2026-08-14
Yes, if you want readable BDD-style test output and are working with pytest versions compatible with the 2020-06-02 release. The low install friction and permissive license make it a low-risk addition. However, be cautious if you rely on very recent pytest features or versions—the aging maintenance status means you may need to maintain a fork or switch reporters if incompatibilities arise.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires pytest to be installed; docstrings on test classes and methods are used to generate the pspec output, so tests without docstrings will show generic names.
- Low install friction; depends only on pytest and six.
- Maintenance is aging—last release was 2020-06-02 and no commits since 2026-01-29, so expect limited active support for newer pytest versions.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive); you can use, modify, and distribute freely with minimal restrictions.
last release 2020-06-02 (2264 days) · last repo commit 2026-01-29 · 59 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 81,243 downloads/mo, #14,241 on PyPI
Alternatives
Verify before relying
pip install pytest-pspec
# In your test file:
class TestExample(unittest.TestCase):
"My test suite"
def test_should_work(self):
"it does something"
assert True
# Run with:
pytest --pspec your-tests/- Compatibility with pytest versions released after 2020-06-02 is unclear given the aging maintenance status.
- Whether the package works correctly with modern Python versions beyond those listed in classifiers (3.5 and earlier).
What it is and what it does
pytest-pspec is a pytest plugin that changes how test results are displayed in the terminal. Instead of the default pytest output, it renders tests in RSpec-style format—a BDD-oriented report that reads like plain English specifications. Each test appears as a bullet point with a checkmark or cross, and the description comes from your test method's docstring, making the output more narrative and business-friendly.
The plugin is lightweight, requiring only pytest and six as dependencies. You enable it by passing the `--pspec` flag to pytest or adding it to your pytest configuration file. It supports both plaintext and UTF-8 output formats, and works with unittest-style test classes. The aging maintenance status means it has not been actively developed since 2020, so compatibility with very recent pytest releases may be uncertain.
Use it for
- Generate human-readable test reports for stakeholders or documentation that read like specifications rather than technical output.
- Write BDD-style tests in Python where test names and docstrings describe behavior in plain language, then display them in that same readable format.
- Replace pytest's default output format in CI/CD pipelines to produce cleaner, more narrative test summaries.
- Document test coverage and behavior through the test output itself, using docstrings as living specification.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you want readable BDD-style test output and are working with pytest versions compatible with the 2020-06-02 release.
The low install friction and permissive license make it a low-risk addition. However, be cautious if you rely on very recent pytest features or versions—the aging maintenance status means you may need to maintain a fork or switch reporters if incompatibilities arise.
Install
pytest-pspec on PyPI
Before you install
Low install friction; depends only on pytest and six. Maintenance is aging—last release was 2020-06-02 and no commits since 2026-01-29, so expect limited active support for newer pytest versions.
Requires pytest to be installed; docstrings on test classes and methods are used to generate the pspec output, so tests without docstrings will show generic names.
License in practice
MIT license (permissive); you can use, modify, and distribute freely with minimal restrictions.
Quickstart
pip install pytest-pspec
# In your test file:
class TestExample(unittest.TestCase):
"My test suite"
def test_should_work(self):
"it does something"
assert True
# Run with:
pytest --pspec your-tests/
Verify before relying
- Compatibility with pytest versions released after 2020-06-02 is unclear given the aging maintenance status.
- Whether the package works correctly with modern Python versions beyond those listed in classifiers (3.5 and earlier).
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagespytestsix |
| Maintenance | Aging 2,264 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 81,243 / month, #14,241 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaFramework :: PytestIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Testing |
Evidence: pytest_pspec-0.0.4-py2.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 › “rspec style test reporter”
- pytest-pspecFormats pytest test output in RSpec-style (pspec) format, showing…
- pytest-describeA pytest plugin that organizes tests into nested describe-blocks,…
- qase-python-commonsProvides core configuration and SDK infrastructure for building test…
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 pytest-custom-report · pytest-html-reporter · pytest-spec · tdd-guard-pytest · pytest-pytestrail · pytest-pep8 · pytest-nunit · pytest-runner · allure-pytest-bdd · pytest-md-report