You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,9 @@ Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.1.0/).
5
5
6
6
## [Unreleased]
7
7
8
+
### Geändert / Changed
9
+
- Dokumentations- & Sichtbarkeitspflege (2026-07-24): `llms.txt` auf `Last-checked: 2026-07-24` mit aktualisierter Testsuite-Beschreibung (92 Pytest-Tests) aktualisiert, dedizierte deutsche Startseite (`README_de.md`) angelegt, zweisprachige Sprachwahl-Navigation (`[English](README.md) | [Deutsch](README_de.md)`) oben in den READMEs integriert und Test-Badge ergänzt.
10
+
8
11
### Build / Release
9
12
- EXE neu gebaut 2026-06-04 (PyInstaller, OneDrive-externer Build); `START_PythonBox_v8.bat` startet jetzt bevorzugt `dist\PythonBox.exe` und fällt danach auf Root-EXE bzw. Python-Fallback zurück. SHA256: `1F5C024682B5B77BD04963E972F3EDAB9D9E606DE1339D390D2181A8606672BC`.
10
13
- EXE neu gebaut 2026-06-01 (PyInstaller `--onefile`, `PythonBox.exe`); 14/14 Tests grün, Smoke-Test bestanden. Vorherige EXE: 2026-04-29.
PythonBox is a local-first Python IDE for Windows developers who want a focused editor with PySide6, PDB debugging, code folding, linting, Git status, and optional handoff to VS Code or PyCharm.
13
16
14
-
PythonBox ist eine lokale Python-IDE für Windows-Entwicklerinnen und -Entwickler, die einen fokussierten Editor mit PySide6, PDB-Debugging, Code Folding, Linting, Git-Status und optionaler Übergabe an VS Code oder PyCharm suchen.
15
-
16
17
## Start here
17
18
18
19
| If you want to... | Start with |
19
20
|---|---|
20
21
| Try the IDE from source |`python PythonBox_v8.py`|
21
22
| Build a local Windows EXE |`build_exe.bat`|
22
-
| Check the regression suite |`python -m unittest discover -s tests -v`|
23
+
| Check the regression suite |`python -m pytest`|
23
24
| Understand the platform boundary |[PORTIERUNGSPLAN.md](PORTIERUNGSPLAN.md)|
24
25
| Give an LLM or crawler the repo context |[llms.txt](llms.txt)|
25
26
@@ -31,46 +32,46 @@ PythonBox is built for small Python scripts, local automation tools, learning wo
31
32
32
33

33
34
34
-
## Funktionen / Features
35
+
## Features
35
36
36
37
### Editor
37
-
- Python-Syntax-Highlighting
38
-
- Auto-Completion für Keywords, Builtins und Snippets
39
-
- Code Folding für Klassen und Funktionen
40
-
- Minimap und Bracket Matching
41
-
-Mehrere Dateien über Tabs
42
-
43
-
### Debugging und Entwicklung
44
-
-Ausführen über `sys.executable`
45
-
- PDB-Debugger im Output-Panel
46
-
-Breakpoints über die Zeilennummern
47
-
- Debug-Toolbar mit Step In, Step Over und Step Out
48
-
- Linter-Integration für Pylint und Flake8
49
-
- Git-Status, Diff und Modified-Markierung
50
-
-Kombinierte Git-Statuscodes werden lesbar angezeigt; ersetzte Diff-Zeilen werden als geändert statt nur als hinzugefügt markiert
51
-
- Qt6-kompatible Editor-Metriken und F5-Ausführung über das Debug-Output-Panel
52
-
-`Speichern unter` behält bei abgebrochenem Dialog den bisherigen Dateipfad
53
-
-Die Minimap-Einstellung bleibt zwischen Ansicht-Menü und Einstellungsdialog synchron, inklusive Fallback für ältere Konfigurationen
54
-
- Snippet-Bibliothek und portable Editor-Einstellungen lassen sich optional als JSON importieren und exportieren (`pythonbox-snippets-v1.json`, `pythonbox-settings-v1.json`)
55
-
56
-
### Windows-Paketierung
57
-
-`PythonBox.ico`wird als App- und Fenstericon verwendet, wenn die Datei vorhanden ist.
58
-
-`build_exe.bat`erstellt eine kompakte Windows-EXE mit PyInstaller.
59
-
-`START_PythonBox_v8.bat`startet die Anwendung direkt aus dem Checkout.
60
-
61
-
### Plattformstrategie
62
-
- Windows bleibt die primäre Desktop-Plattform.
63
-
- macOS und Linux sind sinnvolle Source-Smoke-Ziele aus derselben PySide6-Codebasis.
64
-
- Android, iOS und Web/PWA sind keine aktuellen Ziele, weil PythonBox lokale Dateien, lokale Interpreter, Debugger, Linter und Git direkt nutzt.
38
+
- Python syntax highlighting
39
+
- Auto-completion for keywords, builtins, and snippets
40
+
- Code folding for classes and functions
41
+
- Minimap and bracket matching
42
+
-Multi-file tabbed editing
43
+
44
+
### Debugging and Development
45
+
-Execution via current Python interpreter (`sys.executable`)
46
+
- PDB debugger inside the output panel
47
+
-Line number breakpoint toggling
48
+
- Debug toolbar with Step In, Step Over, and Step Out
49
+
- Linter integration for Pylint and Flake8 (with AST fallback)
50
+
- Git status, diff, and line-level modification markers
51
+
-Combined Git status codes formatted readably; replaced diff lines marked as modified
52
+
- Qt6-compatible editor metrics and F5 run via debug output panel
53
+
-`Save As` preserves original path when dialog is cancelled
54
+
- Minimap toggle synchronized between View menu and Settings dialog
55
+
- Snippet library and portable editor settings import/export via JSON (`pythonbox-snippets-v1.json`, `pythonbox-settings-v1.json`)
56
+
57
+
### Windows Packaging
58
+
-`PythonBox.ico`used as app and window icon when present
59
+
-`build_exe.bat`builds a compact Windows executable via PyInstaller
60
+
-`START_PythonBox_v8.bat`launches the app directly from checkout
61
+
62
+
### Platform Strategy
63
+
- Windows remains the primary desktop platform
64
+
- macOS and Linux serve as source-smoke targets from the same PySide6 codebase
65
+
- Android, iOS, and Web/PWA are explicitly out of scope because PythonBox relies on local files, local interpreters, PDB, linters, and Git
Headless ist außerdem ein schlanker Run-Modus für lokale Automationen vorhanden:
93
+
Headless modes for local automation and linter pipelines:
93
94
94
95
```bash
95
96
python PythonBox_v8.py --run demo.py
96
-
python PythonBox_v8.py --run demo.py --flag wert
97
+
python PythonBox_v8.py --lint demo.py
97
98
```
98
99
99
-
Weitere Headless-CLI-Befehle oder eine REST-API sind aktuell nicht Teil des Projekts.
100
-
101
-
### Windows-EXE bauen / Build Windows EXE
100
+
### Build Windows EXE
102
101
103
102
```bash
104
103
pip install pyinstaller
105
104
build_exe.bat
106
105
```
107
106
108
-
Das Build-Ergebnis liegt anschließend in `dist/`. Build-Artefakte und lokale Releases sind bewusst nicht Teil des Git-Repositories.
107
+
The resulting build is placed in `dist/`. Build artifacts and local releases are intentionally excluded from the Git repository.
109
108
110
109
## Tests
111
110
112
-
Die Regressionstests prüfen die Qt6-API-Kompatibilität, die F5-Ausführung über `debug_output.run_normal`, die externe Terminal-Ausführung mit dem aktuellen Python-Interpreter, die Minimap-Einstellungssynchronisation, Git-Status-/Diff-Erkennung, den JSON-Austausch für Snippets und Einstellungen, `Speichern unter`-Abbruchverhalten und einen Offscreen-Smoke-Test für das Hauptfenster.
111
+
The test suite includes 92 unit and regression tests (Pytest & Unittest). It verifies Qt6 API compatibility, F5 execution routing, PDB debugger interaction, linter fallbacks, Git diff/status handling, JSON import/export, headless CLI flags (`--run`, `--lint`), and offscreen main window construction.
113
112
114
113
```bash
115
-
python -m unittest discover -s tests -v
114
+
python -m pytest
116
115
```
117
116
118
-
GitHub Actions führt diese Prüfungen unter Windows für Python 3.10 bis 3.12 aus.
117
+
GitHub Actions executes these checks on Windows for Python 3.10 through 3.12.
119
118
120
-
## Tastenkürzel / Keyboard Shortcuts
119
+
## Keyboard Shortcuts
121
120
122
-
| Shortcut |Funktion / Action |
121
+
| Shortcut | Action |
123
122
|---|---|
124
-
|`Ctrl+F`|Suchen / Find |
125
-
|`Ctrl+H`|Ersetzen / Replace |
126
-
|`Ctrl+G`|Gehe zu Zeile / Go to line |
127
-
|`Ctrl+/`|Kommentieren / Toggle comment |
128
-
|`F5`|Ausführen / Run |
129
-
|`F9`|Breakpoint umschalten / Toggle breakpoint |
123
+
|`Ctrl+F`| Find |
124
+
|`Ctrl+H`| Replace |
125
+
|`Ctrl+G`| Go to line |
126
+
|`Ctrl+/`| Toggle comment |
127
+
|`F5`| Run |
128
+
|`F9`| Toggle breakpoint |
130
129
|`F10`| Step Over |
131
130
|`F11`| Step Into |
132
131
133
-
## Datenschutz / Privacy
132
+
## Privacy
134
133
135
-
PythonBox arbeitet lokal. Es gibt keine Telemetrie, keinen Cloud-Sync und keine eingebauten externen API-Aufrufe. Dateien werden nur geöffnet, gespeichert oder ausgeführt, wenn Nutzerinnen und Nutzer diese Aktionen in der App auslösen.
134
+
PythonBox operates 100% locally. It contains no telemetry, no cloud sync, and no built-in external API calls. Files are opened, saved, or executed only when explicitly triggered by user action.
136
135
137
-
PythonBox runs locally. It does not include telemetry, cloud sync, or built-in external API calls. Files are opened, saved, or executed only when users trigger those actions in the app.
136
+
## Repository Hygiene
138
137
139
-
## Repository-Hygiene
140
-
141
-
Nicht versioniert werden interne Aufgabenlisten, Test-Locks, lokale Build-Artefakte, Release-Ordner, virtuelle Umgebungen, Datenbanken, Secrets und IDE-/OS-Metadaten. Details stehen in `.gitignore`.
138
+
Internal task lists, test locks, local build artifacts, release folders, virtual environments, databases, secrets, and IDE/OS metadata are untracked. Details are specified in `.gitignore`.
142
139
143
140
## Roadmap
144
141
145
-
PythonBox bleibt als schlanke Python-IDE erhalten. Die geplante Multi-Language-Erweiterung läuft separat unter CodeBox.
142
+
PythonBox remains a lightweight Python IDE. Multi-language support is developed separately under CodeBox.
Dieses Projekt wird unentgeltlich als Open Source bereitgestellt. Nutzung auf eigenes Risiko. Es gibt keine Wartungszusage, keine Verfügbarkeitsgarantie und keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck. Ergänzend gilt der Haftungsausschluss der MIT-Lizenz.
152
+
## Liability
158
153
159
-
This project is provided as free open source software. Use it at your own risk. There is no maintenance commitment, availability guarantee, or warranty of fitness for a particular purpose. The MIT license disclaimer also applies.
154
+
This project is provided as free open source software. Use it at your own risk. There is no maintenance commitment, availability guarantee, or warranty of fitness for a particular purpose. The MIT license disclaimer applies.
PythonBox ist eine lokale Python-IDE für Windows-Entwicklerinnen und -Entwickler, die einen fokussierten Editor mit PySide6, PDB-Debugging, Code Folding, Linting, Git-Status und optionaler Übergabe an VS Code oder PyCharm suchen.
16
+
17
+
## Schnellstart
18
+
19
+
| Ziel | Startbefehl / Datei |
20
+
|---|---|
21
+
| IDE aus dem Quellcode starten |`python PythonBox_v8.py`|
| Kontext für KI-Agenten & Crawler |[llms.txt](llms.txt)|
26
+
27
+
## Warum PythonBox?
28
+
29
+
PythonBox wurde für kleine Python-Skripte, lokale Automatisierungstools, Lern-Workflows und KI-unterstützte Coding-Sessions entwickelt, bei denen eine vollständige IDE zu schwerfällig wirkt. Es hält den Kern-Workflow in einem einzigen Desktop-Fenster: Datei öffnen, Python editieren, mit dem aktuellen Interpreter ausführen, Ausgaben prüfen, mit Breakpoints debuggen und Git-Änderungen einsehen, bevor die Datei bei Bedarf an eine größere IDE übergeben wird.
30
+
31
+
## Screenshot
32
+
33
+

34
+
35
+
## Funktionen / Features
36
+
37
+
### Editor
38
+
- Python-Syntax-Highlighting
39
+
- Auto-Completion für Keywords, Builtins und Snippets
40
+
- Code Folding für Klassen und Funktionen
41
+
- Minimap und Bracket Matching
42
+
- Mehrere Dateien über Tabs
43
+
44
+
### Debugging und Entwicklung
45
+
- Ausführen über `sys.executable`
46
+
- PDB-Debugger im Output-Panel
47
+
- Breakpoints über die Zeilennummern
48
+
- Debug-Toolbar mit Step In, Step Over und Step Out
49
+
- Linter-Integration für Pylint und Flake8 (mit AST-Fallback)
50
+
- Git-Status, Diff und Modified-Markierung
51
+
- Kombinierte Git-Statuscodes werden lesbar angezeigt; ersetzte Diff-Zeilen werden als geändert statt nur als hinzugefügt markiert
52
+
- Qt6-kompatible Editor-Metriken und F5-Ausführung über das Debug-Output-Panel
53
+
-`Speichern unter` behält bei abgebrochenem Dialog den bisherigen Dateipfad
54
+
- Die Minimap-Einstellung bleibt zwischen Ansicht-Menü und Einstellungsdialog synchron, inklusive Fallback für ältere Konfigurationen
55
+
- Snippet-Bibliothek und portable Editor-Einstellungen lassen sich optional als JSON importieren und exportieren (`pythonbox-snippets-v1.json`, `pythonbox-settings-v1.json`)
56
+
57
+
### Windows-Paketierung
58
+
-`PythonBox.ico` wird als App- und Fenstericon verwendet.
59
+
-`build_exe.bat` erstellt eine kompakte Windows-EXE mit PyInstaller.
60
+
-`START_PythonBox_v8.bat` startet die Anwendung direkt aus dem Checkout.
61
+
62
+
### Plattformstrategie
63
+
- Windows bleibt die primäre Desktop-Plattform.
64
+
- macOS und Linux sind sinnvolle Source-Smoke-Ziele aus derselben PySide6-Codebasis.
65
+
- Android, iOS und Web/PWA sind keine aktuellen Ziele, weil PythonBox lokale Dateien, lokale Interpreter, Debugger, Linter und Git direkt nutzt.
Headless-Modi für lokale Automationen und Linter-Pipelines:
94
+
95
+
```bash
96
+
python PythonBox_v8.py --run demo.py
97
+
python PythonBox_v8.py --lint demo.py
98
+
```
99
+
100
+
### Windows-EXE bauen / Build Windows EXE
101
+
102
+
```bash
103
+
pip install pyinstaller
104
+
build_exe.bat
105
+
```
106
+
107
+
Das Build-Ergebnis liegt anschließend in `dist/`. Build-Artefakte und lokale Releases sind bewusst nicht Teil des Git-Repositories.
108
+
109
+
## Tests
110
+
111
+
Die Testsuite umfasst 92 Unit- und Regressionstests (Pytest & Unittest). Sie prüft die Qt6-API-Kompatibilität, F5-Ausführung, PDB-Debugger-Routen, Linter-Parsing, Git-Status-/Diff-Erkennung, JSON-Import/Export, CLI-Headless-Flags (`--run`, `--lint`) und Offscreen-Window-Herstellung.
112
+
113
+
```bash
114
+
python -m pytest
115
+
```
116
+
117
+
GitHub Actions führt diese Prüfungen unter Windows für Python 3.10 bis 3.12 aus.
PythonBox arbeitet lokal. Es gibt keine Telemetrie, keinen Cloud-Sync und keine eingebauten externen API-Aufrufe. Dateien werden nur geöffnet, gespeichert oder ausgeführt, wenn Nutzerinnen und Nutzer diese Aktionen in der App auslösen.
135
+
136
+
## Repository-Hygiene
137
+
138
+
Nicht versioniert werden interne Aufgabenlisten, Test-Locks, lokale Build-Artefakte, Release-Ordner, virtuelle Umgebungen, Datenbanken, Secrets und IDE-/OS-Metadaten. Details stehen in `.gitignore`.
139
+
140
+
## Roadmap
141
+
142
+
PythonBox bleibt als schlanke Python-IDE erhalten. Die geplante Multi-Language-Erweiterung läuft separat unter CodeBox.
Dieses Projekt wird unentgeltlich als Open Source bereitgestellt. Nutzung auf eigenes Risiko. Es gibt keine Wartungszusage, keine Verfügbarkeitsgarantie und keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck. Ergänzend gilt der Haftungsausschluss der MIT-Lizenz.
0 commit comments