| PyPy software | |
|---|---|
| Genere | Compilatore |
| Sviluppatore | Diversi (volontari) |
| Data prima versione | 2002 |
| Ultima versione | 7.3.20 (4 luglio 2025) |
| Sistema operativo | Multipiattaforma |
| Linguaggio | RPython Python |
| Licenza | Licenza MIT (licenza libera) |
| Sito web | pypy.org/ |
| Modifica dati su Wikidata ·Manuale | |
PyPy è un interpretePython e un compilatoreJIT. È compatibile con l'interpreteCPython.
PyPy è stato finanziato dall'Unione europea come Progetto obiettivo di Ricerca.
PyPy è iniziato come un interprete Python scritto nello stesso linguaggio Python. Attualmente, le versioni di PyPy vengono tradotte da RPython in codice C e compilate. Il compilerJIT di PyPy è capace di trasformare codice Python in codice macchina a runtime.
L'interprete PyPy stesso è scritto in un sottoinsieme limitato diPython chiamato RPython (Restricted Python). RPython pone alcuni vincoli al linguaggio Python in modo tale che il tipo di una variabile possa essere dedotto in fase di compilazione.[1]
Il progetto PyPy ha sviluppato una toolchain che analizza il codice RPython e lo traduce in una forma di codice byte, che può essere ridotto in C. C'erano altri backend oltre a C:Java,CSharp eJavascript ma quelli soffrivano di bitrot e sono stati rimossi.[2] Quindi il logo ricorsivo di PyPy è un serpente che si ingoia poiché RPython è tradotto da un interprete Python. Il codice può anche essere eseguito non tradotto per test e analisi, il che fornisce un buon banco di prova per la ricerca sui linguaggi dinamici.