Statistics Application using only the Python Standard Library.
Project description
tkstatistics
tkstatistics is a small-data statistics desktop application and headless
runner built with the Python standard library. Its defining workflow is
pre-registration: a confirmatory analysis must match a committed hypothesis
plan before the application reveals its p-value.
The project is alpha software intended for teaching and reproducible analysis on modest datasets. It is not a replacement for NumPy, SciPy, pandas, R, or a validated clinical statistics system.
Features
- Tkinter desktop application with CSV import and SQLite project files.
- Reproducible JSON analysis specifications and persisted run artifacts.
- Committed analysis plans, confirmatory-result gating, and dataset audit reports.
- Descriptives, frequency tables, t-tests, nonparametric tests, Fisher's exact test, ANOVA, correlations, and linear regression.
- Histogram, box plot, scatter plot, and normal Q-Q plot rendering with SVG export.
- No third-party runtime dependencies. Numerical routines are cross-checked against established scientific Python libraries in the test suite.
Installation
Python 3.11 or newer is required.
python -m pip install tkstatistics
Tkinter is included with standard Python installers on Windows and macOS. Some
Linux distributions package it separately, for example as python3-tk.
Desktop usage
Launch the application with either command:
tkstatistics
python -m tkstatistics
Create or open a .statproj project, import a CSV dataset, then use the
Analyze and Graphs menus. Confirmatory analyses follow a two-step flow:
first choose Pre-register Hypothesis..., then Run Confirmatory Test....
Headless usage
Run a JSON specification against an existing project:
tkstatistics --run analysis.json --project study.statproj --format text
Machine-readable output is the default and can also be saved to a file:
tkstatistics --run analysis.json --project study.statproj \
--format json --output run-artifact.json
Pre-registration and auditing are available without the GUI:
tkstatistics --commit-plan plan.json --project study.statproj
tkstatistics --audit dataset_name --project study.statproj
See tkstatistics --help and the
examples/mean_hypothesis_demo
walkthrough.
Development
uv sync --all-extras --all-groups
make check-ci
make publish-check
The package is MIT licensed. See the release history.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tkstatistics-0.0.1.tar.gz.
File metadata
- Download URL: tkstatistics-0.0.1.tar.gz
- Upload date:
- Size: 53.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d73a3557788f69f5d90c94575da1e55822b0e3922995ec1e0e4ac57284951714
|
|
| MD5 |
40d7505f4325d84967e550f4a61197f7
|
|
| BLAKE2b-256 |
c87d29aa6ee11e667cb6cb9108bf7d38de62c9316309cc822390d5a1b86d6db0
|
Provenance
The following attestation bundles were made for tkstatistics-0.0.1.tar.gz:
Publisher:
release.yml on matthewdeanmartin/tkstatistics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tkstatistics-0.0.1.tar.gz -
Subject digest:
d73a3557788f69f5d90c94575da1e55822b0e3922995ec1e0e4ac57284951714 - Sigstore transparency entry: 2083090163
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/tkstatistics@03713fb713aafb213ea7b625df757d8b2e895bc5 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@03713fb713aafb213ea7b625df757d8b2e895bc5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tkstatistics-0.0.1-py3-none-any.whl.
File metadata
- Download URL: tkstatistics-0.0.1-py3-none-any.whl
- Upload date:
- Size: 67.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b905e8d7c48b7cf58815a1fe1781081721f0fd763a1b8308b8ff4f5bc70d8e4
|
|
| MD5 |
a237b2e9c2230e52aa2efc19f701405b
|
|
| BLAKE2b-256 |
b262893c61a42f495cc7758da9d79365db9a237da528514417ef95efc4f37c2a
|
Provenance
The following attestation bundles were made for tkstatistics-0.0.1-py3-none-any.whl:
Publisher:
release.yml on matthewdeanmartin/tkstatistics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tkstatistics-0.0.1-py3-none-any.whl -
Subject digest:
2b905e8d7c48b7cf58815a1fe1781081721f0fd763a1b8308b8ff4f5bc70d8e4 - Sigstore transparency entry: 2083090165
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/tkstatistics@03713fb713aafb213ea7b625df757d8b2e895bc5 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@03713fb713aafb213ea7b625df757d8b2e895bc5 -
Trigger Event:
release
-
Statement type: