Release notes

v0.23.0 — APA Lab support helpers

PyStatsV1 v0.23.0 prepares the public package for the APA Article Lab and other proof-first psychology workflows.

Highlights

  • Adds the public pystatsv1.psych helper layer.

  • Documents the helper APIs used by the APA Lab companion project.

  • Keeps PyStatsV1’s role deliberately narrow and honest: PyStatsV1 provides bridge helpers and receipts, while SciPy, statsmodels, Pingouin, and R remain the appropriate tools for many statistical procedures.

  • Updates the release process so CI runs on release tags and PyPI publication is a manual trusted-publisher step after the tag is green.

Public psychology helper APIs

package_identity()

Returns a JSON-serializable package identity receipt, including package name, module name, version, import path, distribution location, source-kind label, Python executable, and public top-level exports.

describe_by_group()

Produces JSON-stable descriptive summaries by group for one or more numeric variables. It records n, mean, sd, min, and max for each group/variable pair.

write_json_receipt()

Writes sorted, indented JSON receipts with a final newline and creates parent directories as needed.

compare_numeric_results()

Compares numeric outputs from two analysis engines with a stated tolerance and records pass, fail, missing, and non-numeric comparison cases.

Release checklist

Before tagging v0.23.0:

git status
git rev-parse HEAD
python -m pip install -e '.[dev,docs]'
make lint
make test
make docs-workbook-strict
python -m build

After the local checks are green:

git tag -a v0.23.0 -m "PyStatsV1 v0.23.0 with APA Lab psych support helpers"
git push origin v0.23.0
gh run list --limit 10
gh run watch --exit-status

After the tag CI is green and the PyPI trusted publisher is configured:

gh workflow run pypi-publish.yml --ref v0.23.0
gh run watch --exit-status

Then verify the public install in a clean environment:

python -m pip install --upgrade pystatsv1==0.23.0
python - <<'PY'
from pystatsv1.psych import package_identity
print(package_identity()["version"])
PY