Metadata-Version: 2.1
Name: thonny-tn-school-tools
Version: 0.3.74
Summary: Classroom-friendly Thonny tools with smart editing, indentation cues, PyQt helpers, UI preview, themes, and shortcuts
Keywords: thonny, education, python, pyqt5, qt-designer, editor, themes
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: User Interfaces
Description-Content-Type: text/markdown

# Thonny TN School Tools

**Classroom-friendly editor enhancements, PyQt5/Qt Designer helpers, and customizable themes for a regular Thonny installation.**

TN School Tools extends Thonny with practical tools for learning Python and building desktop interfaces. It is designed to work as a Thonny plugin, without replacing Thonny's core files.

## Features at a glance

| Area | What it provides |
| --- | --- |
| Smart editing | Automatic bracket and quote pairing, plus paired-delimiter editing behavior |
| Editor shortcuts | Move, duplicate, and delete lines; keyboard-shortcut reference from the Tools menu |
| Bracket coloring | Theme-aware bracket highlighting and mismatch feedback |
| Indentation scope cue | Highlights the active Python block without painting chunky whitespace cells; thin overlay guides are deferred until they can be drawn correctly |
| PyQt5 helpers | Qt Designer integration, widget/method suggestions, and starter code generation |
| Callback navigation | Helpers for linking PyQt button callbacks with their function names, plus Alt+Left/Alt+Right navigation |
| Qt UI Viewer | Preview `.ui` files with zoom, fit, scrolling, and widget details |
| Formatting and workflow | Black formatting and Auto Save tools |
| Embedded/board tools | ESP32-related tools |
| Themes | Raspberry Pi-inspired, Quantum Slate, Red Velvet, Wine & Ivory, and Midnight Desert themes |
| Toolbar assets | Bundled SVG/PNG assets for supported plugin actions and tools |

The indentation scope cue highlights the innermost enclosing block when the cursor moves. It is a visual aid, not a proof of program intent: unusual indentation can be valid Python, and a logical bug may still require debugging.

Feature availability can depend on the installed Thonny version and the relevant optional tools being installed.

## Installation

Install the published package into the Python environment used by Thonny:

```bash
python -m pip install thonny-tn-school-tools
```

To upgrade an existing installation:

```bash
python -m pip install --upgrade thonny-tn-school-tools
```

Then restart Thonny. If Thonny uses a different Python interpreter from your terminal, run pip with that interpreter, or install the wheel through Thonny's package manager.

## Requirements and optional tools

- Thonny 4.0 or newer is the intended host application.
- PyQt5 is used by the PyQt/Qt Designer tools and UI viewer.
- PySerial is used by serial/ESP32-related functionality.
- Black is used for code formatting.
- NumPy and Pandas are useful in the supported school-programming workflow, but are not required for every feature.

Install any missing tools in the same Python environment used by Thonny. Qt Designer is a separate application and may need to be installed and configured on your system.

## Themes

Open **Tools → Options** and choose the available UI and syntax themes. UI and syntax themes can be selected independently. Available bundled themes include Raspberry Pi-inspired styling, Quantum Slate, Red Velvet, Wine & Ivory, and Midnight Desert.

## Keyboard shortcuts

Shortcuts may vary by feature and platform. Open **Tools → Keyboard Shortcuts** in Thonny for the in-app reference. The editor line-movement shortcuts include:

- `Alt+Up`: move the current line or selected lines up.
- `Alt+Down`: move the current line or selected lines down.
- `Ctrl+Shift+K`: delete the current line or selected lines.
- `Alt+Shift+Up` / `Alt+Shift+Down`: duplicate a line or selected block, where supported by the active editor bindings.

## PyQt5 workflow

The PyQt tools are intended to help students connect Qt Designer interfaces to Python code. They can provide widget-aware suggestions, generate starter code, open Qt Designer, and preview `.ui` files. Set the Qt Designer executable path in the plugin's settings if it is not detected automatically.

## Troubleshooting

- **Feature or menu not visible:** restart Thonny and confirm that the package is installed in the interpreter Thonny is using.
- **PyQt tools unavailable:** check that PyQt5 is installed in that same environment.
- **Qt Designer does not launch:** configure the executable path in the plugin settings.
- **Shortcut conflict:** check the in-app shortcut reference and your platform's existing key bindings.

## Project scope

TN School Tools is an independent community plugin for Thonny. It is not part of the official Thonny distribution. Please include your Thonny version, operating system, Python version, and traceback when reporting a bug.
