Skip to main content

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)

Source distribution for px-idle 0.1.0
File Size Uploaded
px_idle-0.1.0.tar.gz 86.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for px-idle 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page