Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tkstatistics-0.0.1.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tkstatistics-0.0.1-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

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

Hashes for tkstatistics-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d73a3557788f69f5d90c94575da1e55822b0e3922995ec1e0e4ac57284951714
MD5 40d7505f4325d84967e550f4a61197f7
BLAKE2b-256 c87d29aa6ee11e667cb6cb9108bf7d38de62c9316309cc822390d5a1b86d6db0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tkstatistics-0.0.1.tar.gz:

Publisher: release.yml on matthewdeanmartin/tkstatistics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for tkstatistics-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2b905e8d7c48b7cf58815a1fe1781081721f0fd763a1b8308b8ff4f5bc70d8e4
MD5 a237b2e9c2230e52aa2efc19f701405b
BLAKE2b-256 b262893c61a42f495cc7758da9d79365db9a237da528514417ef95efc4f37c2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tkstatistics-0.0.1-py3-none-any.whl:

Publisher: release.yml on matthewdeanmartin/tkstatistics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page