Articulo de referencia

Proyecto de pilones

Pylons Project es una organización de código abierto que desarrolla un conjunto de tecnologías para aplicaciones web escritas en Python . Inicialmente, el proyecto consistía en ...

Pylons Project es una organización de código abierto que desarrolla un conjunto de tecnologías para aplicaciones web escritas en Python . Inicialmente, el proyecto consistía en un único framework web llamado Pylons, pero tras la fusión con el framework repoze.bfg bajo el nuevo nombre de Pyramid, Pylons Project ahora consta de múltiples tecnologías relacionadas para aplicaciones web.

Pirámide

Pyramid es un framework web de código abierto escrito en Python y basado en WSGI . Es un framework web minimalista inspirado en Zope , Pylons y Django . [ 4 ]

Originalmente llamado "repoze.bfg", Pyramid atrajo la atención principalmente en la comunidad de Zope [ 5 ] y Plone cuando el proyecto KARL del Open Society Institute migró de Plone a BFG. [ 6 ] En 2010 se anunció que el marco Pylons pasaría a usar BFG como base en la versión 1.5. [ 7 ] Como resultado de la inclusión de BFG en el proyecto Pylons, BFG pasó a llamarse Pyramid. [ 8 ]

Características

Pyramid es un framework web minimalista e independiente de la plataforma . Es independiente de la persistencia y se integra tanto con bases de datos SQL a través de SQLAlchemy como con la base de datos de objetos Zope , así como con otras bases de datos NoSQL , como CouchDB . [ 4 ]

Pyramid permite a los desarrolladores definir rutas utilizando expresiones regulares que se asignan a objetos. Al igual que su framework hermano Zope, Pyramid también permite el recorrido jerárquico de objetos, donde cada parte de una URL es un objeto que contiene otros objetos, de forma similar a las carpetas en un sistema de archivos. [ 9 ]

Marco de trabajo web Pylons

Pylons Framework es un framework de código abierto para aplicaciones web escrito en Python . Utiliza ampliamente el estándar Web Server Gateway Interface (WSGI) para promover la reutilización y separar la funcionalidad en módulos distintos. [ 12 ] Está fuertemente influenciado por Ruby on Rails : dos de sus componentes principales, Routes y WebHelpers, son reimplementaciones en Python de características de Rails.

Estructura

Pylons es conocido por contar con un conjunto casi completo de herramientas de terceros, evitando así el fenómeno de "no fue inventado aquí" .

Instalación, dependencias y configuración

El método de instalación oficial de Pylons es mediante EasyInstall a través del Índice de Paquetes de Python (PyPI), y la mayoría de las herramientas adicionales se instalan de la misma manera. EasyInstall también gestiona las dependencias de los paquetes cuando corresponde. Algunas distribuciones podrían incluir Pylons y Paste , pero es probable que los paquetes de cualquier distribución estén desactualizados con respecto a la distribución oficial. Pylons también se puede instalar manualmente cambiando el nombre de su archivo .egg a .zip y extrayendo su contenido.

Paste se utiliza para la configuración, las pruebas y la implementación de proyectos. Mediante el formato de configuración INI común , Paste permite múltiples "perfiles", de modo que los desarrolladores pueden ejecutar configuraciones de desarrollo e implementación desde el mismo código fuente sin revelar partes sensibles de Pylons, como el depurador interactivo, a los usuarios de producción.

Envío de URL

Actualmente, el único despachador de URL ampliamente utilizado en Pylons es Routes, una reimplementación en Python del despachador de URL de Ruby on Rails, aunque se puede usar cualquier despachador de URL compatible con WSGI. Si bien Routes es una biblioteca independiente, fue desarrollada para su uso en Pylons y su desarrollo se mantiene en estrecha sincronía con Pylons.

Generación de HTML

Otra funcionalidad de Rails adaptada para Pylons es WebHelpers, que proporciona mapeo de URL basado en la configuración de rutas. WebHelpers también ofrece algunas funciones de utilidad para generar código JavaScript utilizando las bibliotecas script.aculo.us y Prototype .

FormEncode y FormBuild se utilizan para la validación y generación de formularios HTML; también se ha utilizado Mako para la generación de formularios mediante su modelo de herencia.

Plantillas

Myghty era el lenguaje de plantillas predeterminado de Pylons, pero a partir de la versión 0.9.6 fue reemplazado por Mako . [ 13 ] Ambos lenguajes de plantillas están basados ​​en texto (a diferencia de los basados ​​en XML ) y admiten inclusiones, herencia e incrustación de código Python arbitrario.

Debido a las capas débilmente acopladas de Pylons, también se pueden usar otros lenguajes de plantillas. Genshi , un lenguaje de plantillas basado en XML, se puede usar en lugar de Mako o Myghty. [ 14 ]

Abstracción de bases de datos y mapeo objeto-relacional.

Pylons no tiene una biblioteca de base de datos predeterminada. Se sabe que se utilizan tanto SQLObject como SQLAlchemy.

Fusión con repoze.bfg y nacimiento del framework web Pyramid.

Pylons se ha convertido en el Proyecto Pylons, y el código antiguo de Pylons 1.0 ahora está en modo de mantenimiento. Sin embargo, tras la fusión del proyecto con repoze.bfg desde noviembre de 2010, las versiones más recientes de Pylons son diferentes de la versión original Pylons 1.0. Los desarrolladores de Pylons inicialmente planearon reescribir ciertas partes del código, pero observaron que el nuevo código se aproximaba a repoze.bfg, lo que llevó a la fusión de Pylons y repoze.bfg. [ 15 ] [ 16 ] Esto llevó a que repoze.bfg (parte del framework web Repoze basado en Python) cambiara de nombre y se relanzara como el framework web Pyramid. [ 17 ]

Véase también

Referencias

  1. "Historial de cambios de Pyramid: el marco web Pyramid v2.0" . docs.pylonsproject.org . Consultado el 26 de abril de 2021 .
  2. "Versión 2.1" . 11 de marzo de 2026. Consultado el 3 de abril de 2026 .
  3. "Derechos de autor, marcas registradas y atribuciones: The Pyramid Web Framework v2.0" . docs.pylonsproject.org . Consultado el 26 de abril de 2021 .
  4. 1 2 Chris McDonough. "Introducción a repoze.bfg" . Archivado del original el 30-12-2013 . Recuperado el 21-09-2010 .
  5. Gary Poster (17 de septiembre de 2010). "Zope Summit, DZUG, repoze.bfg" . Consultado el 21 de septiembre de 2010 .
  6. Thomas Moroz, Chris Rossi y Calvin Hendryx-Parker (28 de octubre de 2009). KARL – Gestión del conocimiento a gran escala . Budapest, Hungría: Conferencia Plone 2009. Archivado del original el 2 de junio de 2010. Consultado el 23 de septiembre de 2010 .
  7. Ben Bangert (18 de septiembre de 2010). "Correos electrónicos que explican la estructura de Pylons 2" . Consultado el 21 de septiembre de 2010 .
  8. "repoze.bfg ahora es Pyramid" . Archivado del original el 13 de noviembre de 2010. Consultado el 3 de enero de 2011 .
  9. Wichert Akkerman (28 de octubre de 2009). Lecciones de otros marcos de trabajo . Budapest, Hungría: Conferencia Plone 2009. El evento tiene lugar a las 25:50 . Consultado el 21 de septiembre de 2010 .{{cite AV media}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  10. Historia de los pilones
  11. "Versión 1.0.2" . 22 de julio de 2015. Consultado el 22 de julio de 2018 .
  12. El proyecto mod_wsgi incluye tanto Pylons como Pyramid en su lista de principales frameworks web de Python compatibles.
  13. Haas, Christoph Beginning Pylons Archivado el 16 de febrero de 2009 en Wayback Machine . Consultado el 5 de julio de 2007.
  14. Genshi Wiki Pilones con Genshi Consultado el 5 de julio de 2007
  15. Preguntas frecuentes del Proyecto Pylons. URL: https://pylonsproject.org/about-pylons-project.html
  16. Notas sobre la fusión de Pylons y repoze.bfg. URL: "Be Groovie - Notas sobre Pylons y la fusión de repoze.BFG" . Archivado del original el 4 de marzo de 2012. Consultado el 14 de agosto de 2012 .
  17. Acerca de Pyramid. URL: https://trypyramid.com/

Lecturas adicionales

  • Gardner, James (enero de 2009). La guía definitiva de las torres de alta tensión . Berkeley, CA: Apress . doi : 10.1007/978-1-4302-0534-0 . ISBN 978-1-59059-934-1.
  • Sitio web oficialEdita esto en Wikidata