Changelog¶
All notable changes to HypoTestX are documented here. Versions follow Semantic Versioning.
v0.1.0 — Released¶
Initial public release.
Complete parametric test suite: one-sample t-test, two-sample t-test, Welch’s t-test, paired t-test, one-way ANOVA
Non-parametric tests: Mann-Whitney U, Wilcoxon signed-rank, Kruskal-Wallis
Categorical tests: chi-square (independence + goodness-of-fit), Fisher’s exact
Correlation tests: Pearson, Spearman, point-biserial
Pure Python math core: distributions, special functions, numerical integration — zero mandatory dependencies
Assumption checking: Shapiro-Wilk, Levene, Bartlett, Jarque-Bera
Power analysis: sample size calculation, post-hoc power for two-sample t-tests
Bootstrap and permutation tests
APA-style reporting via
apa_report()Structured
HypoResultwith statistic, p-value, effect size, CI, interpretation
v0.2.0 — Released¶
LLM-powered natural-language interface.
analyze()function — single entry-point natural-language interfacePlug-in LLM backend system — swap any backend with one keyword arg
FallbackBackend— built-in regex router (zero deps, offline, always works)OllamaBackend— local Ollama (free, offline)GeminiBackend— Google Gemini free tier (1 500 req/day)OpenAICompatBackend— OpenAI, Groq, Together AI, Mistral, PerplexityHuggingFaceBackend— HuggingFace Inference API + localtransformersCallableBackend— wraps anycallable(messages) -> strLLMBackendABC — subclass to integrate any custom LLM
RoutingResultstructured dataclass for intent extractionSchemaInfoDataFrame summary passed to LLMs as contextRegex fallback pattern table covering all test types
483 tests passing
v1.0.0 — Released¶
Production-ready release with domain packages, reporting, and visualization.
Domain-specific packages:
hypotestx.domains— clinical/medical, A/B testing, finance, survey analysisHTML / PDF reporting:
generate_report(),export_html(),export_pdf()(PDF requiresweasyprint)Visualization:
result.plot(),plot_result(),plot_distributions(),plot_p_value()— requires optionalmatplotlibAzure OpenAI backend:
backend="azure"with correct deployment URL,api-keyheader, andapi_versionparameterRouting confidence warnings:
routing_confidenceandrouting_sourcefields onHypoResult;UserWarningemitted when fallback is usedRouting validation: explicit column checks per test type with actionable error messages before dispatch
Structured logging:
logging.getLogger("hypotestx")throughoutDuck-typed backends: any object exposing
.route()accepted byget_backend()Division-by-zero fix: Welch/Student t-tests guard against zero-variance groups
532 tests passing
v1.1.0 — Planned¶
Two-way ANOVA and repeated-measures ANOVA
Regression-based tests (linear, logistic)
Automatic assumption-driven test selection
Streaming LLM responses for verbose mode
analyze()result explains why a test was chosen
v1.2.0 — Planned¶
Bayesian alternatives (Bayesian t-test, Bayes factor)
Time series stationarity and change-point tests
Meta-analysis tools
Interactive Jupyter widgets for results