PyPy má podporu kompilace JIT na 32bitových/64bitových procesorech x86 a 32bitových/64bitových procesorech ARM. Je testován v režimu nightly v systémech Windows, Linux, OpenBSD a Mac OS X. PyPy dokáže spouštět čistý software v jazyce Python, který nespoléhá na specifické implementační funkce.
Existuje vrstva kompatibility pro rozšíření CPython C API nazvaná CPyExt, která je však neúplná a experimentální. Preferovaný způsob propojení se sdílenými knihovnami jazyka C je prostřednictvím vestavěného rozhraní C foreign function interface (CFFI) nebo knihoven ctypes.
HistorieEdit
PyPy navazuje na projekt Psyco, just-in-time specializovaný kompilátor pro Python, který v letech 2002-2010 vyvíjel Armin Rigo. Cílem PyPy je just-in-time specializující kompilátor s rozsahem, který u Psyco nebyl k dispozici. Původně bylo možné RPython kompilovat také do bajtkódu Javy, CIL a JavaScriptu, ale tyto backendy byly pro nezájem odstraněny.
PyPy byl původně projekt zaměřený na výzkum a vývoj. Dosáhl zralého stavu vývoje a oficiálního vydání verze 1.0 v polovině roku 2007, jeho další zaměření bylo na vydání verze připravené k produkci s větší kompatibilitou s CPythonem. Mnoho změn PyPy bylo provedeno během kódovacích sprintů.
- V srpnu 2008 bylo PyPy schopno spustit některé populární knihovny Pythonu, jako jsou Pylons, Pyglet, Nevow a Django.
- Dne 12. března 2010 byla vydána verze PyPy 1.2, která se zaměřila na rychlost. Obsahovala funkční, i když zatím ne stabilní just-in-time kompilátor.
- Dne 30. dubna 2011 byla vydána verze PyPy 1.5, která dosáhla kompatibility s CPythonem 2.7. V roce 2011 byla vydána nová verze PyPy 1.5, která je již kompatibilní s CPythonem 2.6.
- Dne 9. května 2013 byla vydána verze PyPy 2.0, která zavedla podporu JIT kompilace v alfa kvalitě na ARMv6 a ARMv7 JIT a zahrnula CFFI do standardní knihovny.
- Dne 20. června 2014 bylo PyPy3 prohlášeno za stabilní a zavedlo kompatibilitu s modernějším Pythonem 3. Byl vydán společně s PyPy 2.3.1 a nese stejné číslo verze.
- Dne 21. března 2017 projekt PyPy vydal verzi 5.7 PyPy i PyPy3, přičemž druhá jmenovaná verze zavedla podporu pro Python 3.5 v beta kvalitě.
- Dne 26. dubna 2018 byla vydána verze 6.0 s podporou Pythonu 2.7 a 3.5 (v systému Windows stále v beta kvalitě).
- Dne 11. února 2019 byla vydána verze 7.0 s podporou jazyků Python 2.7 a 3.5.
- Dne 11. února 2019 byla vydána verze 7.0 s podporou jazyků Python 2.7 a 3.5.
- Dne 14. října 2019 byla vydána verze 7.2 s podporou jazyka Python 3.6.9. Verze 7.2 byla doplněna o podporu jazyka Python 3.6.9.
- Dne 24. prosince 2019 byla vydána verze 7.3 s podporou jazyka Python 3.6.9.
FinancováníEdit
PyPy byl financován Evropskou unií jako projekt specifického cíleného výzkumu v období od prosince 2004 do března 2007. V červnu 2008 PyPy oznámilo, že je financováno jako součást programů Google Open Source a souhlasilo, že se zaměří na větší kompatibilitu PyPy s CPythonem. V roce 2009 Eurostars, finanční agentura Evropské unie speciálně zaměřená na malé a střední podniky, přijala návrh členů projektu PyPy s názvem „PYJIT – rychlá a flexibilní sada nástrojů pro dynamické programovací jazyky založená na PyPy“. Financování ze strany Eurostars trvalo do srpna 2011.
Nadace Python Software Foundation poskytla na PyPy v roce 2011 grant ve výši 10 000 dolarů na pokračování prací na výkonu a kompatibilitě s novějšími verzemi jazyka.
Port na architekturu ARM částečně sponzorovala Nadace Raspberry Pi.
Projekt PyPy také přijímá dary prostřednictvím svých stavových stránek na blogu. Od roku 2013 byla financována řada dílčích projektů: Kompatibilita s verzí Pythonu 3, vestavěná optimalizovaná podpora NumPy pro numerické výpočty a softwarová podpora transakční paměti umožňující lepší paralelismus.