PyPy tiene soporte de compilación JIT en procesadores x86 de 32 bits/64 bits y ARM de 32 bits/64 bits. Se prueba cada noche en Windows, Linux, OpenBSD y Mac OS X. PyPy es capaz de ejecutar software Python puro que no depende de características específicas de la implementación.

Hay una capa de compatibilidad para las extensiones de la API C de CPython llamada CPyExt, pero es incompleta y experimental. La forma preferida de interactuar con las bibliotecas compartidas de C es a través de la interfaz de funciones externas de C (CFFI) incorporada o de las bibliotecas ctypes.

HistoriaEdit

PyPy es una continuación del proyecto Psyco, un compilador especializado justo a tiempo para Python, desarrollado por Armin Rigo entre 2002 y 2010. El objetivo de PyPy es tener un compilador especializado justo a tiempo con alcance, que no estaba disponible para Psyco. Inicialmente, el RPython también podía ser compilado en bytecode Java, CIL y JavaScript, pero estos backends fueron eliminados por falta de interés.

PyPy fue inicialmente un proyecto orientado a la investigación y el desarrollo. Alcanzando un estado maduro de desarrollo y una versión oficial 1.0 a mediados de 2007, su siguiente objetivo fue lanzar una versión lista para producción con más compatibilidad con CPython. Muchos de los cambios de PyPy se han realizado durante sprints de codificación.

  • En agosto de 2008, PyPy fue capaz de ejecutar algunas librerías populares de Python como Pylons, Pyglet, Nevow y Django.
  • El 12 de marzo de 2010, se publicó PyPy 1.2, centrado en la velocidad. Incluía un compilador just-in-time que funcionaba, aunque todavía no era estable.
  • El 30 de abril de 2011, se publicó la versión 1.5 de PyPy, que alcanzó la compatibilidad con CPython 2.7.
  • El 9 de mayo de 2013 se publicó la versión 2.0 de PyPy, que introdujo soporte de calidad alfa para la compilación JIT en ARMv6 y ARMv7 JIT, e incluyó CFFI en la biblioteca estándar.
  • El 20 de junio de 2014, PyPy3 fue declarado estable e introdujo la compatibilidad con el más moderno Python 3. Se publicó junto a PyPy 2.3.1 y lleva el mismo número de versión.
  • El 21 de marzo de 2017, el proyecto PyPy publicó la versión 5.7 tanto de PyPy como de PyPy3, introduciendo en esta última la compatibilidad de calidad beta con Python 3.5.
  • El 26 de abril de 2018, se publicó la versión 6.0, con soporte para Python 2.7 y 3.5 (todavía de calidad beta en Windows).
  • El 11 de febrero de 2019 se publicó la versión 7.0, con soporte para Python 2.7 y 3.5.
  • El 14 de octubre de 2019 se publicó la versión 7.2, con soporte para Python 3.6.9.
  • El 24 de diciembre de 2019 se publicó la versión 7.3, con soporte para Python 3.6.9.

FinanciaciónEditar

PyPy fue financiado por la Unión Europea siendo un Proyecto Específico de Investigación Focalizada entre diciembre de 2004 y marzo de 2007. En junio de 2008, PyPy anunció su financiación formando parte de los programas de código abierto de Google y ha acordado centrarse en hacer PyPy más compatible con CPython. En 2009 Eurostars, una agencia de financiación de la Unión Europea especialmente centrada en las PYMES, aceptó una propuesta de los miembros del proyecto PyPy titulada «PYJIT – a fast and flexible toolkit for dynamic programming languages based on PyPy». La financiación de Eurostars duró hasta agosto de 2011.En la PyCon US 2011, la Python Software Foundation proporcionó una subvención de 10.000 dólares para que PyPy continuara trabajando en el rendimiento y la compatibilidad con versiones más recientes del lenguaje.El puerto a la arquitectura ARM fue patrocinado en parte por la Raspberry Pi Foundation.

El proyecto PyPy también acepta donaciones a través de las páginas de su blog de estado. A partir de 2013, una variedad de subproyectos tenían financiación: Compatibilidad con la versión 3 de Python, soporte integrado optimizado de NumPy para cálculos numéricos y soporte de memoria transaccional de software para permitir un mejor paralelismo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.