PyPy

Este artículo o sección se encuentra desactualizado.
La información suministrada ha quedado obsoleta o es insuficiente.
Este aviso fue puesto el 26 de febrero de 2021.
PyPy
Parte de Software Freedom Conservancy
Información general
Tipo de programa intérprete de comandos
Desarrollador Proyecto PyPy
Lanzamiento inicial 2002
Licencia Licencia MIT
Información técnica
Programado en
  • Python
  • RPython
Versiones
Última versión estable 7.3.1623 de abril de 2024
Enlaces
Sitio web oficial
Repositorio de código
Seguimiento de errores
[editar datos en Wikidata]

PyPy es un intérprete y compilador JIT para el lenguaje Python, que se enfoca en la velocidad y eficiencia, y es 100% compatible con el intérprete original CPython.

Detalles y motivación

PyPy fue concebido como una implementación de Python escrita en Python, lo que permite a los desarrolladores Python hackear el lenguaje. Esto hace que sea fácil identificar áreas mejorables. El hecho de que PyPy esté implementado en un lenguaje de alto nivel implica que es más flexible y fácil para experimentar que CPython, lo que permite a los desarrolladores explorar múltiples implementaciones de características específicas y elegir la mejor.

PyPy tiene por objeto proporcionar una traducción común y un framework conceptual para la producción de implementaciones de lenguajes dinámicos, haciendo hincapié en una separación limpia entre la especificación del lenguaje y los aspectos de implementación. Intenta además proporcionar una implementación compatible, flexible y rápida del Lenguaje Python utilizando el mencionado framework para desarrollar nuevas características avanzadas sin tener que codificar detalles a bajo nivel.[1]

Traducción

PyPy consiste en un intérprete estándar y un traductor. El intérprete está escrito en un subconjunto limitado del lenguaje Python llamado RPython[1]​ (Python restringido). A diferencia de Python estándar, RPython es estáticamente tipado que permite una compilación eficiente.

El traductor es una cadena de herramientas que analiza el código RPython y lo traduce a un lenguaje de más bajo nivel, tal como C, LLVM o MSIL. También permite un recolector de basura enchufable y opcionalmente habilitar Stackless. Finalmente incluye un generador JIT que construye un compilador JIT dentro del intérprete, brindando algunas anotaciones en el código fuente.

Estado del Proyecto

PyPy es una continuación del proyecto Psyco, desarrollado por Armin Rigo. El objetivo de PyPy es tener un compilador en tiempo de ejecución especializado con una mayor capacidad multiplataforma que Psyco.

Historia

PyPy comenzó como una investigación orientada al desarrollo de proyectos. Sin embargo, al llegar a la versión 1.0 a mediados de 2007, sus objetivos cambiaron para producir versiones estables orientadas a la producción con una mayor compatibilidad con CPython. El 28 de abril de 2008[2]​ se publicó la versión 1.1.

A finales de 2008, PyPy estuvo en condiciones de ejecutar algunas bibliotecas populares como Django,[3]​ Pylons,[4]Pyglet,[5]​ y Nevow.[6]

En marzo de 2010 se lanzó PyPy 1.2, enfocándose en la velocidad, incluyendo un compilador en tiempo de ejecución que funcionaba, pero cuyo uso se desaconsejaba para ambientes de producción.

En diciembre de 2010 se liberó PyPy 1.4, la primera versión con calidad para código en producción. PyPy 1.4 es compatible con Python 2.5

El 30 de abril de 2011 se lanzó PyPy 1.5, compatible con Python 2.7.1.[7]

El 18 de agosto se lanzó PyPy 1.6 "Kickass Panda", que mantiene compatiblidad on Python 2.7.1 pero agrega soporte (beta) para cargar extensiones desarrolladas en C para CPython.[8]

Referencias

  1. «Paper de RPython». Archivado desde el original el 6 de julio de 2017. Consultado el 11 de julio de 2011. 
  2. «PyPy Status Blog: 1.1 final released». 
  3. «PyPy runs unmodified django 1.0 beta». 
  4. «Running pylons on top of PyPy». 
  5. «Running Pyglet on top of PyPy». 
  6. «Running Nevow on top of PyPy». 
  7. «PyPy 1.5 Released: Catching Up». 
  8. «PyPy 1.6 - kickass panda». 

Enlaces externos

  • PyPy Página oficial
  • Blog Oficial del proyecto
Control de autoridades
  • Proyectos Wikimedia
  • Wd Datos: Q1143023
  • Informática
  • Arch Linux: pypy
  • Debian: pypy
  • Fedora: pypy
  • Free Software Directory: PyPy
  • Gentoo: dev-python/pypy
  • Open Hub: pypy
  • Ubuntu: pypy
  • Wd Datos: Q1143023