skillfed

bzt

Taurus Tool for Continuous Testing

bzt v1.16.51 812.7K downloads/30d#4,999 on PyPI
Permissive license Apache 2.0 Active released

What it is and what it does

Taurus is a performance and functional testing orchestration tool that wraps industry-standard test engines—JMeter, Gatling, Locust.io, and Selenium WebDriver—under a unified YAML configuration interface. Instead of learning each engine's native syntax and configuration format, you write simple declarative test scenarios in YAML, and Taurus translates them into the appropriate engine's native format, executes the test, and aggregates results. It handles concurrency, ramp-up, hold time, think-time, and other common test parameters through straightforward YAML keys.

The tool is designed for teams practicing continuous testing: you define your test once in YAML, commit it to version control, and run it from CI/CD pipelines without rewriting for different engines. Taurus manages test artifact collection, console reporting, and result summaries. It runs on Linux, macOS, and Windows, requires Python 3.6 or later, and has been in production use since its first release in 2015. The package itself is lightweight and installs via pip with low friction, though the underlying test engines must be provisioned separately.

Use it for:

  • Define load tests in YAML and execute them against multiple backends (JMeter, Gatling, Locust) without rewriting test logic.
  • Integrate performance testing into CI/CD pipelines by committing YAML test definitions to version control and running them on every build.
  • Automate functional testing with Selenium WebDriver through a simplified YAML interface instead of writing raw WebDriver code.
  • Collect and report on test metrics (response times, throughput, concurrency) across different test engines using a consistent output format.
  • Prototype and iterate on load test scenarios quickly using YAML configuration rather than learning each engine's native scripting language.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Taurus is a command-line wrapper that simplifies performance and functional testing by abstracting JMeter, Gatling, Locust.io, and Selenium WebDriver behind a YAML-based configuration interface.

Yes, if you need a unified interface to orchestrate performance or functional tests across multiple engines. Taurus is production-stable, actively maintained, permissively licensed, and has low install friction. The main constraint is that you must separately provision the underlying test engines (JMeter, Gatling, Locust.io, or Selenium WebDriver) it wraps; Taurus itself is a coordinator, not a standalone test runner. Worth installing for teams standardizing on YAML-based test definitions across CI/CD pipelines.

Install

bzt on PyPI

pip

pip install bzt

uv

uv add bzt

poetry

poetry add bzt

Installing bzt

Before you install

Low install friction; pure Python wheel distribution. Active maintenance with a release within 60 days. Supports Python 3.6 and later versions across Linux, macOS, and Windows.

License in practice

Apache 2.0 permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute Taurus freely provided you include the license notice.

Quickstart

pip install bzt

Create test.yml:
execution:
- concurrency: 10
  ramp-up: 1m
  hold-for: 1m30s
  scenario: simple
scenarios:
  simple:
    requests:
    - http://blazedemo.com/

Run: bzt test.yml

Underlying test engines (JMeter, Gatling, Locust.io, or Selenium WebDriver) must be installed separately; Taurus orchestrates but does not bundle them.

Verify before relying

  • Whether all 22 runtime dependencies are required for basic operation or only for specific test engine backends.
  • System resource requirements and typical memory footprint during test execution.
  • Compatibility with the latest versions of underlying engines (JMeter, Gatling, Locust.io, Selenium).

Package facts

License Apache 2.0 (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 22 — astunparse, colorlog, cssselect, fuzzyset2, h11, hdrpy, influxdb, lxml, molotov, progressbar33, psutil, python-socketio, pyyaml, requests, setuptools, terminaltables3, urllib3, urwid, websocket-client, Cython, pyvirtualdisplay, colorama
Maintenance actively maintained — 60 days since the last release
First released
Downloads 812,700/month — #4,999 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: bzt-1.16.51-py2.py3-none-any.whl

Development Status :: 5 - Production/StableLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Quality AssuranceTopic :: Software Development :: TestingTopic :: Software Development :: Testing :: Traffic Generation

Tags

performance testing automationload testing wrapperjmeter gatling locust abstractionyaml-based test configurationfunctional and load testing toolcontinuous testing frameworktest orchestration platform
performance-testingtest-orchestrationci-cd-integration

More Testing packages