Metadata-Version: 2.4
Name: px-stat
Version: 0.1.0
Summary: Offline statistics practical-code expansion for Python IDLE Editors
License-Expression: LicenseRef-PxStat-Local-Use
Project-URL: Practical Source, https://github.com/mcc-prac/stats
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Text Editors :: Integrated Development Environments (IDE)
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Provides-Extra: practicals
Requires-Dist: numpy; extra == "practicals"
Requires-Dist: scipy; extra == "practicals"
Dynamic: license-file

# px-stat

Offline statistics practical-code expansion in Python IDLE Editor windows,
using all 14 Python sources from [mcc-prac/stats](https://github.com/mcc-prac/stats).
Requires Python 3.10 or newer with Tk and IDLE installed.

## Install and enable

```powershell
python -m pip install px-stat
python -m px_stat install
python -m idlelib
```

Close existing IDLE windows before reopening. Select **File → New File** and
type `#>` on a dedicated line to show the catalogue. Type `#>wilcoxon` to filter
by topic or `#>p06-q01` to find a practical/question number. Up/Down select;
Enter or Tab inserts the exact bundled source; Escape dismisses. Expansion is
one undo operation. The Shell window does not expand code.

`#@` is a statistics-only trigger that always works. When px-idle is also enabled,
px-stat uses `#@` exclusively so the two extensions do not compete over `#>`.
For example, use `#@wilcoxon` with both extensions enabled.

The command shortcut `px-stat install` is also available when Python's Scripts
directory is on PATH. The module command above works without that PATH entry.
Use the same Python installation for pip, registration and IDLE.

```powershell
python -m px_stat status
python -m px_stat doctor
python -m px_stat uninstall
python -m pip uninstall px-stat
```

Registration is explicit. Pip installation does not alter IDLE settings.
Registration edits only PxStat sections, backs up existing configuration and
writes it atomically. Uninstalling registration preserves px-idle and other
extensions. `--config-dir DIRECTORY` isolates configuration for tests.

## Statistics sources

Sources retain their original code, with UTF-8/LF normalization only. The
catalogue uses the practical and question numbers in each source's docstring:

| Practical | Topics |
| --- | --- |
| P06 | One-sample and two-sample Z and T tests; paired T test |
| P07 | One-sample chi-square variance test; two-sample F variance test |
| P09 | Sign, Wilcoxon signed-rank, Mann–Whitney U and chi-square independence tests |
| P10 | Kruskal–Wallis, Friedman and Mood median tests |

The extension never executes or imports practical code, accesses the clipboard,
downloads data, or contacts the source repository at runtime. Bundled assets are
checked against SHA256 hashes. Search supports file names, topic words, practical
and question numbers, normalized separators, and conservative single-edit typos.

To **run** the inserted statistical programs, install their dependencies into the
same Python environment:

```powershell
python -m pip install "px-stat[practicals]"
```

NumPy and SciPy are optional for code expansion. The original programs prompt
for inputs when run; px-stat does not change their statistical methods or results.

## License and provenance

All rights reserved, local use only; see LICENSE and NOTICE. Package publication
requires the source owner's permission. `practicals/registry.json` records the
exact source commit, asset hashes and dependencies. Executed package and actual
IDLE test reports are stored in `docs/`; untested platforms are not claimed.
