Thanks for your interest. fairscope is built incrementally, one module per phase,
with regression tests as the credibility anchor.
git clone https://github.com/Rajveer-code/fairscope
cd fairscope
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pre-commit install
pytest- Every function: full type hints; NumPy-style docstring with a runnable
Examplesblock; input validation with clear errors; no silent failures; deterministic given a seed (exposerandom_stateon anything stochastic). - Tests are mandatory. Where an authoritative reference value exists (e.g. DeLong
1988,
statsmodelsmultitest), test against it — not against a paper. Where testing against a paper, assert direction + approximate magnitude within a stated tolerance and document any discrepancy. Committed data fixtures are small subsamples, labeled as such in the docstring; they do not reproduce a full published run. - Formatting/linting:
black+ruff(run automatically bypre-commit). - Coverage: enforced overall package floor ≥70% (
--cov-fail-under=70in CI); target ≥85% oncore/.
- No invented mathematics — every method ports a published paper and cites it.
- No fabricated user counts, stars, downloads, or adoption claims anywhere.
- If a paper is ambiguous about a parameter, open an issue and ask — do not invent it.
- If a method does not match what a paper actually contains, name the function for what it generically does and flag the mismatch.
Small, logical, self-contained commits — never batch a whole phase into one commit. Each commit message should describe a real design decision or fix.