Testing ToolsUnclaimed

pytest

A Python testing framework that simplifies writing tests and scales to complex testing scenarios

Vendor
pytest-dev
Also known as
py-test

Available worldwide

What is pytest?

pytest is a Python testing framework designed to make writing simple tests easy while supporting complex functional testing scenarios for applications and libraries. It provides detailed assertion introspection, fixture management, and parametrized test capabilities.

Independently observed

pytest pricing

Plans, per-tier features and add-ons, dated and linked to live pricing. Pricing changes often; always verify at source before you rely on it.

Pricing as of verify at live pricing ↗Independently observed
Open sourceFree tier

Free and open source. Enterprise support available via Tidelift.

Community (Open Source)

Free
Free
  • Detailed assertion introspection
  • Auto-discovery of test modules
  • Modular fixtures
  • unittest compatibility
  • 1300+ external plugins

Enterprise Support

Contact sales
Contact sales

Available via Tidelift Subscription for commercial support and maintenance

What pytest does

The capabilities that matter for testing tools, normalised so it lines up with every alternative. “-” means we haven't confirmed it, not that it's missing.

Core
Test types
-
Browser automation
-
Built-in assertion library
Languages
Python
Isolation
Mocking / stubbing
-
Techniques
Snapshot testing
-
Performance
Parallel execution
-
Insight
Code coverage
-
DX
Watch mode
-
Ops
CI integration
Independently observed

Platform & deployment

Independently observed
Platforms
  • CLI
Deployment
  • Self-hosted

Security & compliance

Known vulnerabilities: 1 (1 in the last 12 months), max severity MODERATE sourcea count reflects scale & disclosure, not quality

pytest FAQ

Common questions about pytest, answered from independent, dated evidence.

What is pytest and what is it primarily used for?

pytest is a testing framework for Python that enables developers to write simple, readable tests using plain assert statements. It supports everything from basic unit testing to complex functional testing and can automatically discover test files throughout a project directory.

Source: https://docs.pytest.org/en/stable/

What programming languages does pytest support?

pytest is designed exclusively for Python and requires Python 3.10 or later, or PyPy 3. It does not provide testing support for other programming languages.

Source: https://docs.pytest.org/en/stable/

What is the license and cost model for pytest?

pytest is open source software distributed under the MIT license and is completely free to use, modify, and distribute. There is no commercial version or paid tier.

Source: https://github.com/pytest-dev/pytest

What are pytest fixtures and why are they important?

Fixtures are reusable test components that set up preconditions and provide test data through a dependency injection mechanism. They eliminate boilerplate setup and teardown code, improve test clarity by using explicit function parameters, and can be easily parametrized to run tests with multiple data sets.

Source: https://docs.pytest.org/en/stable/fixture.html

How does pytest compare to Python's built-in unittest framework?

pytest uses plain Python assert statements instead of unittest's specialized assertion methods like assertEqual(), provides more detailed introspection into failing assertions, and requires less boilerplate code. Both frameworks can coexist in a project, as pytest can run unittest test suites directly.

Source: https://docs.pytest.org/en/stable/

Can pytest run existing unittest test suites without modification?

Yes, pytest can execute unittest and trial test suites natively without requiring any code changes. This allows teams to adopt pytest incrementally while maintaining compatibility with existing test code.

Source: https://docs.pytest.org/en/stable/

What is pytest's plugin architecture and how extensible is it?

pytest features a robust plugin system with over 1,300 external plugins available that extend its functionality for CI/CD integration, coverage reporting, parallel execution, and other specialized testing needs. This makes pytest highly customizable for different project requirements.

Source: https://docs.pytest.org/en/stable/

How does pytest automatically discover and run tests?

pytest follows standard Python naming conventions, automatically locating and running test files named test_*.py or *_test.py, and test functions beginning with test_. This automatic discovery eliminates the need for manual test registration or configuration in most cases.

Source: https://docs.pytest.org/en/stable/

pytest alternatives

Other testing tools we track, ranked by the same independent score.

All pytest alternatives, ranked →

Compare pytest

Side by side against other testing tools, attribute by attribute, with a source on every value.

Independent · unbought · dated

The vioscaleAI score: one lens on the evidence

Not user reviews and not a paid placement: a confidence-weighted blend of the independent signals below (adoption, activity, security posture, and more), which you can sort and re-weight yourself. Vendors can correct their listing but can never move their rank, and stars are weighted low as a vanity metric. It is one way to read the evidence for pytest, not the verdict.

Balanced composite 76 / 100
medium · 73%
Signal contributions to the composite score
SignalScoreWeightContributionEvidence
Package downloads1000.1717.3
Development activity630.127.6
Dependent projects910.087.3
Developer Q&A activity800.086.4
Release cadence740.075.0
Capabilities460.083.8
Security score670.053.6
Stars790.032.6
Integrations00.050.0-
Security posture00.090.0-

Computed . Re-weight it by intent, or see the full method.

All data & sourcesshow ↓

Every value we hold, with its source, retrieval date, and confidence. This is the evidence behind the score: don't trust it, verify it.

Activity

AttributeValueEvidence
Commits last 30d99mediumsource · 2026-09-10 · 65%

Adoption

AttributeValueEvidence
Package downloads weekly237,782,854highsource · 2026-08-26 · 85%
Github stars14,495highsource · 2026-09-10 · 90%
Stackoverflow questions30,000highsource · 2026-07-30 · 75%
Dependent repos283,154highsource · 2026-09-10 · 85%

Content

AttributeValueEvidence
Faq8 itemshighsource · 2026-07-30 · 94%

Features

AttributeValueEvidence
CapabilitiesLanguages: Python · Assertions: Yes · Ci integration: Yesmediumsource · 2026-09-14 · 60%

Language

AttributeValueEvidence
PrimaryPythonhighsource · 2026-09-10 · 98%

License

AttributeValueEvidence
SpdxMIThighsource · 2026-09-10 · 99%

Market

AttributeValueEvidence
AvailabilityPrimaryMarkets: … · AvailabilityScope: global · AvailableCountries: … · NotAvailableCountries: …highsource · 2026-08-14 · 75%

Pricing

AttributeValueEvidence
Price levelfreemediumsource · 2026-09-14 · 60%
Free tierYesmediumsource · 2026-09-14 · 60%
Modelopen_sourcemediumsource · 2026-09-14 · 60%

Release

AttributeValueEvidence
Cadence days46mediumsource · 2026-09-10 · 70%
History20 itemsmediumsource · 2026-09-10 · 70%

Security

AttributeValueEvidence
Scorecard6.7highsource · 2026-09-10 · 90%
VulnerabilitiesCount: 1 · Source: https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=pytest&per_page=100 · Last 12m: 1 · Max severity: MODERATEhighsource · 2026-09-10 · 90%
Still deciding?

Is pytest the right choice for you?

Tell us the job, the constraints and what you weigh most, and we will rank pytest against the rest of the testing tools we index, using the same dated evidence weighted your way.

Free to run, no account needed to start. How the evaluation works

For the makers of pytest

Is this your product?

This profile was built from public sources without asking you. You can take the badge below and use it anywhere, and you can claim the profile to correct anything we got wrong. Both are free, and neither moves pytest up or down: nobody can buy rank here, including you.

Take the badge

Live, always current, and free to use on your own site. It shows pytest's independent score and links back to this profile.

pytest, verified on vioscaleAI
HTML
<a href="https://www.vioscale.ai/software/pytest" target="_blank" rel="noopener">
  <img src="https://www.vioscale.ai/badge/software/pytest.svg" alt="pytest, verified on vioscaleAI" width="330" height="76" loading="lazy" />
</a>
Markdown, for a README →
Markdown
[![pytest, verified on vioscaleAI](https://www.vioscale.ai/badge/software/pytest.svg)](https://www.vioscale.ai/software/pytest)

Claim the profile

Verify you control the domain and you can correct the facts, add the sources we should be reading, and see how AI assistants are describing pytest. Free, and it does not change the score.

  • Correct anything wrong, with evidence
  • Point our crawler at the pages that matter
  • See which AI systems are reading this profile
Claim pytest

Not the owner? How vendor profiles work