PyPy a un support de compilation JIT sur les processeurs x86 32-bit/64-bit et ARM 32-bit/64-bit. Il est testé de nuit sur Windows, Linux, OpenBSD et Mac OS X. PyPy est capable d’exécuter un logiciel Python pur qui ne repose pas sur des fonctionnalités spécifiques à l’implémentation.

Il existe une couche de compatibilité pour les extensions de l’API C de CPython appelée CPyExt, mais elle est incomplète et expérimentale. La façon préférée de s’interfacer avec les bibliothèques partagées C est à travers l’interface de fonction étrangère C (CFFI) intégrée ou les bibliothèques ctypes.

HistoriqueEdit

PyPy est une suite du projet Psyco, un compilateur spécialisé juste à temps pour Python, développé par Armin Rigo entre 2002 et 2010. L’objectif de PyPy est d’avoir un compilateur spécialisé juste à temps avec une portée, ce qui n’était pas disponible pour Psyco. Initialement, le RPython pouvait également être compilé en bytecode Java, CIL et JavaScript, mais ces backends ont été supprimés par manque d’intérêt.

PyPy était initialement un projet orienté recherche et développement. Atteignant un état de développement mature et une version officielle 1.0 à la mi-2007, son prochain objectif était de publier une version prête pour la production avec plus de compatibilité CPython. De nombreuses modifications de PyPy ont été apportées au cours de sprints de codage.

  • En août 2008, PyPy a pu exécuter certaines bibliothèques Python populaires comme Pylons, Pyglet, Nevow et Django.
  • Le 12 mars 2010, PyPy 1.2 a été publié, mettant l’accent sur la vitesse. Il incluait un compilateur juste-à-temps fonctionnel, mais pas encore stable.
  • Le 30 avril 2011, la version 1.5 de PyPy a été publiée, qui a atteint la compatibilité avec CPython 2.7.
  • Le 9 mai 2013, PyPy 2.0 a été publié, qui a introduit un support de qualité alpha pour la compilation JIT sur ARMv6 et ARMv7 JIT, et a inclus CFFI dans la bibliothèque standard.
  • Le 20 juin 2014, PyPy3 a été déclaré stable et a introduit la compatibilité avec Python 3, plus moderne. Il a été publié parallèlement à PyPy 2.3.1 et porte le même numéro de version.
  • Le 21 mars 2017, le projet PyPy a publié la version 5.7 de PyPy et de PyPy3, cette dernière introduisant un support de qualité bêta pour Python 3.5.
  • Le 26 avril 2018, la version 6.0 a été publiée, avec un support pour Python 2.7 et 3.5 (toujours en qualité bêta sur Windows).
  • Le 11 février 2019, la version 7.0 a été publiée, avec le support de Python 2.7 et 3.5.
  • Le 14 octobre 2019, la version 7.2 a été publiée, avec le support de Python 3.6.9.
  • Le 24 décembre 2019, la version 7.3 a été publiée, avec le support de Python 3.6.9.

FinancementEdit

PyPy a été financé par l’Union européenne étant un projet de recherche spécifique ciblé entre décembre 2004 et mars 2007. En juin 2008, PyPy a annoncé un financement faisant partie des programmes Google Open Source et a accepté de se concentrer sur l’amélioration de la compatibilité de PyPy avec CPython. En 2009, Eurostars, une agence de financement de l’Union européenne spécialement axée sur les PME, a accepté une proposition des membres du projet PyPy intitulée « PYJIT – une boîte à outils rapide et flexible pour les langages de programmation dynamiques basée sur PyPy ». Le financement d’Eurostars a duré jusqu’en août 2011.Lors de la PyCon US 2011, la Python Software Foundation a accordé une subvention de 10 000 dollars à PyPy afin de poursuivre les travaux sur les performances et la compatibilité avec les nouvelles versions du langage.Le portage sur l’architecture ARM a été sponsorisé en partie par la Raspberry Pi Foundation.

Le projet PyPy accepte également les dons via ses pages de blog sur le statut. En 2013, une variété de sous-projets avaient un financement : La compatibilité avec la version 3 de Python, le support intégré optimisé de NumPy pour les calculs numériques et le support de la mémoire transactionnelle logicielle pour permettre un meilleur parallélisme.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.