v0.5.3
Trust-focused release: data-quality guard, binary design fixes and pandas 3 support.
New
- Sample Ratio Mismatch (SRM) check —
Testernow verifies that the observed group sizes match the expected split (chi-square at the strict0.0005level) before evaluating results and warns when the assignment looks broken. Custom splits viasrm_expected_ratios={"A": 0.9, "B": 0.1}, disable withcheck_srm=False. Also standalone:ambrosia.tools.srm.check_srm(pandas & Spark).
Fixed
- Binary experiment design with Bayesian intervals:
bayes_betaconjugate prior parameters now reach the size/effect/power computation instead of raisingTypeError(thanks to Artem Vasin, #45). - One-sided alternatives in binary design:
alternative="greater"/"less"works in the power table and is honored by the standalonedesign_binary_*functions (previously silently two-sided). - Colliding keyword arguments (e.g.
confidence_level) raise a clearValueErrorinstead of silently overriding design parameters; unsupportedgroups_ratiowith the binary method now warns. - The standalone
test()works without an explicitfirst_type_errors(applies the documented0.05).
Dependencies
- pandas 3.x is now supported (
>=1.5.0, <4.0.0), verified from pandas 1.5.3 up to 3.x; pytest 9 / pytest-cov 7 in dev; security refresh of locked dependencies (pillow 12.2, Pygments 2.20, pytest 9.0.3).
See the CHANGELOG for full details.
Note: superseded by 0.5.3.post1 — the SRM check became opt-in (check_srm=True or srm_expected_ratios to enable). Unpinned installs resolve to the post release automatically.