radish-bdd
Behaviour-Driven-Development tool for Python
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3 or later (supports 3.7 through 3.14); feature files and step definitions must follow Gherkin conventions.
- Low friction install with five runtime dependencies (docopt, colorful, tag-expressions, parse_type, humanize).
- Actively maintained with recent commits and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2026-02-24 (171 days) · last repo commit 2026-04-21 · 194 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 178,951 downloads/mo, #10,184 on PyPI
Alternatives
Verify before relying
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/- 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.
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 on it.
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
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.
Requires Python 3 or later (supports 3.7 through 3.14); feature files and step definitions must follow Gherkin conventions.
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/
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 packagesdocoptcolorfultag-expressionsparse_typehumanize |
| 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 |
| Classifiers | Development Status :: 6 - MatureEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Other AudienceLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: OS IndependentOperating System :: POSIXOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: ImplementationTopic :: Education :: TestingTopic :: Software DevelopmentTopic :: Software Development :: Testing |
Evidence: radish_bdd-0.18.4-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “BDD testing framework Python”
- radish-bddradish is a Behavior Driven Development (BDD) test framework written…
- behavebehave is a behavior-driven development (BDD) framework that lets you…
- pytest-bddpytest-bdd implements Gherkin-based behavior-driven development…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also pytest-bdd · behave-django · vedro · behave · terraform-compliance · gherkin-official · cucumber-tag-expressions · behavex · cucumber-expressions · allure-pytest-bdd