# Python-ondersteuning in Maguyva: AI-codezoeken en refactoring

Canonical source: https://maguyva.ai/nl/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 ondersteunt Python met AST-parsing en symboolextractie, en helpt AI-agents decorators, self/cls-methods, imports en cross-module-afhankelijkheden te volgen in echte Python-repositories.

## Ondersteuningsoverzicht

- Tier: AST- en symboolondersteuning
- Programmeren
- Extensies: .py, .pyi, .pyw
- Echte AST-parsing voor syntaxbewust zoeken en structurele context.
- Benoemde symbolen voeden semantische lookup en kruisverwijzingen. Graafnavigatie is beschikbaar wanneer relatie-extractie is ingeschakeld.
- Deze taal draagt symbolen en relaties bij aan graafbewust zoeken; ondersteunde kanttypen variëren met de eigen constructies van de taal.
- Zowel AST-parsing als symboolextractie zijn beschikbaar.

## Beste toepassing

- FastAPI-, Django-, dataplatform- of interne-toolingrepo's waar applicatiecode en operationele scripts samenleven.
- Teams die langlopende Python-services refactoren die al decorators, achtergrondtaken en veel impliciete bedrading hebben.
- Agent-workflows die meer nodig hebben dan grep voordat ze een handler, service, model of helper wijzigen.

## Agentworkflows

- Traceer een endpoint, taak of CLI-commando door helpers en gedeelde modules voordat je het bewerkt.
- Vind waar een service, class of utility-functie wordt geïnstantieerd en hergebruikt in de hele repo.
- Vergelijk naburige implementaties zodat de agent de juiste abstractie bewerkt in plaats van de dichtstbijzijnde stringmatch.

## Waar oppervlakkige AI-tools in Python-repo's vastlopen

Python is de plek waar veel AI-codetools er eerst goed uitzien en vervolgens in productie beginnen te gokken. De lastige delen zijn bekend: gedecoreerde entrypoints, service-classes, type stubs, overal kleine helpermodules, en methods die alleen zinvol zijn zodra je `self` of `cls` weer verbindt met de class waartoe ze behoren.

Voor Python is de echte vraag niet "kan het `.py`-bestanden lezen?" De vraag is of de agent onderbouwd kan blijven terwijl hij beweegt van een endpoint naar een service, van een achtergrondtaak naar een helper, of van een classnaam naar de methods die het gedrag daadwerkelijk implementeren.

## Wat Maguyva daadwerkelijk extraheert in Python

Maguyva behandelt Python als een volwaardige structurele taal. De configuratie dekt `.py`, `.pyw` en `.pyi`; koppelt `decorated_definition` terug aan een functiesymbool; en kwalificeert `self` / `cls` method-calls terug naar de omsluitende class. Dat is belangrijk omdat dit precies de plekken zijn waar de structuur van Python-repositories voor een mens vanzelfsprekend is, maar voor een LLM onduidelijk blijft.

Het filtert ook veel standaardbibliotheekruis uit de relatie-extractie. Dat betekent dat veelvoorkomende runtime-calls uit modules zoals `pathlib`, `typing` of `logging` minder snel de repository-specifieke relaties overstemmen waar het je daadwerkelijk om gaat.

## Nuttige MCP-workflows voor Python-repo's

De eenvoudigste nuttige workflow is:

- Begin met `intelligent_search` voor een gedragsvraag zoals "retrylogica rond factuursynchronisatie" of "permissiecontroles in facturatie-endpoints".
- Schakel over naar `find_symbol` zodra je de classnaam of functienaam kent waar het je om gaat.
- Gebruik `dependency_search` met inkomende traversal voordat je een gedeelde service, helper of basisclass refactoreert.

Dat patroon is beter dan een agent vanaf nul vragen om "de facturatieflow bij te werken". Het laat de agent eerst een kaart opbouwen en pas daarna code wijzigen.

## Wanneer deze pagina nuttig is

Deze pagina is voor Python-repo's die al enige ouderdom en complexiteit hebben: servicecode, jobs, scripts, gegenereerde types en omliggende config. Als jouw belangrijkste vergelijking over polyglot webmonorepo's gaat, lees dan ook de [TypeScript-gids](/nl/languages/typescript). Heb je alleen de volledige ondersteuningsmatrix nodig, gebruik dan [compatibiliteit](/nl/docs/compatibility).

## Enginedetails

- Gedecoreerde definities worden nog steeds als functies behandeld, zodat gedecoreerde views en taken doorzoekbaar blijven als symbolen.
- `self`- en `cls`-methodeaanroepen worden teruggekoppeld naar de omsluitende klasse, wat helpt om de graaf bruikbaar te houden in klasse-zware servicecode.
- Import-, aanroep- en symboolnormalisatoren zijn ingeschakeld terwijl veelvoorkomende stdlib-ruis zoals `pathlib.*`, `typing.*` en `logging.*` uit relaties wordt gefilterd.

## Nuttige MCP-instappunten

- `intelligent_search`: Begin met een conceptuele query zoals “retry-logica rond factuursynchronisatie” en stel `language_filter="python"` in als de repo meertalig is.
- `find_symbol`: Gebruik dit wanneer je de klasse- of functienaam kent en de definitie plus referenties nodig hebt voordat je gaat wijzigen.
- `dependency_search`: Gebruik de inkomende richting voordat je een gedeelde service of helper refactort, om te zien wat ervan afhangt.
