Statischer Python-Code-Analyser mit GUI: findet ungenutzte Imports, tote Definitionen und ähnliche Code-Blöcke.
| Feature | Beschreibung |
|---|---|
| AST-Analyse | Präzise Analyse über den Python Abstract Syntax Tree |
| Import-Tracking | Erkennt genutzte und ungenutzte Imports |
| Methoden-Katalog | Listet alle Funktionen, Methoden und Klassen |
| Duplikat-Erkennung | Findet ähnliche Code-Blöcke mit konfigurierbarem Schwellwert |
| Framework-Erkennung | Erkennt implizite Nutzung durch Tkinter, requests, asyncio und weitere Frameworks |
| Callback-Erkennung | Identifiziert Callback-Funktionen korrekt als genutzt |
| Multi-File | Analysiert ganze Python-Projekte rekursiv |
| GUI | Einfache Tkinter-Oberfläche, kein Terminal nötig |
| Feature | MethodenAnalyser | pylint | flake8 | vulture | radon |
|---|---|---|---|---|---|
| Ungenutzte Imports | ja | ja | teilweise | ja | nein |
| Ungenutzte Definitionen | ja | teilweise | nein | ja | nein |
| Code-Ähnlichkeit | ja | nein | nein | nein | nein |
| Framework-Erkennung | ja | teilweise | nein | nein | nein |
| GUI | ja | nein | nein | nein | nein |
| Callback-Erkennung | ja | nein | nein | teilweise | nein |
| Keine Installation | ja | nein | nein | nein | nein |
Die aktuelle Ansicht zeigt die dateibasierte Analyse mit GUI-Workflow statt reiner CLI-Ausgabe.
Keine externen Laufzeit-Abhängigkeiten. Nur Python 3.10+ wird benötigt.
git clone https://github.com/dev-bricks/MethodenAnalyser.git
cd MethodenAnalyser
python MethodenAnalyser3.pyUnter Windows kann das Tool auch per Doppelklick auf START.bat gestartet werden.
- Tool starten:
python MethodenAnalyser3.pyoderSTART.bat. - Datei analysieren klicken und eine
.py-Datei auswählen. - Ergebnisse im Ausgabefenster prüfen.
- Projekt analysieren klicken und einen Projektordner auswählen.
- Alle
.py-Dateien werden rekursiv durchsucht. - Der aggregierte Projekt-Report wird im Ausgabefenster angezeigt.
Die GUI bleibt Standard, zusätzlich kann MethodenAnalyser jetzt headless laufen:
python MethodenAnalyser3.py --file pfad/zur/datei.py
python MethodenAnalyser3.py --project pfad/zum/projekt
python MethodenAnalyser3.py --file pfad/zur/datei.py --json-output
type pfad\zur\datei.py | python MethodenAnalyser3.py --stdin --json-output snippet.json--json-output schreibt zusätzlich den maschinenlesbaren Report methodenanalyser-report-v1.json. Mit eigenem Dateinamen kann der Report gezielt abgelegt werden; das Format ist in EXPORTFORMAT.md dokumentiert.
Für Snippets, einzelne Python-Dateien und kleine ZIP-Archive gibt es zusätzlich einen lokalen Web Companion:
python webapp/server.pyUnter Windows startet START_WEBAPP.bat denselben lokalen Server. Die Oberfläche läuft standardmäßig unter http://127.0.0.1:8765/, nutzt den bestehenden Analysekern und zeigt Text- sowie JSON-Reports an. ZIP-Uploads werden lokal an den Python-Prozess geschickt, dort temporär entpackt und als kleines Projekt analysiert. Zusätzlich kann der Companion bestehende methodenanalyser-report-v1.json-Dateien importieren, damit Desktop- und Web-Linie denselben Report-Vertrag auch ohne frische Analyse gemeinsam nutzen. Details stehen in WEBAPP.md.
Die PWA speichert den aktuellen Entwurf und den letzten JSON-Report lokal im Browser, bietet einen Install-Flow für Chromium-basierte Browser und hält die bereits geladene Oberfläche per Service Worker offline verfügbar. Für neue Analysen muss der lokale Python-Server trotzdem laufen.
Für Android-/iOS-Tests im selben WLAN kann derselbe lokale Dienst gezielt auf dem Netzwerk lauschen:
python webapp/server.py --host 0.0.0.0 --port 8765Der Web Companion zeigt dann im neuen Bereich Android/iOS-Testpfad die passende Startanweisung, erkannte LAN-URLs sowie getrennte Install-Hinweise für Android (Chrome/Edge) und iPhone/iPad (Safari). Zusätzlich bündelt die PWA-Testkarte Install-Status, Service-Worker-, Speicher- und Viewport-Diagnostik in einer kopierbaren Kurzfassung für mobile Smoke-Tests.
Die Desktop-Version bleibt Windows-first, aber der Quellstand wird jetzt gezielt auch als Source-Smoke für macOS und Linux abgesichert. Lokal reicht dafür dieselbe Basis:
python -m py_compile MethodenAnalyser3.py manage_translations.py translator.py webapp/server.py
python -m unittest discover -s tests -vZusätzlich prüft die GitHub-Action denselben Stand automatisch auf Windows (Python 3.10 bis 3.12) sowie auf Ubuntu und macOS (jeweils Python 3.11). Damit bleiben Tkinter-Import, CLI und Web-Companion auch außerhalb von Windows im Blick, ohne bereits eine eigene Mac- oder Linux-Paketlinie zu versprechen.
Exit-Codes:
0= Analyse erfolgreich und keine Findings im Report1= Aufruf- oder Analysefehler2= Analyse erfolgreich, aber Findings vorhanden3= Projektanalyse mit Teilfehlern in einzelnen Dateien
=== ANALYSE: my_script.py ===
IMPORTS (3 gesamt):
os - genutzt
json - genutzt
pathlib - möglicherweise ungenutzt
DEFINITIONEN (5 gesamt):
main()
load_config()
old_helper() - nicht referenziert
ÄHNLICHE CODE-BLÖCKE (Schwellwert: 80%):
Zeilen 42-55 <-> Zeilen 88-101 (Ähnlichkeit: 91%)
Im Quellcode anpassbar:
SIMILARITY_THRESHOLD = 0.8 # Schwellwert für Duplikat-Erkennung
WINDOW_GEOMETRY = "1200x700" # FenstergrößeMethodenAnalyser arbeitet vollständig lokal. Der ausgewählte Python-Code, Dateipfade und Analyseergebnisse werden nicht an den Entwickler oder externe Dienste übertragen.
Release-Artefakte wie EXE-Dateien, lokale Builds und Store-Pakete bleiben außerhalb des Git-Repositorys und gehören in lokale releases/-Ordner oder GitHub Releases.
Stand: 2026-05-16
- GitHub-Remote:
dev-bricks/MethodenAnalyser - Lokaler Branch
masterwar vor diesem Pflege-Update synchron mitorigin/master(0 ahead / 0 behind). - Secret-/Privacy-Check: keine Tokens, Schlüssel oder Credentials in den getrackten Projektdateien gefunden.
- Keine Telemetrie, keine Netzwerkverbindungen und keine Cloud-Synchronisierung aus der Anwendung heraus.
- Lokale Build-, Release-, Coverage-, Cache- und Signierartefakte sind über
.gitignoreausgeschlossen. - Interne Wartungsnotizen wie
AUFGABEN.txtbleiben lokal und werden nicht im Git-Quellbaum veröffentlicht. - Vor Veröffentlichungen:
git status --short, Secret-Scan undpython -m py_compile MethodenAnalyser3.py manage_translations.py translator.pyausführen.
python -m py_compile MethodenAnalyser3.py manage_translations.py translator.py webapp/server.py
python -m unittest discover -s tests -vGitHub Actions führt denselben Smoke-Test jetzt auf Windows (Python 3.10 bis 3.12) sowie zusätzlich auf Ubuntu und macOS (Python 3.11) aus.
Dieses Projekt steht unter der MIT License.
MethodenAnalyser is a static Python code analyzer with AST analysis, duplicate detection, and a small Tkinter GUI.
- AST-based static analysis
- Duplicate code detection
- Method and class catalog
- Callback and framework awareness
- Recursive project analysis
- No external runtime dependencies
git clone https://github.com/dev-bricks/MethodenAnalyser.git
cd MethodenAnalyser
python "MethodenAnalyser3.py"See LICENSE for details.
Dieses Projekt ist eine unentgeltliche Open-Source-Schenkung im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß § 521 BGB auf Vorsatz und grobe Fahrlässigkeit beschränkt. Ergänzend gilt der Haftungsausschluss der MIT License.
Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.
This project is an unpaid open-source donation. Liability is limited to intent and gross negligence (§ 521 German Civil Code). Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.
