PyPyPy are suport pentru compilarea JIT pe procesoarele x86 pe 32 de biți/64 de biți și ARM pe 32 de biți/64 de biți. Este testat pe timp de noapte pe Windows, Linux, OpenBSD și Mac OS X. PyPy este capabil să ruleze software Python pur care nu se bazează pe caracteristici specifice implementării.
Există un strat de compatibilitate pentru extensiile CPython C API numit CPyExt, dar este incomplet și experimental. Modalitatea preferată de interfațare cu bibliotecile partajate C este prin intermediul bibliotecilor integrate C foreign function interface (CFFI) sau ctypes.
HistoryEdit
PyPy este o continuare a proiectului Psyco, un compilator specializat just-in-time pentru Python, dezvoltat de Armin Rigo între 2002 și 2010. Scopul PyPy este de a avea un compilator de specializare just-in-time cu domeniu de aplicare, care nu a fost disponibil pentru Psyco. Inițial, RPython putea fi compilat și în Java bytecode, CIL și JavaScript, dar aceste backend-uri au fost eliminate din cauza lipsei de interes.
PyPyPy a fost inițial un proiect orientat spre cercetare și dezvoltare. Atingând o stare matură de dezvoltare și o versiune oficială 1.0 la mijlocul anului 2007, următorul său obiectiv a fost lansarea unei versiuni pregătite pentru producție cu mai multă compatibilitate CPython. Multe dintre modificările aduse lui PyPy au fost făcute în timpul unor sprinturi de codare.
- În august 2008, PyPy a fost capabil să ruleze unele biblioteci Python populare, cum ar fi Pylons, Pyglet, Nevow și Django.
- La 12 martie 2010, PyPy 1.2 a fost lansat, concentrându-se pe viteză. Acesta a inclus un compilator just-in-time funcțional, deși nu este încă stabil.
- La 30 aprilie 2011, a fost lansată versiunea 1.5 a PyPy, care a atins compatibilitatea cu CPython 2.7.
- La 9 mai 2013, a fost lansat PyPy 2.0, care a introdus suport de calitate alfa pentru compilarea JIT pe ARMv6 și ARMv7 JIT și a inclus CFFI în biblioteca standard.
- La 20 iunie 2014, PyPy3 a fost declarat stabil și a introdus compatibilitatea cu mai modernul Python 3. A fost lansat împreună cu PyPy 2.3.1 și poartă același număr de versiune.
- La 21 martie 2017, proiectul PyPy a lansat versiunea 5.7 atât a PyPy, cât și a PyPy3, aceasta din urmă introducând suport de calitate beta pentru Python 3.5.
- La 26 aprilie 2018, a fost lansată versiunea 6.0, cu suport pentru Python 2.7 și 3.5 (încă de calitate beta pe Windows).
- La 11 februarie 2019, a fost lansată versiunea 7.0, cu suport pentru Python 2.7 și 3.5.
- La 14 octombrie 2019, a fost lansată versiunea 7.2, cu suport pentru Python 3.6.9.
- La 24 decembrie 2019, a fost lansată versiunea 7.3, cu suport pentru Python 3.6.9.
FinanțareEdit
PyPy a fost finanțat de Uniunea Europeană fiind un proiect specific de cercetare țintit între decembrie 2004 și martie 2007. În iunie 2008, PyPy a anunțat finanțarea fiind parte a programelor Google Open Source și a fost de acord să se concentreze pe a face PyPy mai compatibil cu CPython. În 2009, Eurostars, o agenție de finanțare a Uniunii Europene axată în special pe IMM-uri, a acceptat o propunere din partea membrilor proiectului PyPy, intitulată „PYJIT – un set de instrumente rapide și flexibile pentru limbaje de programare dinamice bazate pe PyPy”. Finanțarea Eurostars a durat până în august 2011.La PyCon US 2011, Python Software Foundation a oferit o subvenție de 10.000 de dolari pentru PyPy pentru a continua lucrările privind performanța și compatibilitatea cu versiunile mai noi ale limbajului.Portarea pe arhitectura ARM a fost sponsorizată în parte de Raspberry Pi Foundation.
Proiectul PyPy acceptă, de asemenea, donații prin intermediul paginilor blogului său de stare. Începând cu 2013, o varietate de subproiecte aveau finanțare: compatibilitatea cu versiunea Python 3, suportul NumPy optimizat încorporat pentru calcule numerice și suportul pentru memoria tranzacțională software pentru a permite un paralelism mai bun.
.