# taverntesting/tavern

A command-line tool and Python library and Pytest plugin for automated testing of RESTful APIs, with a simple, concise and flexible YAML-based syntax

Repository: https://github.com/taverntesting/tavern
Canonical: https://ross.abutalabs.com/products/tavern
Homepage: https://taverntesting.github.io/
Language: Python
License: MIT
License Family: permissive
Topics: python, pytest, testing, test-automation, mqtt, http, grpc, grpc-python
Last push: 2026-08-31T13:24:42+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 100, release rhythm 35, longevity 100
- inputs: {"age_days": 3227, "days_push": 2, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1154, forks 201 (observed 2026-09-01T02:14:07.804567+00:00)

## What it is
Tavern is a pytest plugin, command-line tool, and Python library for automated API testing using a concise YAML-based syntax. It supports testing RESTful HTTP APIs, MQTT-based APIs, and gRPC services.

## Use cases
- write api tests in yaml
- test rest apis with pytest
- automated api testing in ci
- test mqtt apis
- test grpc services
- run api smoke tests from the command line

## When to choose
- you want declarative, readable API tests without writing lots of Python boilerplate
- your team already uses pytest and wants to reuse its fixtures and ecosystem
- you need to test HTTP, MQTT, or gRPC interfaces in one tool
- you want API tests that run easily in CI pipelines

## When to avoid
- you need complex programmatic test logic better expressed in plain Python code
- you prefer code-first API testing frameworks like pytest with requests or Schemathesis
- you need browser or UI end-to-end testing
- you dislike YAML-based configuration

## Facets
- artifact type: library
- maturity: active
- function: testing, e2e-testing, http-client
- domain: testing, apis, developer-tools
- platform: python, cli, cross-platform
- tags: pytest-plugin, yaml-tests, api-testing, mqtt, grpc, rest, automation

## Member repositories
- taverntesting/tavern (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-09-01T02:14:07.804567+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-30T06:33:29.820095+00:00, confidence not recorded.
  - readme: https://github.com/taverntesting/tavern (fetched 2026-09-01T02:14:07.804567+00:00, sha 69e52a5ff95b)
  - homepage: https://taverntesting.github.io/ (fetched 2026-08-29T12:38:05.120469+00:00, sha c4c57d77f433)
  - registry_pypi: https://pypi.org/pypi/tavern/json (fetched 2026-08-29T12:38:05.123211+00:00, sha c09387c6f48a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
