Skip to content

Commit d255b7e

Browse files
committed
docs: update marketing, llms.txt, test metrics, and add German README_de
1 parent 13590cf commit d255b7e

4 files changed

Lines changed: 226 additions & 71 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.1.0/).
55

66
## [Unreleased]
77

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+
811
### Build / Release
912
- 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`.
1013
- EXE neu gebaut 2026-06-01 (PyInstaller `--onefile`, `PythonBox.exe`); 14/14 Tests grün, Smoke-Test bestanden. Vorherige EXE: 2026-04-29.

README.md

Lines changed: 61 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,25 @@
22

33
# PythonBox — Lightweight Python IDE for Windows
44

5+
[English](README.md) | [Deutsch](README_de.md)
6+
57
> Focused editor with PDB debugging, code folding, linting, Git status, and VS Code/PyCharm handoff.
68
79
[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)
810
[![PySide6](https://img.shields.io/badge/PySide6-6.5+-green.svg)](https://pypi.org/project/PySide6/)
911
[![PythonBox tests](https://github.com/dev-bricks/pythonbox/actions/workflows/tests.yml/badge.svg)](https://github.com/dev-bricks/pythonbox/actions/workflows/tests.yml)
12+
[![Tests](https://img.shields.io/badge/Tests-92%20passed-brightgreen.svg)](tests/)
1013
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
1114

1215
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.
1316

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-
1617
## Start here
1718

1819
| If you want to... | Start with |
1920
|---|---|
2021
| Try the IDE from source | `python PythonBox_v8.py` |
2122
| 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` |
2324
| Understand the platform boundary | [PORTIERUNGSPLAN.md](PORTIERUNGSPLAN.md) |
2425
| Give an LLM or crawler the repo context | [llms.txt](llms.txt) |
2526

@@ -31,46 +32,46 @@ PythonBox is built for small Python scripts, local automation tools, learning wo
3132

3233
![PythonBox dark-theme Python IDE with editor, minimap, output panel, and local debugging controls](README/screenshots/main.png)
3334

34-
## Funktionen / Features
35+
## Features
3536

3637
### 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
6566

6667
## Installation
6768

68-
### Voraussetzungen / Requirements
69+
### Requirements
6970
- Python 3.10+
7071
- PySide6 6.5+
7172
- Optional: Git, Pylint, Flake8, VS Code, PyCharm
7273

73-
### Start aus dem Quellcode / Run from source
74+
### Run from source
7475

7576
```bash
7677
git clone https://github.com/dev-bricks/pythonbox.git
@@ -79,81 +80,75 @@ pip install -r requirements.txt
7980
python PythonBox_v8.py
8081
```
8182

82-
Unter Windows kann alternativ `START_PythonBox_v8.bat` per Doppelklick gestartet werden.
83+
On Windows, `START_PythonBox_v8.bat` can be launched via double click.
8384

84-
Optional kann direkt beim Start eine Datei geöffnet werden:
85+
Optionally open a file or set a theme on startup:
8586

8687
```bash
8788
python PythonBox_v8.py --open demo.py
8889
python PythonBox_v8.py demo.py
8990
python PythonBox_v8.py --theme dracula --open demo.py
9091
```
9192

92-
Headless ist außerdem ein schlanker Run-Modus für lokale Automationen vorhanden:
93+
Headless modes for local automation and linter pipelines:
9394

9495
```bash
9596
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
9798
```
9899

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
102101

103102
```bash
104103
pip install pyinstaller
105104
build_exe.bat
106105
```
107106

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.
109108

110109
## Tests
111110

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.
113112

114113
```bash
115-
python -m unittest discover -s tests -v
114+
python -m pytest
116115
```
117116

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.
119118

120-
## Tastenkürzel / Keyboard Shortcuts
119+
## Keyboard Shortcuts
121120

122-
| Shortcut | Funktion / Action |
121+
| Shortcut | Action |
123122
|---|---|
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 |
130129
| `F10` | Step Over |
131130
| `F11` | Step Into |
132131

133-
## Datenschutz / Privacy
132+
## Privacy
134133

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.
136135

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
138137

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`.
142139

143140
## Roadmap
144141

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.
146143

147144
## Discovery keywords
148145

149146
`python ide`, `lightweight python editor`, `pyside6 code editor`, `windows python ide`, `local-first developer tool`, `pdb debugger gui`, `python linting`, `code folding`, `git diff editor`, `vs code handoff`, `pycharm handoff`, `offline python editor`
150147

151-
## Lizenz / License
152-
153-
MIT License, siehe [LICENSE](LICENSE).
148+
## License
154149

155-
## Haftung / Liability
150+
MIT License, see [LICENSE](LICENSE).
156151

157-
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
158153

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.

README_de.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
<img src="assets/banner.svg" width="100%" alt="PythonBox — Schlanke Python-IDE für Windows" />
2+
3+
# PythonBox — Schlanke Python-IDE für Windows
4+
5+
[English](README.md) | [Deutsch](README_de.md)
6+
7+
> Fokussierter Editor mit PDB-Debugging, Code Folding, Linting, Git-Status und Übergabe an VS Code/PyCharm.
8+
9+
[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)
10+
[![PySide6](https://img.shields.io/badge/PySide6-6.5+-green.svg)](https://pypi.org/project/PySide6/)
11+
[![PythonBox tests](https://github.com/dev-bricks/pythonbox/actions/workflows/tests.yml/badge.svg)](https://github.com/dev-bricks/pythonbox/actions/workflows/tests.yml)
12+
[![Tests](https://img.shields.io/badge/Tests-92%20passed-brightgreen.svg)](tests/)
13+
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
14+
15+
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` |
22+
| Lokale Windows-EXE bauen | `build_exe.bat` |
23+
| Regressionstests ausführen | `python -m pytest` |
24+
| Plattformstrategie verstehen | [PORTIERUNGSPLAN.md](PORTIERUNGSPLAN.md) |
25+
| 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+
![PythonBox dark-theme Python IDE mit Editor, Minimap, Output-Panel und lokalem Debugging](README/screenshots/main.png)
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.
66+
67+
## Installation
68+
69+
### Voraussetzungen / Requirements
70+
- Python 3.10+
71+
- PySide6 6.5+
72+
- Optional: Git, Pylint, Flake8, VS Code, PyCharm
73+
74+
### Start aus dem Quellcode / Run from source
75+
76+
```bash
77+
git clone https://github.com/dev-bricks/pythonbox.git
78+
cd pythonbox
79+
pip install -r requirements.txt
80+
python PythonBox_v8.py
81+
```
82+
83+
Unter Windows kann alternativ `START_PythonBox_v8.bat` per Doppelklick gestartet werden.
84+
85+
Optional kann direkt beim Start eine Datei geöffnet oder ein Theme vorgegeben werden:
86+
87+
```bash
88+
python PythonBox_v8.py --open demo.py
89+
python PythonBox_v8.py demo.py
90+
python PythonBox_v8.py --theme dracula --open demo.py
91+
```
92+
93+
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.
118+
119+
## Tastenkürzel / Keyboard Shortcuts
120+
121+
| Shortcut | Funktion / Action |
122+
|---|---|
123+
| `Ctrl+F` | Suchen / Find |
124+
| `Ctrl+H` | Ersetzen / Replace |
125+
| `Ctrl+G` | Gehe zu Zeile / Go to line |
126+
| `Ctrl+/` | Kommentieren / Toggle comment |
127+
| `F5` | Ausführen / Run |
128+
| `F9` | Breakpoint umschalten / Toggle breakpoint |
129+
| `F10` | Step Over |
130+
| `F11` | Step Into |
131+
132+
## Datenschutz / Privacy
133+
134+
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.
143+
144+
## Suchbegriffe / Discovery keywords
145+
146+
`python ide`, `lightweight python editor`, `pyside6 code editor`, `windows python ide`, `local-first developer tool`, `pdb debugger gui`, `python linting`, `code folding`, `git diff editor`, `vs code handoff`, `pycharm handoff`, `offline python editor`
147+
148+
## Lizenz / License
149+
150+
MIT License, siehe [LICENSE](LICENSE).
151+
152+
## Haftung / Liability
153+
154+
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

Comments
 (0)