BehaveX
Production-grade test orchestration for Python BDD.
BehaveX extends Behave with parallel execution, enterprise-grade reporting, and the operational controls needed to run test suites at scale. Downloaded 121,000+ times per month.
✨ Latest Features
🪝 before_all_workers / after_all_workers hooks (v4.6.4) — New lifecycle hooks that run once in the coordinator process, before any worker starts and after all finish. Values set on context are injected into every worker automatically.
📊 context.behavex execution metadata (v4.6.4) — BehaveX now injects a context.behavex namespace into every worker: parallel_scheme, parallel_processes, is_worker, worker_id.
🚫 --no-report flag (v4.6.4) — Disables all file output. No HTML/JSON/XML reports or output folder are created. Evidence is redirected to the system temp directory. Designed for read-only CI environments.
🔍 Stack Trace on Error (v4.6.2) — Click on any failed step in the HTML report to expand the full stack trace inline.
📐 Gherkin Rule Section Support (v4.6.2) — Full support for Rule: blocks in feature files.
🏷️ Tag Expressions v2 (v4.6.0) — Native Cucumber-style tag expressions with boolean logic, parentheses, and wildcards.
🚀 Enhanced Behave Integration (v4.5.0) — Support for Behave >= 1.3.0. Major performance overhaul.
📊 Interactive Execution Timeline (v4.5.0) — Visual timeline showing scenario execution across parallel workers.
🎯 Test Execution Ordering (v4.4.1) — Control scenario/feature order in parallel runs with @ORDER_001 tags.
Installation
pip install behavex
Quick Start
# Run all scenarios
behavex
# Run scenarios tagged @smoke with 4 parallel processes
behavex -t=@smoke --parallel-processes=4 --parallel-scheme=scenario
# Cucumber-style tag filtering (Behave 1.3.0+)
behavex -t="(@smoke or @regression) and not @slow" --parallel-processes=4
# Dry run — list all scenarios in HTML report without executing
behavex -t=@smoke --dry-run
BehaveX vs Behave
BehaveX is a zero-friction upgrade — your existing feature files and step definitions work unchanged.
| Capability | Behave | BehaveX |
|---|---|---|
| Parallel execution | ❌ | ✅ By feature or scenario, N processes |
| HTML report | ❌ | ✅ With screenshots, logs, evidence |
| Allure integration | ❌ | ✅ Full support with thread labels |
| Auto-retry on failure | ❌ | ✅ @AUTORETRY / @AUTORETRY_3 |
| Test muting | ❌ | ✅ @MUTE — run but exclude from CI results |
| Execution ordering | ❌ | ✅ @ORDER_001 tags for dependency-aware runs |
| Execution timeline | ❌ | ✅ Visual timeline across parallel workers |
| Pass rate & automation metrics | ❌ | ✅ Per-run dashboard in HTML report |
| Dry run with HTML report | Basic | ✅ Shareable spec report |
| Per-scenario log files | ❌ | ✅ Linked directly in HTML report |
| Screenshot evidence | ❌ | ✅ Via behavex-images |
Who Uses BehaveX
- Apache NiFi MiNiFi C++ — The Apache Foundation uses BehaveX for their C++ dataflow agent.
- LambdaTest — Featured in LambdaTest's official Python BDD documentation.
- SovereignCloudStack — Used for real-life IaaS/KaaS health monitoring in the Gaia-X ecosystem.
- Qase — Official integration with the Qase enterprise test management platform.
Using BehaveX? Open a PR to be listed here.
Documentation
Full documentation at behavex.readthedocs.io
- Getting Started
- Migrating from Behave
- Tag Expressions
- Parallel Execution
- Reporting
- Test Management
- CLI Reference
- Utilities
Get Involved
BehaveX grows through community use and contribution. If it's useful to your team:
- ⭐ Star the repo — helps other teams discover the project
- 🐛 Report issues — your use case helps improve BehaveX for everyone
- 🔧 Contribute — PRs are welcome, from docs to features
- 📢 Spread the word — mention BehaveX when you talk about Python testing
Used by the Apache Foundation, LambdaTest, SovereignCloudStack, and teams worldwide.
Metadata
Release files for behavex 4.6.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| behavex-4.6.7.tar.gz | 688.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| behavex-4.6.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / behavex-4.6.7.tar.gz
| Download URL | behavex-4.6.7.tar.gz |
|---|---|
| Size | 688.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa52da761cb9ec89e2b472558b0acbcab7e25ce0b5462419f3a878bba2ee56d9
|
|
BLAKE2b-256 checksum How to use checksums |
55ae4c726c111218615d47fc1e218c6245ac945b76becd792173e82bbcfc7eb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / behavex-4.6.7-py3-none-any.whl
| Download URL | behavex-4.6.7-py3-none-any.whl |
|---|---|
| Size | 721.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a984109917fde4dca36ab9dd59638aeea77f744d5dc11e3314fe92b80d498389
|
|
BLAKE2b-256 checksum How to use checksums |
0c5f7e6e2a0925afc2628ad0ceb650f7435c2531e40dcdecf2b122b115a1e736
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Security for behavex 4.6.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.