PyPy ha il supporto alla compilazione JIT su processori x86 a 32 bit/64 bit e ARM a 32 bit/64 bit. È testato di notte su Windows, Linux, OpenBSD e Mac OS X. PyPy è in grado di eseguire software Python puro che non si basa su caratteristiche specifiche dell’implementazione.

C’è un livello di compatibilità per le estensioni CPython C API chiamato CPyExt, ma è incompleto e sperimentale. Il modo preferito di interfacciarsi con le librerie condivise C è attraverso l’interfaccia di funzioni straniere C (CFFI) integrata o le librerie ctypes.

HistoryEdit

PyPy è il seguito del progetto Psyco, un compilatore specializzato just-in-time per Python, sviluppato da Armin Rigo tra il 2002 e il 2010. Lo scopo di PyPy è di avere un compilatore specializzato just-in-time con scopo, che non era disponibile per Psyco. Inizialmente, RPython poteva anche essere compilato in Java bytecode, CIL e JavaScript, ma questi backend sono stati rimossi per mancanza di interesse.

PyPy era inizialmente un progetto orientato alla ricerca e allo sviluppo. Raggiungendo uno stato maturo di sviluppo e un rilascio ufficiale 1.0 a metà 2007, il suo prossimo obiettivo fu quello di rilasciare una versione pronta per la produzione con maggiore compatibilità con CPython. Molti dei cambiamenti di PyPy sono stati fatti durante gli sprint di codifica.

  • Nell’agosto 2008, PyPy era in grado di eseguire alcune popolari librerie Python come Pylons, Pyglet, Nevow e Django.
  • Il 12 marzo 2010, PyPy 1.2 è stato rilasciato, concentrandosi sulla velocità. Includeva un compilatore just-in-time funzionante, anche se non ancora stabile.
  • Il 30 aprile 2011 è stata rilasciata la versione 1.5 di PyPy, che ha raggiunto la compatibilità con CPython 2.7.
  • Il 9 maggio 2013, PyPy 2.0 è stato rilasciato, che ha introdotto il supporto alpha-quality per la compilazione JIT su ARMv6 e ARMv7 JIT, e ha incluso CFFI nella libreria standard.
  • Il 20 giugno 2014, PyPy3 è stato dichiarato stabile e ha introdotto la compatibilità con il più moderno Python 3. È stato rilasciato insieme a PyPy 2.3.1 e porta lo stesso numero di versione.
  • Il 21 marzo 2017, il progetto PyPy ha rilasciato la versione 5.7 sia di PyPy che di PyPy3, con quest’ultimo che introduce il supporto in qualità beta per Python 3.5.
  • Il 26 aprile 2018 è stata rilasciata la versione 6.0, con il supporto per Python 2.7 e 3.5 (ancora in qualità beta su Windows).
  • L’11 febbraio 2019 è stata rilasciata la versione 7.0, con supporto per Python 2.7 e 3.5.
  • Il 14 ottobre 2019 è stata rilasciata la versione 7.2, con supporto per Python 3.6.9.
  • Il 24 dicembre 2019 è stata rilasciata la versione 7.3, con supporto per Python 3.6.9.

FinanziamentoEdit

PyPy è stato finanziato dall’Unione Europea come progetto specifico di ricerca mirata tra dicembre 2004 e marzo 2007. Nel giugno 2008, PyPy ha annunciato il finanziamento come parte dei programmi Open Source di Google e ha accettato di concentrarsi sul rendere PyPy più compatibile con CPython. Nel 2009 Eurostars, un’agenzia di finanziamento dell’Unione Europea specialmente focalizzata sulle PMI, ha accettato una proposta dai membri del progetto PyPy intitolata “PYJIT – un toolkit veloce e flessibile per linguaggi di programmazione dinamica basato su PyPy”. Il finanziamento di Eurostars è durato fino all’agosto 2011.Alla PyCon US 2011, la Python Software Foundation ha fornito una sovvenzione di 10.000 dollari per PyPy per continuare il lavoro sulle prestazioni e la compatibilità con le versioni più recenti del linguaggio.Il port all’architettura ARM è stato sponsorizzato in parte dalla Raspberry Pi Foundation.

Il progetto PyPy accetta anche donazioni attraverso le pagine del suo blog di stato. A partire dal 2013, una varietà di sottoprogetti ha avuto finanziamenti: Compatibilità con la versione 3 di Python, supporto ottimizzato integrato di NumPy per i calcoli numerici e supporto della memoria transazionale del software per consentire un migliore parallelismo.

Sono stati finanziati i seguenti progetti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.