px-idle
Offline practical-code expansion inside normal Python IDLE Editor windows.
Type #> on a dedicated comment line to discover the complete catalogue, or
#>spell to filter it. Up/Down navigate, Enter or Tab insert, Escape dismisses.
The exact bundled source replaces the active trigger directly in the Text buffer
as one undo operation. Each editor has an independent popup. Shell is excluded.
Local installation
The owner of this project and the upstream practical repository selected all rights reserved, local use only, and authorized distribution through PyPI. Recipients may install and use the package locally; redistribution rights are reserved. See LICENSE. Publication awaits configured account access and TestPyPI verification. Until then, install the local wheel:
python -m pip install dist/px_idle-0.1.0-py3-none-any.whl
px-idle install
Use the same Python installation to launch IDLE. Restart IDLE after registration. Registration is explicit; pip installation never modifies your IDLE settings.
px-idle status reports registration. px-idle doctor checks Python, Tk, IDLE,
shim import and all bundled source hashes. px-idle uninstall removes only
PxIdle configuration sections; it leaves the Python package installed.
Use --config-dir DIRECTORY for an isolated test configuration. Existing
configuration is backed up before mutation and written atomically; malformed
configuration is backed up and left unchanged.
Source and offline behavior
13 source entries from mcc-exam/src, snapshot
a44c65dee9eadf37310a54bcbc90fe78df2289f3, are bundled. See
the audit and generated registry for mappings,
aliases, imports and resource requirements. No git, internet, clipboard or
third-party runtime packages are required for expansion. px-idle never executes
practicals. Their own execution may require matplotlib, numpy, networkx,
requests/beautifulsoup4, scikit-learn, nltk or NLTK punkt_tab data; the crawler
itself uses the internet. These dependencies are not installed by px-idle.
Compatibility and limitations
Requires-Python is >=3.3,!=3.5.4, based on actual Python 3.3.5 installation
and IDLE tests. Runtime syntax deliberately avoids post-3.3 features. Source research
covers 2.7 and every 3.0–3.15 generation; it does not prove runtime compatibility.
See research/idle-source-matrix.json for primary-source evidence.
Exact executed Windows environments are listed below. Every passing row includes
wheel installation, CLI lifecycle, the actual IDLE loader and Editor, popup
controls, source insertion, undo, repeat expansion, real Shell exclusion,
multiple editors and safe uninstall. Full artifact results, including sdist
tests and Linux evidence, are in the matrix and
its machine-readable JSON. Metadata's minimum does not assert that untested
patch releases or operating systems have passed.
| Python on Windows 11 | Tk | Result / tier |
|---|---|---|
| 3.3.5 | 8.5.11 | Passed / legacy |
| 3.4.4 | 8.6.1 | Passed / legacy |
| 3.5.4 | 8.6.4 | Unsupported: native IDLE undo segfault, also without px-idle |
| 3.6.8 | 8.6.6 | Passed / legacy |
| 3.7.9 | 8.6.9 | Passed / legacy |
| 3.8.10 | 8.6.9 | Passed / extended |
| 3.9.13 | 8.6.12 | Passed / extended |
| 3.10.11 | 8.6.12 | Passed / primary |
| 3.11.9 | 8.6.12 | Passed / primary |
| 3.12.10 | 8.6.15 | Passed / primary |
| 3.13.14 | 8.6.15 | Passed / primary |
| 3.14.8 | 9.0.4 | Passed / primary |
| 3.15.0rc3 | 9.0.4 | Passed / experimental prerelease |
Python 2.7 and 3.0–3.2 are unsupported. macOS and CPython main have no executed runtime evidence here. Configured CI jobs do not count as observed passes. Linux tests use Ubuntu WSL with WSLg or isolated Xvfb (recorded per run), with distro Python 3.14.4/Tk 8.6.17 and portable Python 3.11.17, 3.12.15, 3.13.16, 3.14.8 and 3.15.0rc3/Tk 9.0.4. The portable Linux Python 3.10.22/Tk 9.0.4 build fails native IDLE startup even with px-idle unregistered and is unsupported. Consult the matrix for each artifact result; a Python version alone does not identify a tested Tk environment. Old pip installation uses a small setup.py fallback justified by an actual pip 9 sdist failure. Build tooling runs on modern Python; runtime has no external dependencies. A tested local wheel is the legacy fallback. See publication status.
Triggers activate only on a line containing optional whitespace and #>query.
Normal comments and inline strings do not activate. Existing IDLE STRING tags
suppress multiline string triggers; delayed coloring is a known limitation to
be checked in GUI tests. Companion files require a saved primary file with the
matching original filename. Existing meaningful content is never overwritten.
The current catalogue has no companion files. Source fidelity takes priority
over modernization: practical syntax may require a newer Python than expansion.
Development
Fetch the authoritative repository into upstream/ and run
python scripts/import_practicals.py upstream. The importer reads data and ASTs,
never imports or runs repository scripts. Run python -m unittest discover -s tests.
Build using python -m build, inspect with python -m twine check dist/*, then
test each built artifact in a clean environment. Public upload must follow
TestPyPI validation first. Unexecuted CI jobs are never recorded as passes.
Metadata
Release files for px-idle 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| px_idle-0.1.0.tar.gz | 86.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| px_idle-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 117.7 kB
Release files / px_idle-0.1.0.tar.gz
| Download URL | px_idle-0.1.0.tar.gz |
|---|---|
| Size | 86.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bde3b620c41c42ad05e7956851b536eae049f9a34e37bacaf81ff41acdf30564
|
|
BLAKE2b-256 checksum How to use checksums |
df251ec1af3e7f2620da4bbae83533598db183d626b4d7ba24cf41f0202c9bf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / px_idle-0.1.0-py3-none-any.whl
| Download URL | px_idle-0.1.0-py3-none-any.whl |
|---|---|
| Size | 31.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f06744fcd489d721584b24dca01002ff3c5f848d6cda15d8d3aa404f45965fe0
|
|
BLAKE2b-256 checksum How to use checksums |
8bf31123f2b1b450ab9e9ea9c5c1c072e6744248a8a2018c7e26f746629024d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|