# Python-Unterstützung in Maguyva: KI-Codesuche und Refactoring

Canonical source: https://maguyva.ai/de/languages/python

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva unterstützt Python mit AST-Parsing und Symbolextraktion und hilft KI-Agents dabei, Decorators, self/cls-Methoden, Imports und modulübergreifende Abhängigkeiten in echten Python-Repositories zu verfolgen.

## Unterstützungsüberblick

- Stufe: AST- und Symbol-Support
- Programmierung
- Dateiendungen: .py, .pyi, .pyw
- Echtes AST-Parsing für syntaxbewusste Suche und strukturellen Kontext.
- Benannte Symbole speisen semantisches Lookup und Cross-Referenzierung. Graph-Navigation ist verfügbar, wenn die Beziehungsextraktion aktiviert ist.
- Diese Sprache liefert Symbole und Beziehungen für die graphgestützte Suche; die unterstützten Kantentypen variieren je nach nativen Konstrukten der Sprache.
- AST-Parsing und Symbolextraktion sind beide verfügbar.

## Am besten geeignet

- FastAPI-, Django-, Data-Platform- oder interne Tooling-Repos, in denen Anwendungscode und operative Skripte zusammenleben.
- Teams, die langlebige Python-Services refactoren, die bereits Decorators, Hintergrund-Jobs und viel implizite Verdrahtung haben.
- Agent-Workflows, die mehr als grep brauchen, bevor ein Handler, Service, Model oder Helper geändert wird.

## Agent-Abläufe

- Einen Endpunkt, Task oder CLI-Befehl durch Helper und gemeinsam genutzte Module verfolgen, bevor er bearbeitet wird.
- Herausfinden, wo ein Service, eine Klasse oder eine Utility-Funktion im gesamten Repo instanziiert und wiederverwendet wird.
- Benachbarte Implementierungen vergleichen, damit der Agent die richtige Abstraktion bearbeitet statt der nächstbesten Textübereinstimmung.

## Wo Python-Repos oberflächliche KI-Tools meist scheitern lassen

Python ist der Ort, an dem viele KI-Coding-Tools zunächst gut aussehen und dann in der Produktion anfangen zu raten. Die schwierigen Teile sind bekannt: dekorierte Einstiegspunkte, Service-Klassen, Type Stubs, überall kleine Helper-Module und Methoden, die erst Sinn ergeben, wenn man `self` oder `cls` wieder mit der Klasse verbindet, zu der sie gehören.

Bei Python lautet die eigentliche Frage nicht „kann es `.py`-Dateien lesen?“ Die Frage ist, ob der Agent fundiert bleibt, während er sich von einem Endpunkt zu einem Service, von einem Hintergrund-Task zu einem Helper oder von einem Klassennamen zu den Methoden bewegt, die das Verhalten tatsächlich implementieren.

## Was Maguyva in Python tatsächlich extrahiert

Maguyva bietet für Python vollständige strukturelle Analyse. Die Konfiguration deckt `.py`, `.pyw` und `.pyi` ab, ordnet `decorated_definition` wieder einem Funktionssymbol zu und qualifiziert `self` / `cls`-Methodenaufrufe zurück zur umschließenden Klasse. Das ist wichtig, weil genau das die Stellen sind, an denen Python-Repositories für einen Menschen offensichtlich, für ein LLM aber unscharf werden.

Außerdem filtert es viel Standardbibliotheks-Rauschen aus der Beziehungsextraktion heraus. Das bedeutet, dass gängige Laufzeitaufrufe aus Modulen wie `pathlib`, `typing` oder `logging` seltener die repository-spezifischen Beziehungen überdecken, die dich eigentlich interessieren.

## Nützliche MCP-Workflows für Python-Repos

Der einfachste nützliche Workflow ist:

- Starte mit `intelligent_search` für eine Verhaltensfrage wie „Retry-Logik rund um den Invoice-Sync“ oder „Berechtigungsprüfungen in Billing-Endpunkten“.
- Wechsle zu `find_symbol`, sobald du den Klassen- oder Funktionsnamen kennst, der dich interessiert.
- Nutze `dependency_search` mit eingehender Traversierung, bevor ein gemeinsam genutzter Service, Helper oder eine Basisklasse refactort wird.

Dieses Muster ist besser, als einen Agent aus dem Stand zu bitten, „den Billing-Flow zu aktualisieren“. Es lässt den Agent zuerst eine Karte erstellen und erst danach Code ändern.

## Wann diese Seite nützlich ist

Diese Seite richtet sich an Python-Repos, die bereits ein gewisses Alter und eine gewisse Komplexität haben: Service-Code, Jobs, Skripte, generierte Typen und umgebende Konfiguration. Wenn dein Hauptvergleich eher polyglotte Web-Monorepos betrifft, lies auch den [TypeScript-Leitfaden](/de/languages/typescript). Wenn du nur die vollständige Unterstützungsmatrix brauchst, nutze [Kompatibilität](/de/docs/compatibility).

## Engine-Einordnung

- Dekorierte Definitionen werden weiterhin als Funktionen behandelt, sodass dekorierte Views und Tasks als Symbole durchsuchbar bleiben.
- `self`- und `cls`-Methodenaufrufe werden auf die umschließende Klasse zurückgeführt, was dem Graphen hilft, in klassenlastigem Service-Code nützlich zu bleiben.
- Import-, Aufruf- und Symbol-Normalisierer sind aktiviert, während gängiges Stdlib-Rauschen wie `pathlib.*`, `typing.*` und `logging.*` aus den Beziehungen herausgefiltert wird.

## Nützliche MCP-Einstiegspunkte

- `intelligent_search`: Starte mit einer konzeptionellen Anfrage wie „Retry-Logik rund um Invoice-Sync“ und setz `language_filter="python"`, wenn das Repo polyglott ist.
- `find_symbol`: Nutz es, wenn du den Klassen- oder Funktionsnamen kennst und Definition plus Referenzen vor dem Editieren brauchst.
- `dependency_search`: Nutz die eingehende Richtung, bevor du einen gemeinsam genutzten Service oder Helper refactorst, um zu sehen, was davon abhängt.
