radish-bdd
Behaviour-Driven-Development tool for Python
What it is and what it does
radish is a Python-based BDD framework that reads and executes Gherkin feature files—the human-readable test specifications used across the BDD ecosystem. It parses Given-When-Then scenarios and maps them to Python step definitions you write, then runs them and reports results. Beyond standard Gherkin, radish adds preconditions, scenario loops, constants, and expression support, giving you more flexibility in how you structure tests.
You install it via pip, write feature files in plain Gherkin syntax, define step implementations as decorated Python functions, and invoke the radish command-line tool to run your test suite. It works on Windows, Mac, and Linux, supports Python versions from 3.7 onward, and depends on a small set of utilities for command parsing, colored output, tag filtering, type parsing, and human-readable formatting.
Use it for:
- Write acceptance tests in plain English (Gherkin) that non-technical stakeholders can read and understand.
- Automate API or web application testing by mapping feature scenarios to Python step definitions.
- Build test suites with reusable steps and data-driven scenarios using scenario loops and constants.
- Integrate BDD tests into CI/CD pipelines to verify behavior before deployment.
- Document system behavior through executable feature files that stay in sync with actual code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
radish is a Behavior Driven Development (BDD) test framework written in Python that executes Gherkin-style feature files and supports standard BDD patterns plus extensions like preconditions, scenario loops, and constants.
Yes, if you need a Python-native BDD framework. radish is actively maintained, has no known vulnerabilities, low install friction, and works across major platforms and recent Python versions. It's mature (since 2013) and suitable for teams wanting to write acceptance tests in Gherkin. Choose it if you prefer a Python-focused alternative to tools like Behave or Cucumber.
Install
radish-bdd on PyPI
pip
pip install radish-bdduv
uv add radish-bddpoetry
poetry add radish-bddInstalling radish-bdd
Before you install
Low friction install with five runtime dependencies (docopt, colorful, tag-expressions, parse_type, humanize). Actively maintained with recent commits and no known vulnerabilities.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install radish-bdd
# Create a feature file (e.g., features/example.feature)
# Feature: Example
# Scenario: Test
# Given a step
# Create steps file (features/steps.py)
from radish import given
@given('a step')
def step_impl(step):
pass
# Run tests
# radish features/
Requires Python 3 or later (supports 3.7 through 3.14); feature files and step definitions must follow Gherkin conventions.
Verify before relying
- Whether the 'unconventional' BDD features (preconditions, scenario loops, constants, expressions) are documented with examples in the fact sheet.
- Performance characteristics when running large numbers of scenarios or complex step definitions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — docopt, colorful, tag-expressions, parse_type, humanize |
| Maintenance | actively maintained — 171 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 178,951/month — #10,184 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: radish_bdd-0.18.4-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pytest-bddpytest-bdd implements Gherkin-based…
permissive · top 5,000 on PyPI
behave-djangoIntegrates Behave BDD testing into Django…
permissive · top 15,000 on PyPI
vedroVedro is a scenario-style testing framework for…
permissive · top 15,000 on PyPI
behavebehave is a behavior-driven development (BDD)…
permissive · top 5,000 on PyPI
terraform-complianceterraform-compliance is a BDD-based test…
permissive · top 15,000 on PyPI
gherkin-officialParses and compiles Gherkin feature files into…
permissive · top 5,000 on PyPI
cucumber-tag-expressionsParses and evaluates boolean tag expressions…
permissive · top 5,000 on PyPI
behavexBehaveX extends Behave with parallel test…
unclear · top 15,000 on PyPI
cucumber-expressionsCucumber Expressions provides a simpler, more…
permissive · top 5,000 on PyPI
allure-pytest-bddIntegrates Allure Report with Pytest-BDD to…
permissive · top 15,000 on PyPI