Install & Compatibility
Where this runs
tested against v1.15.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.946s · 34.2MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.0s · import 0.848s · 35MB
33MB installed
● package 33MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Scenario
✓ from vedro import Scenario
given, when, then
✓ from vedro import given, when, then
params
✓ from vedro import params
Minimal scenario example with parametrized tests.
from vedro import Scenario, given, when, then, params
class LoginScenario(Scenario):
subject = "user login"
@params("valid_user", "password123")
@params("invalid_user", "wrongpass")
def __init__(self, username, password):
self.username = username
self.password = password
def given_user_exists(self):
self.user = {"username": self.username, "password": self.password}
def when_user_logs_in(self):
self.result = self.authenticate(self.user)
def then_it_should_succeed_or_fail(self):
expected = self.username == "valid_user"
assert self.result == expected
def authenticate(self, user):
return user["username"] == "valid_user"
# Run with: vedro run
vedro --version
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'vedro'
Vedro is not installed or installed in a different environment.
fixRun: pip install vedro --upgrade
TypeError: __init__() takes 1 positional argument but 2 were given
Mismatch between @params decorator arguments and __init__ parameters.
fixUpdate __init__ to accept the same number of arguments as provided by @params (excluding self).
vedro.exceptions.ScenarioValidationError: Scenario '...' must have a non-empty 'subject'
Missing subject attribute in the Scenario class (required since v1.10).
fixAdd subject = 'Some description' to the Scenario class.
Upgrade
Version history
1.15.1latest on PyPI · released Oct 4, 2025
Audit
Dependencies
vedro-allure-reporteroptionalAllure reporting plugin
vedro-httpoptionalHTTP testing plugin