CheckOps
Tavern
Tavern is an MIT-licensed pytest plugin and command-line tool for testing RESTful APIs, MQTT-based APIs and gRPC services with concise YAML test files.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Tavern is a pytest plugin, command-line tool and Python library for automated API testing, with a simple, concise YAML syntax. The README says it supports RESTful APIs, MQTT-based APIs and gRPC services, including testing MQTT and gRPC in tandem with REST.
Because Tavern is a pytest plugin, you install pytest and Tavern, write .tavern.yaml files and run pytest. You get the whole pytest ecosystem: fixtures, markers, parallel runs with xdist, and reports.
Each test has stages with a request and an expected response. Values can be saved from responses and reused in later stages, and external Python functions can validate complex responses.
In the quality loop, Tavern covers API and integration tests in Python projects.
The source code is at taverntesting/tavern on GitHub under the MIT licence, with about 1,200 stars; the most recent commit was on 4 November 2026.
Features
- YAML tests: Readable request and response stages.
- pytest plugin: Fixtures, markers and reports from pytest.
- REST, MQTT and gRPC: Multiple protocols in one tool.
- Saved values: Reuse response data across stages.
- Custom validation: Call Python functions for complex checks.
Pros
- Low ceremony: Quick to write and read.
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 4 November 2026.
Cons
- YAML for logic: Advanced flows need Python helpers.
- Python ecosystem: Best for teams already on pytest.
Usage and Links (Example)
# test_user.tavern.yaml
test_name: Get a user
stages:
- name: fetch user
request:
url: http://localhost:8000/users/1
method: GET
response:
status_code: 200
json:
id: 1
pip install tavern && pytest test_user.tavern.yaml
Resources:
Pricing
Tavern is free and open source under the MIT licence.
Recommended for?
- Python teams wanting YAML API tests on pytest.
- Not a fit outside the Python ecosystem.
Conclusion
Tavern is a mature, maintained choice for YAML-based API tests that run with pytest.
On CheckOps, Tavern is filed under the API & contract testing and Integration testing stages. Related tools listed here include pytest, PyRestTest, Hurl, Venom, Karate and Schemathesis. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Tavern side by side.
- Ppytestpytest is the usual Python test runner: plain asserts, fixtures, parametrization, and a large plugin set.Compare with Tavern
- PPyRestTestYAML based api testing and API microbenchmarking tool in PythonCompare with Tavern
HHurlHurl is an Apache-2.0 command-line tool, written in Rust on libcurl, that runs and tests HTTP requests defined in plain text files, with captures, assertions and JUnit, TAP, HTML and JSON reports.Compare with Tavern
VVenomVenom is an Apache-2.0 CLI from OVHcloud for writing and running integration tests as YAML test suites, with executors for HTTP, gRPC, SQL, Kafka, SSH, SMTP, Redis, shell commands and more.Compare with Tavern
KKarateTest Automation Made Simple.Compare with Tavern
SSchemathesisSchemathesis is an MIT-licensed property-based API testing tool that generates inputs from OpenAPI, GraphQL and gRPC schemas, chains stateful workflows and finds 500s, schema violations and validation gaps.Compare with Tavern