PyPy posiada wsparcie dla kompilacji JIT na 32-bitowych/64-bitowych procesorach x86 i 32-bitowych/64-bitowych procesorach ARM. Jest testowany w nocy na systemach Windows, Linux, OpenBSD i Mac OS X. PyPy jest w stanie uruchomić czyste oprogramowanie Pythona, które nie polega na funkcjach specyficznych dla implementacji.
Istnieje warstwa kompatybilności dla rozszerzeń CPython C API o nazwie CPyExt, ale jest ona niekompletna i eksperymentalna. Preferowanym sposobem interakcji z bibliotekami współdzielonymi C jest wbudowany interfejs funkcji obcych C (CFFI) lub biblioteki ctypes.
HistoryEdit
PyPy jest kontynuacją projektu Psyco, specjalizowanego kompilatora just-in-time dla Pythona, rozwijanego przez Armina Rigo w latach 2002-2010. Celem PyPy jest posiadanie specjalizowanego kompilatora just-in-time z zakresem, który nie był dostępny dla Psyco. Początkowo RPython mógł być również kompilowany do kodu bajtowego Java, CIL i JavaScript, ale te backendy zostały usunięte z powodu braku zainteresowania.
PyPy był początkowo projektem zorientowanym na badania i rozwój. Osiągając dojrzały stan rozwoju i oficjalne wydanie 1.0 w połowie 2007 roku, skupił się na wydaniu wersji gotowej do produkcji z większą kompatybilnością z CPythonem. Wiele zmian w PyPy zostało wprowadzonych podczas sprintów kodowania.
- W sierpniu 2008, PyPy był w stanie uruchomić niektóre popularne biblioteki Pythona, takie jak Pylons, Pyglet, Nevow i Django.
- W dniu 12 marca 2010, PyPy 1.2 został wydany, skupiając się na szybkości. Zawierał on działający, choć jeszcze nie stabilny, kompilator just-in-time.
- W dniu 30 kwietnia 2011 r. została wydana wersja 1.5 PyPy, która osiągnęła kompatybilność z CPython 2.7.
- W dniu 9 maja 2013 roku ukazała się wersja PyPy 2.0, która wprowadziła wsparcie jakości alfa dla kompilacji JIT na ARMv6 i ARMv7 JIT, oraz włączyła CFFI do biblioteki standardowej.
- W dniu 20 czerwca 2014 roku PyPy3 został uznany za stabilny i wprowadził kompatybilność z nowocześniejszym Pythonem 3. Został wydany wraz z PyPy 2.3.1 i nosi ten sam numer wersji.
- W dniu 21 marca 2017 r. projekt PyPy wydał wersję 5.7 zarówno PyPy, jak i PyPy3, przy czym ten ostatni wprowadził wsparcie jakości beta dla Pythona 3.5.
- W dniu 26 kwietnia 2018 r. została wydana wersja 6.0, z obsługą Pythona 2.7 i 3.5 (wciąż beta-jakość na Windows).
- W dniu 11 lutego 2019 r. została wydana wersja 7.0, z obsługą Pythona 2.7 i 3.5.
- W dniu 14 października 2019 r. została wydana wersja 7.2, z obsługą Pythona 3.6.9.
- W dniu 24 grudnia 2019 r. została wydana wersja 7.3, z obsługą Pythona 3.6.9.
FundingEdit
PyPy był finansowany przez Unię Europejską będąc Specific Targeted Research Project między grudniem 2004 a marcem 2007. W czerwcu 2008, PyPy ogłosił finansowanie jako część programów Google Open Source i zgodził się skupić na uczynieniu PyPy bardziej kompatybilnym z CPython. W 2009 roku Eurostars, agencja finansowa Unii Europejskiej skupiona specjalnie na małych i średnich przedsiębiorstwach, zaakceptowała propozycję członków projektu PyPy zatytułowaną „PYJIT – szybki i elastyczny zestaw narzędzi dla dynamicznych języków programowania oparty na PyPy”. Finansowanie Eurostars trwało do sierpnia 2011 roku.Na PyCon US 2011, Python Software Foundation przekazała 10 000 dolarów dotacji dla PyPy, aby kontynuować prace nad wydajnością i kompatybilnością z nowszymi wersjami języka.Port na architekturę ARM był sponsorowany częściowo przez Raspberry Pi Foundation.
Projekt PyPy przyjmuje również darowizny poprzez strony blogów statusowych. Od 2013 roku, różne podprojekty miały finansowanie: Zgodność z wersją Python 3, wbudowana zoptymalizowana obsługa NumPy dla obliczeń numerycznych i programowa obsługa pamięci transakcyjnej, aby umożliwić lepszą równoległość.
.