# pytest-dev/pytest

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing

Repository: https://github.com/pytest-dev/pytest
Canonical: https://ross.abutalabs.com/products/pytest
Homepage: https://pytest.org
Language: Python
License: MIT
License Family: permissive
Topics: unit-testing, test, testing, python, hacktoberfest
Last push: 2026-08-26T09:25:47+00:00

## Health v2 (maintenance only)
Score: 92/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 77, longevity 100
- inputs: {"age_days": 4097, "days_push": 7, "days_rel": 75, "gap_med": 67, "n_releases_24m": 12}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 14444, forks 3326 (observed 2026-08-28T04:11:07.031385+00:00)

## What it is
pytest is a mature Python testing framework that makes it easy to write small tests with plain assert statements while scaling to complex functional testing. It offers powerful features like detailed assertion introspection, fixtures, parametrization, and a rich plugin ecosystem.

## Use cases
- write unit tests for python code
- run functional tests for an application
- parametrize tests over multiple inputs
- share test setup with fixtures
- run unittest-based tests with better output
- write custom test plugins

## When to choose
- you are testing Python code and want minimal boilerplate with plain asserts
- you need scalable test organization with fixtures and parametrization
- you want a large plugin ecosystem and mature tooling

## When to avoid
- you are testing non-Python code
- you need a language-agnostic test runner

## Facets
- artifact type: framework
- maturity: stable
- function: testing, cli, plugin-system
- domain: testing, developer-tools
- platform: python, cli, cross-platform
- tags: unit-testing, fixtures, parametrized-tests, assertion-introspection, test-runner, python

## Member repositories
- pytest-dev/pytest (main) score 92

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:07.031385+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:12:33.952634+00:00, confidence not recorded.
  - readme: https://github.com/pytest-dev/pytest (fetched 2026-08-28T04:11:07.031385+00:00, sha 572a925b9ccb)
  - homepage: https://pytest.org (fetched 2026-08-29T08:06:05.732795+00:00, sha 5bf3712d046b)
  - site_page: https://docs.pytest.org/en/stable/getting-started.html (fetched 2026-08-29T08:06:05.742228+00:00, sha 0a4b0e49f915)
  - site_page: https://docs.pytest.org/en/stable/how-to/plugins.html (fetched 2026-08-29T08:06:05.744409+00:00, sha 22305354bccd)
  - site_page: https://docs.pytest.org/en/stable/explanation/fixtures.html (fetched 2026-08-29T08:06:05.746305+00:00, sha b0c283a9a77e)
  - site_page: https://docs.pytest.org/en/stable/changelog.html (fetched 2026-08-29T08:06:05.748419+00:00, sha c59f10ee32ea)
  - registry_pypi: https://pypi.org/pypi/pytest/json (fetched 2026-08-29T08:06:05.754852+00:00, sha dcac07bd538e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
