pyramid

Software captura de pantalla:
pyramid
Detalles de software:
Versión: 1.4.2
Fecha de carga: 20 Feb 15
Promotor: Chris McDonough
Licencia: Libre
Popularidad: 9

Rating: 4.0/5 (Total Votes: 1)

pirámide es un rápido, pequeño, con los pies en la tierra, marco de desarrollo Python web de código abierto. & Nbsp; Se hace en el mundo real el desarrollo de aplicaciones web y el despliegue más diversión, más predecible y más productivo.
pirámide es un proyecto Pilones, y subyace en los frameworks web más recientes producidos por la comunidad Pilones.
pirámide era conocido previamente como repoze.bfg.
Asistencia y documentación
Visite el sitio web Pilones de proyectos para ver la documentación, informar de errores, y obtener apoyo.
License
pirámide se ofrece bajo la BSD derivados Licencia Repoze públicos:

¿Cuál es nuevo en esta versión:.

  • mako_templating: añadido defensiva Solución para no importability de marrajo debido a markupsafe aguas arriba dejando caer Python 3.2 apoyo. Mako plantillas ya no funcionará bajo la combinación de MarkupSafe 0.17 y Python 3.2 (aunque la combinación de MarkupSafe 0.17 y Python 3.3 o apoyado cualquier versión de Python 2 trabajarán OK).
  • Haga los pyramid.config.assets.PackageOverrides objeto implementar la API para __loader__ objetos especificados en PEP 302. La representación de la __loader__ fijado por el importador, si está presente; de lo contrario, plantea NotImplementedError. Esto hace que la pirámide de vista estático anulaciones funcionan correctamente en Python 3.3 (antes no lo haría). Ver https://github.com/Pylons/pyramid/pull/1015 para más información.

¿Qué hay de nuevo en la versión 1.4:

  • Fix pruebas funcionales en el tutorial ZODB

¿Cuál es nuevo en la versión 1.4 Beta 3:

  • Comunicado de Packaging solamente, no hay cambios en el código. 1.4b2 fue un lanzamiento Brownbag debido a los directorios que falta en el archivo comprimido.

¿Qué hay de nuevo en la versión 1.3.4:

  • Cuando pyramid.debug_routematch estaba encendida y la poligonal predicado fue utilizado en cualquier ruta, el router podría lanzar una excepción al intentar imprimir la información de depuración ruta. Este error ha existido desde 1.3a1.
  • Cuando se utiliza el predicado de desplazamiento en cualquier ruta, proutes y pviews guiones de consola se lanzará una excepción al intentar imprimir la información de la ruta de depuración. Este error ha existido desde 1.3a1.
  • Backport corrección de errores de maestro: - En Mako plantillas de búsqueda, compruebe uri absoluta (utilizando directorios mako) cuando se combinan la herencia con las especificaciones de los activos. https://github.com/Pylons/pyramid/issues/662
  • Al registrar múltiples puntos de vista con un predicado aceptar en una aplicación Pirámide runing bajo Python 3, que podría haber recibido una TypeError: tipos unorderable: function () & lt; función () es una excepción.
  • Backport de maestro: HTTP Accept cabeceras no estaban siendo normalizaron causando potencialmente conflictivas registros de vista para pasar desapercibido. Dos puntos de vista que sólo difieren en el caso ('text / html' vs. 'text / html') ahora generará un error. https://github.com/Pylons/pyramid/pull/620

¿Qué hay de nuevo en la versión 1.4 Alpha 1:

  • Corrección de errores:
  • puerto Forward de 1,3 rama: Cuando se configura ninguna política de autenticación, una llamada a pyramid.security.effective_principals incondicionalmente devolvería la lista vacía. Este era incorrecta, debe tener incondicionalmente regresado [Todo el mundo], y ahora lo hace.

  • expresiones regulares
  • despacho url explícita ahora pueden contener dos puntos. https://github.com/Pylons/pyramid/issues/629
  • Al menos en una de 64 bits del sistema Ubuntu bajo Python 3.2, utilizando el decorador view_config causó una RuntimeError: diccionario cambió tamaño durante la iteración excepción. Ya no hace. Ver https://github.com/Pylons/pyramid/issues/635 para más información.
  • En Mako plantillas de búsqueda, compruebe si el uri ya se ajusta y traerlo de vuelta a una especificación de activos. Normalmente ocurre con las plantillas heredadas o componentes incluidos. https://github.com/Pylons/pyramid/issues/606 https://github.com/Pylons/pyramid/issues/607
  • En Mako plantillas de búsqueda, compruebe uri absoluta (utilizando directorios mako) cuando se combinan la herencia con las especificaciones de los activos. https://github.com/Pylons/pyramid/issues/662
  • HTTP Accept cabeceras no estaban siendo normalizaron causando potencialmente conflictivas registros de vista para pasar desapercibido. Dos puntos de vista que sólo difieren en el caso ('text / html' vs. 'text / html') ahora generará un error. https://github.com/Pylons/pyramid/pull/620
  • Forward-puerto de 1,3 rama: al registrar múltiples puntos de vista con un aceptar predicado en una aplicación Pirámide runing bajo Python 3, que podría haber recibido una TypeError: tipos unorderable: function () & lt; función () es una excepción.
  • Características:
  • Configurator.add_directive ahora acepta callables arbitrarios como los parciales u objetos de ejecución __call__ que no dispongamos de __name__ y __doc__ atributos. Ver https://github.com/Pylons/pyramid/issues/621 y https://github.com/Pylons/pyramid/pull/647.

  • Predicados
  • vista personalizada de terceros, de ruta, y suscriptores ahora pueden añadir para su uso por ver autores vía pyramid.config.Configurator.add_view_predicate, pyramid.config.Configurator.add_route_predicate y pyramid.config.Configurator.add_subscriber_predicate. Así, por ejemplo, hacer esto:
  • config.add_view_predicate ('abc', my.package.ABCPredicate)
  • Podría permitir una visión autor para hacer esto en una aplicación que configura ese predicado:
  • view_config (abc = 1)

  • Existen
  • características similares para add_route y add_subscriber. Ver & quot; Añadir un tercer interlocutor Vista, la ruta, o suscriptor Predicado & quot; en el capítulo Ganchos para más información.
  • Tenga en cuenta que los cambios realizados para apoyar la característica anterior ahora significa que sólo las acciones registradas utilizando el mismo & quot; para & quot; puede entrar en conflicto con otros. Solía ​​ser el caso de que las acciones registradas en diferentes órdenes podría entrar en conflicto, pero para mi nada conocimiento cada vez dependía de este comportamiento (era un poco tonto).

  • Objetos
  • personalizados se pueden hacer fácilmente JSON-serializable en Pyramid definiendo un método __json__ en la clase del objeto. Este método debe devolver valores nativa serializables por json.dumps (como enteros, listas, diccionarios, cuerdas, etc.).
  • El renderizador JSON ahora permite la definición de adaptadores de tipo personalizado para convertir objetos desconocidos para serializaciones JSON.
  • A partir de esta versión, el predicado REQUEST_METHOD, cuando se utiliza, no implicará que CABEZA está implícito cuando utiliza GET. Por ejemplo, utilizandoview_config (REQUEST_METHOD = 'GET') es equivalente a usarview_config (REQUEST_METHOD = ('GET', 'cabeza')). Utilizandoview_config (REQUEST_METHOD = ('GET', 'post') es equivalente a usarview_config (REQUEST_METHOD = ('GET', "cabeza", "post"). Esto se debe a la cabeza es una variante del GET que omite la cuerpo, y WebOb tiene un apoyo especial para devolver un cuerpo vacío cuando se utiliza un cabezal.
  • config.add_request_method se ha introducido para apoyar extienden objetos de solicitud con callables arbitrarias. Este método se expande en la config.set_request_property anterior por métodos de apoyo, así como propiedades. Este método ahora causa menos código que se ejecutará en el momento de la construcción solicitud de config.set_request_property en la versión 1.3.
  • No agregue una? a las URL generadas por request.resource_url si se proporciona el argumento de consulta, pero vacía.
  • No agregue una? a las URL generadas por request.route_url si se proporciona el argumento _query pero vacío.
  • La estática maquinaria vista ahora plantea (en lugar de los retornos) HTTPNotFound y HTTPMovedPermanently excepciones, por lo que estos pueden ser capturados por la vista NotFound (y otras vistas de excepción).
  • El renderizador Mako ahora es compatible con un nombre def en una especificación de activos. Cuando el nombre def está presente en la especificación de activos, el sistema hacen que la definición de plantilla dentro de la plantilla y devolverá el resultado. Un ejemplo de especificaciones de activos es paquete: ruta / a / plantilla # defname.mako. Esto hará que la defname def nombrado dentro de la plantilla template.mako en vez de traer a toda la plantilla. La antigua forma de devolver una tupla de la forma ('defname', {}) desde el punto de vista es apoyado por compatibilidad hacia atrás,
  • El renderizador Camaleón ZPT ahora acepta un nombre de macro en una especificación de activos. Cuando el nombre de la macro está presente en la especificación de activos, el sistema de procesamiento de la macro catalogado como define-macro y devuelve el resultado en vez de traer a toda la plantilla. Un ejemplo de especificaciones de activos: paquete: ruta / a / plantilla # macroname.pt. Esto hará que la macro definida como macroname dentro de la plantilla template.pt lugar de todo el Templae.
  • Cuando hay una excepción desajuste predicado (visto cuando no hay vistas de juegos compatibles para una solicitud determinada, debido a los predicados no funciona), la excepción ahora contiene una descripción textual del predicado que no coincide.
  • Un método Directiva add_permission esta en el Configurador. Esta directiva registra un introspectable permiso independiente en el sistema de introspección Pirámide. Marcos construido encima de la pirámide pueden así utilizar los datos de los permisos de categoría introspectable para construir una lista completa de los permisos con el apoyo de un sistema en funcionamiento. Antes de que se añadió este método, los permisos ya se registraron en esta categoría introspectable como un efecto secundario de nombrarlos en una llamada add_view, este método sólo hace que sea posible hacer que un permiso para poner en los permisos de categoría introspectable sin nombrarlo, junto con una vista asociada. He aquí un ejemplo de uso de add_permission:
  • config = Configurator ()
  • config.add_permission ('ver')
  • El UnencryptedCookieSessionFactoryConfig ahora acepta ganchos signed_serialize y signed_deserialize que pueden ser usados ​​para influir en cómo se conducen las sesiones (por defecto esto se hace con HMAC + pepinillo).
  • pyramid.testing.DummyRequest ahora es compatible con los métodos proporcionados por la clase pyramid.util.InstancePropertyMixin como método set_property.
  • propiedades Solicitar y métodos añadidos a través config.set_request_property o config.add_request_method están ahora disponibles para los preadolescentes.
  • propiedades Solicitar y métodos añadidos a través config.set_request_property o config.add_request_method ya están disponibles en el objeto de la petición de regresar de pyramid.paster.bootstrap.
  • request.context de petición del ambiente durante la rutina de carga es ahora el objeto raíz si el contexto no está situado en una petición previsto.
  • La función pyramid.decorator.reify es ahora una API, y se añadió a la documentación de la API.
  • Añadido el gestor de contexto pyramid.testing.testConfig, que puede ser utilizado para generar un configurador en una prueba, por ejemplo, con testing.testConfig (...):.
  • Ahora los usuarios pueden invocar un subrequest desde dentro de la vista de código usando una nueva API request.invoke_subrequest.
  • Deprecations:
  • El pyramid.config.Configurator.set_request_property ha sido documentación obsoleta. El método sigue siendo utilizable pero la pyramid.config.Configurator.add_request_method más featureful se debe utilizar en su lugar (tiene todas las mismas capacidades, pero también puede ampliar el objeto de la petición con métodos).
  • Backwards Incompatibilidades:
  • El router pirámide ya no añade el bfg.routes.route valores o bfg.routes.matchdict al diccionario entorno WSGI de la solicitud. Estos valores fueron docs-desaprobado en repoze.bfg 1,0 (efectivamente siete versiones menores hace). Si el código depende de estos valores, utilice request.matched_route y request.matchdict lugar.
  • Ya no es posible pasar un diccionario entorno directamente a pyramid.traversal.ResourceTreeTraverser .__ call__ (aka ModelGraphTraverser .__ call__). En su lugar, debe pasar un objeto de solicitud. Pasando un entorno en lugar de una solicitud ha generado una advertencia de desaprobación desde Pirámide 1.1.
  • Pirámide ya no funcionará correctamente si utiliza el webob.request.LegacyRequest como una fábrica de solicitud. Las instancias de la clase LegacyRequest tienen un request.path_info que devuelven una cadena. Este comunicado Pirámide asume que request.path_info se incondicionalmente ser Unicode.
  • Las funciones de pyramid.chameleon_zpt y pyramid.chameleon_text llamado get_renderer, get_template, render_template y render_template_to_response se han eliminado. Estos han emitido una advertencia de desaprobación sobre la importación desde Pirámide 1.0. Utilice pyramid.renderers.get_renderer (), pyramid.renderers.get_renderer (). Aplicación (), pyramid.renderers.render () o pyramid.renderers.render_to_response respectivamente, en lugar de estas funciones.
  • El módulo pyramid.configuration fue removido. Se había quedado en desuso desde Pirámide 1.0 e impresa una advertencia desaprobación de su uso. Utilice pyramid.config lugar.
  • La API pyramid.paster.PyramidTemplate fue removido. Se había quedado en desuso desde Pirámide 1,1 y emitió una advertencia en la importación. Si su código dependía de esta, ajuste su código para importar pyramid.scaffolds.PyramidTemplate lugar.

  • Se retiró
  • Las pyramid.settings.get_settings () API. Había estado imprimiendo una advertencia desaprobación desde Pirámide 1.0. Si su código dependía de esta API, utilice pyramid.threadlocal.get_current_registry (). Ajustes de lugar o utilizar el atributo de configuración del registro disponible en la solicitud (request.registry.settings).
  • se retiraron Estas API del módulo pyramid.testing. Ellos han estado imprimiendo advertencias deprecation desde Pirámide 1.0:
  • registerDummySecurityPolicy, utilice pyramid.config.Configurator.testing_securitypolicy lugar.
  • registerResources (aka registerModels, utilizan pyramid.config.Configurator.testing_resources lugar.
  • registerEventListener, utilice pyramid.config.Configurator.testing_add_subscriber lugar.
  • registerTemplateRenderer (aka registerDummyRenderer`), utilice pyramid.config.Configurator.testing_add_template lugar.
  • registerView, utilice pyramid.config.Configurator.add_view lugar.
  • registerUtility, utilice pyramid.config.Configurator.registry.registerUtility lugar.
  • registerAdapter, utilice pyramid.config.Configurator.registry.registerAdapter lugar.
  • registerSubscriber, utilice pyramid.config.Configurator.add_subscriber lugar.
  • registerRoute, utilice pyramid.config.Configurator.add_route lugar.
  • registerSettings, uso pyramid.config.Configurator.add_settings lugar.
  • En Pirámide 1.3 y el anterior, el método __call__ de un objeto Respuesta fue invocado antes fueron ejecutadas las devoluciones de llamada terminados. A partir de esta versión, el método __call__ de un objeto Response se invoca después se ejecutan callbacks terminados. Esto está en apoyo de la función de request.invoke_subrequest.
  • Documentación:
  • Agregado un & quot; Actualizar Pirámide & quot; capítulo de la documentación narrativa. En él se describe cómo hacer frente a deprecations y de la absorción de las API de las Pirámides y la forma de mostrar los avisos de obsolescencia generados Pirámide mientras realiza las pruebas y mientras se ejecuta el servidor.
  • Se ha añadido una & quot; La invocación de un Subrequest & quot; capítulo a la documentación. En él se describe cómo utilizar la nueva API request.invoke_subrequest.
  • Dependencias:
  • Pirámide ahora requiere WebOb 1.2b3 + (la versión anterior de la pirámide sólo se basó en 1.2dev +). Esto es para asegurar que se obtiene una versión de WebOb que devuelve request.path_info como texto.

¿Cuál es nuevo en la versión 1.3.2:

  • La versión 1.3.1 fue una liberación Brownbag, en menos en Windows y posiblemente en otros sistemas operativos, debido a la existencia de un perro callejero & quot; directorio de paquetes (cita incluido) en el directorio raíz del 1.3.1 tarball. Este directorio y su contenido estaba presente porque el tarball se ha creado usando una versión comercial de setuptools-git en lugar de un setuptools-git instalado de una caja. El único cambio en este comunicado es para corregir el error de empaquetado en 1.3.1.

¿Cuál es nuevo en la versión 1.3:

  • Cuando pyramid.wsgi.wsgiapp2 llama la aplicación WSGI aguas abajo, entorno de la aplicación ya no tendrá (en desuso y potencialmente engañosa) bfg.routes.matchdict o bfg.routes.route llaves puestas. Un síntoma de este error sería una aplicación Pirámide wsgiapp2 envuelto encontrar el punto de vista equivocado, ya que detecta erróneamente que una ruta se emparejó cuando, en realidad, no lo era.
  • La solución a problema https://github.com/Pylons/pyramid/issues/461 (que hizo posible los métodos de instancia que se utilizarán como ver callables para) introdujo una incompatibilidad hacia atrás cuando los métodos que declararon sólo un argumento solicitud fuera se utiliza. Ver https://github.com/Pylons/pyramid/issues/503

¿Cuál es nuevo en la versión 1.3 Beta 2:

  • El método es pyramid.request.Request.partial_application_url ya no en la documentación de la API. Se suponía que debía ser un método privado; su publicación en la documentación como un método de API fue un error, y se ha cambiado el nombre a algo privado.
  • Cuando una visión estática se diseñó una ruta de sistema de archivos absoluta en Windows, la función request.static_url no funcionó para generar URLs a sus recursos. Síntoma: & quot; No estática definición URL coincidente c:. Foobarbaz & quot;
  • Haga todas las pruebas pasan en Windows XP.
  • Error en la autenticación ACL comprobando en Python 3: los permisos y principals_allowed_by_permission método de pyramid.authorization.ACLAuthenticationPolicy podría devolver un valor True inapropiada cuando un permiso en una ACL es una cadena en lugar de una secuencia, y sólo si el permiso de ACL cuerdas era una subcadena del valor de permiso pasado a la función.
  • Este error efectos no despliegue Pirámide bajo Python 2; es un error que sólo existe en las implementaciones que se ejecuta en Python 3. Ha existido desde Pirámide 1.3a1.
  • Este error se debió a la presencia de un atributo __iter__ en cadenas menores de Python 3 que no está presente bajo las cadenas en Python 2.

¿Qué hay de nuevo en la versión 1.3 Beta 1:

  • Corrección de errores:
  • pyramid.config.Configurator.with_package no funciona si el Configurador era un estilo antiguo ejemplo pyramid.configuration.Configurator.
  • políticas de autorización Pirámide no se presentaron en el introspector.
  • Deprecations:
  • Todas las referencias a la variable de petición tmpl_context fueron retirados de la documentación. Su existencia en Pyramid es confuso para la gente que nunca fueron pilones usuarios. Se añade como una conveniencia para los usuarios portar Pilones en Pirámide 1.0, pero nunca se puso de porque el sistema de representación Pirámide es muy diferente de los Pilones 'era, y existen formas alternativas para hacer lo que fue diseñado para ofrecer en los Pilones. Se seguirá existiendo & quot; para siempre & quot; pero no se recomienda ni se menciona en la documentación.

Requisitos :

  • Python

Otro software de desarrollador Chris McDonough

Waitress
Waitress

14 Apr 15

pyramid_viewgroup
pyramid_viewgroup

15 Apr 15

pyramid_zcml
pyramid_zcml

15 Apr 15

Comentarios a la pyramid

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!