# Υποστήριξη Python στο Maguyva: Αναζήτηση Κώδικα AI και Αναδιαμόρφωση

Canonical source: https://maguyva.ai/el/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 υποστηρίζει την Python με ανάλυση AST και εξαγωγή συμβόλων, βοηθώντας τους πράκτορες AI να παρακολουθούν διακοσμητές, μεθόδους self/cls, εισαγωγές και εξαρτήσεις μεταξύ αρθρωμάτων σε πραγματικά αποθετήρια Python.

## Στιγμιότυπο υποστήριξης

- Επίπεδο: Υποστήριξη AST και συμβόλων
- Προγραμματισμός
- Επεκτάσεις: .py, .pyi, .pyw
- Πραγματική ανάλυση AST για αναζήτηση με επίγνωση σύνταξης και δομικό πλαίσιο.
- Τα επώνυμα σύμβολα τροφοδοτούν τη σημασιολογική αναζήτηση και τη διασταύρωση αναφορών. Η πλοήγηση στον γράφο είναι διαθέσιμη όταν είναι ενεργοποιημένη η εξαγωγή σχέσεων.
- Αυτή η γλώσσα συνεισφέρει σύμβολα και σχέσεις στην αναζήτηση με επίγνωση του γράφου· οι υποστηριζόμενοι τύποι ακμών διαφέρουν ανάλογα με τις εγγενείς δομές της.
- Διατίθενται τόσο ανάλυση AST όσο και εξαγωγή συμβόλων.

## Ιδανική χρήση

- Αποθετήρια FastAPI, Django, πλατφορμών δεδομένων ή εσωτερικών εργαλείων, όπου ο κώδικας εφαρμογής και τα λειτουργικά σενάρια συνυπάρχουν.
- Ομάδες που αναδιαμορφώνουν μακρόβιες υπηρεσίες Python οι οποίες ήδη διαθέτουν διακοσμητές, εργασίες παρασκηνίου και πολλή σιωπηρή διασύνδεση.
- Ροές εργασίας πρακτόρων που χρειάζονται κάτι περισσότερο από grep πριν αλλάξουν έναν χειριστή, μια υπηρεσία, ένα μοντέλο ή ένα βοηθητικό στοιχείο.

## Ροές εργασίας πρακτόρων

- Ανίχνευση ενός τελικού σημείου, μιας εργασίας ή μιας εντολής CLI μέσα από βοηθητικά στοιχεία και κοινόχρηστα αρθρώματα πριν από την επεξεργασία της.
- Εντοπισμός του πού δημιουργείται στιγμιότυπο και επαναχρησιμοποιείται μια υπηρεσία, κλάση ή βοηθητική συνάρτηση σε όλο το αποθετήριο.
- Σύγκριση γειτονικών υλοποιήσεων ώστε ο πράκτορας να επεξεργάζεται τη σωστή αφαίρεση αντί για την πλησιέστερη αντιστοίχιση κειμένου.

## Πού συνήθως «σπάνε» τα ρηχά εργαλεία AI στα αποθετήρια Python

Η Python είναι το σημείο όπου πολλά εργαλεία AI για κώδικα φαίνονται καλά στην αρχή και μετά αρχίζουν να μαντεύουν στην παραγωγή. Τα δύσκολα σημεία είναι γνώριμα: σημεία εισόδου με διακοσμητές, κλάσεις υπηρεσιών, αρχεία δηλώσεων τύπων, μικρά βοηθητικά αρθρώματα παντού, και μέθοδοι που βγάζουν νόημα μόνο όταν επανασυνδέσετε το `self` ή το `cls` με την κλάση στην οποία ανήκουν.

Για την Python, το πραγματικό ερώτημα δεν είναι «μπορεί να διαβάσει αρχεία `.py`;». Το ερώτημα είναι αν ο πράκτορας μπορεί να βασίζεται στον πραγματικό κώδικα καθώς μετακινείται από ένα τελικό σημείο σε μια υπηρεσία, από μια εργασία παρασκηνίου σε ένα βοηθητικό στοιχείο, ή από το όνομα μιας κλάσης στις μεθόδους που πράγματι υλοποιούν τη συμπεριφορά.

## Τι εξάγει στην πράξη το Maguyva στην Python

Το Maguyva αντιμετωπίζει την Python ως πλήρη δομική γλώσσα. Η διαμόρφωση καλύπτει τα `.py`, `.pyw` και `.pyi`· αντιστοιχίζει το `decorated_definition` πίσω σε ένα σύμβολο συνάρτησης· και προσδιορίζει τις κλήσεις μεθόδων `self` / `cls` με βάση την κλάση που τις περιβάλλει. Αυτό έχει σημασία επειδή είναι ακριβώς τα σημεία όπου τα αποθετήρια Python αρχίζουν να φαίνονται προφανή σε έναν άνθρωπο και θολά σε ένα LLM.

Φιλτράρει επίσης μεγάλο μέρος του θορύβου της τυπικής βιβλιοθήκης από την εξαγωγή σχέσεων. Αυτό σημαίνει ότι συνηθισμένες κλήσεις χρόνου εκτέλεσης από αρθρώματα όπως τα `pathlib`, `typing` ή `logging` είναι λιγότερο πιθανό να πνίξουν τις σχέσεις που αφορούν συγκεκριμένα το αποθετήριο και που πραγματικά σας ενδιαφέρουν.

## Χρήσιμες ροές εργασίας MCP για αποθετήρια Python

Η απλούστερη χρήσιμη ροή εργασίας είναι:

- Ξεκινήστε με το `intelligent_search` για ένα ερώτημα συμπεριφοράς όπως «λογική επανάληψης αποτυχημένων προσπαθειών γύρω από τον συγχρονισμό τιμολογίων» ή «έλεγχοι δικαιωμάτων στα τελικά σημεία χρέωσης».
- Περάστε στο `find_symbol` μόλις γνωρίζετε το όνομα της κλάσης ή της συνάρτησης που σας ενδιαφέρει.
- Χρησιμοποιήστε το `dependency_search` με εισερχόμενη διάσχιση πριν αναδιαμορφώσετε μια κοινόχρηστη υπηρεσία, βοηθητικό στοιχείο ή βασική κλάση.

Αυτό το μοτίβο είναι καλύτερο από το να ζητήσετε από έναν πράκτορα να «ενημερώσει τη ροή χρέωσης» ξεκινώντας από το μηδέν. Επιτρέπει στον πράκτορα να χτίσει πρώτα έναν χάρτη και μετά να αλλάξει τον κώδικα.

## Πότε είναι χρήσιμη αυτή η σελίδα

Αυτή η σελίδα αφορά αποθετήρια Python που έχουν ήδη κάποια ηλικία και πολυπλοκότητα: κώδικα υπηρεσιών, εργασίες, σενάρια, παραγόμενους τύπους και γύρω διαμόρφωση. Αν η κύρια σύγκρισή σας αφορά πολύγλωσσα ενιαία αποθετήρια web, διαβάστε επίσης τον [οδηγό TypeScript](/el/languages/typescript). Αν χρειάζεστε απλώς τον πλήρη πίνακα υποστήριξης, χρησιμοποιήστε τη σελίδα [συμβατότητας](/el/docs/compatibility).

## Λεπτομέρειες μηχανής

- Οι ορισμοί με διακοσμητές εξακολουθούν να αντιμετωπίζονται ως συναρτήσεις, οπότε τα διακοσμημένα views και οι εργασίες παραμένουν αναζητήσιμα ως σύμβολα.
- Οι κλήσεις μεθόδων `self` και `cls` προσδιορίζονται πίσω στην κλάση που τις περικλείει, κάτι που βοηθά τον γράφο να παραμένει χρήσιμος σε κώδικα υπηρεσιών με πολλές κλάσεις.
- Οι κανονικοποιητές εισαγωγών, κλήσεων και συμβόλων είναι ενεργοποιημένοι, ενώ ο συνηθισμένος θόρυβος της stdlib όπως τα `pathlib.*`, `typing.*` και `logging.*` φιλτράρεται από τις σχέσεις.

## Χρήσιμα σημεία εισόδου MCP

- `intelligent_search`: Ξεκινήστε με ένα εννοιολογικό ερώτημα όπως «λογική επανάληψης γύρω από τον συγχρονισμό τιμολογίων» και ορίστε `language_filter="python"` αν το repo είναι πολυγλωσσικό.
- `find_symbol`: Χρησιμοποιήστε το όταν γνωρίζετε το όνομα της κλάσης ή της συνάρτησης και χρειάζεστε τον ορισμό και τις αναφορές πριν από την επεξεργασία.
- `dependency_search`: Χρησιμοποιήστε την κατεύθυνση incoming πριν κάνετε αναδιαμόρφωση σε μια κοινόχρηστη υπηρεσία ή βοηθητικό στοιχείο, για να δείτε τι εξαρτάται από αυτήν.
