pyramid

Logiciel capture d'écran:
pyramid
Détails logiciels:
Version: 1.4.2
Date de transfert: 20 Feb 15
Développeur: Chris McDonough
Licence: Gratuit
Popularité: 1

Rating: nan/5 (Total Votes: 0)

pyramide est un rapide, petit, terre-à-terre, cadre de développement web en Python open source. & Nbsp; Il rend le monde réel développement d'applications web et le déploiement plus de plaisir, plus prévisible et plus productif.
pyramide est un projet Pylons, et sous-tend les cadres récents web produites par la communauté Pylônes.
pyramide a été précédemment connu comme repoze.bfg.
Aide et documentation
Voir le site Pylônes projet pour afficher la documentation, signaler des bogues, et obtenir un soutien.
Licence
pyramide est offert dans le cadre du BSD Licence Repoze publique

Quoi de neuf dans cette version:.

  • mako_templating: ajoutée défensive Solution de contournement pour non-importability du mako en raison de markupsafe amont tomber Python 3.2 soutien. Mako gabarits ne fonctionnera plus sous la combinaison de MarkupSafe 0,17 et Python 3.2 (bien que la combinaison de MarkupSafe 0,17 et Python 3.3 ou toute version prise en charge Python 2 travailleront OK).
  • Faire les pyramid.config.assets.PackageOverrides objet de mettre en œuvre l'API pour __loader__ objets spécifiés dans PEP 302. Les procurations à l'__loader__ fixé par l'importateur, le cas échéant; sinon, soulève NotImplementedError. Cela rend Pyramid vue statique remplacements fonctionnent correctement sous Python 3.3 (auparavant, ils ne serait pas). Voir https://github.com/Pylons/pyramid/pull/1015 pour plus d'informations.

Ce qui est nouveau dans la version 1.4:

  • Correction des tests fonctionnels dans le tutoriel ZODB

Quoi de neuf dans la version 1.4 Beta 3:

  • Emballage de presse seulement, pas de changements de code. 1.4b2 était une libération Causerie en raison de répertoires manquant dans l'archive.

Ce qui est nouveau dans la version 1.3.4:

  • Lorsque pyramid.debug_routematch a été allumé et la traverse jacente a été utilisé dans ne importe quelle voie, le routeur lever une exception en essayant d'imprimer les informations de débogage itinéraire. Ce bogue a existé depuis 1.3a1.
  • Lorsque le prédicat traversée a été utilisé dans ne importe quelle voie, proutes et pviews scripts de la console seraient lever une exception en essayant d'imprimer les informations d'itinéraire de débogage. Ce bogue a existé depuis 1.3a1.
  • Backport correction d'un bug de maître: - Dans Mako Modèles recherche, vérifiez uri absolue (en utilisant répertoires mako) lorsque le mélange jusqu'à l'héritage avec les spécifications d'actifs. https://github.com/Pylons/pyramid/issues/662
  • Lors de l'enregistrement de plusieurs vues avec un prédicat accepter dans une application Pyramide runing sous Python 3, vous pourriez avoir reçu un TypeError: types unorderable: function () & lt; function () exception.
  • Backport de maître: HTTP Accept-têtes ne étaient pas normalisées provoquant contradictoires vue inscriptions de passer inaperçu potentiellement. Deux points de vue qui ne diffèrent que dans le cas ('text / html' vs. 'text / html') va maintenant faire une erreur. https://github.com/Pylons/pyramid/pull/620

Ce qui est nouveau dans la version 1.4 Alpha 1:

  • Correction de bugs:
  • Port avant de branche 1.3: En l'absence de politique d'authentification a été configuré, un appel à pyramid.security.effective_principals serait inconditionnellement retourner la liste vide. Ce était erronée, il devrait avoir inconditionnellement retourné [Tout le monde], et le fait maintenant.

  • regexes
  • Explicit url expédition peuvent maintenant contenir deux points. https://github.com/Pylons/pyramid/issues/629
  • Sur au moins un 64 bits système Ubuntu sous Python 3.2, en utilisant le décorateur view_config provoqué une RuntimeError: dictionnaire a changé de taille lors de l'itération exception. Il ne fait plus. Voir https://github.com/Pylons/pyramid/issues/635 pour plus d'informations.
  • Dans Mako Modèles recherche, vérifier si l'URI est déjà réglé et le ramener à une spécification d'actifs. Se produit normalement avec des modèles hérités ou composants inclus. https://github.com/Pylons/pyramid/issues/606 https://github.com/Pylons/pyramid/issues/607
  • Dans Mako Modèles recherche, vérifiez uri absolue (en utilisant des répertoires de mako) lorsque le mélange jusqu'à l'héritage avec les spécifications d'actifs. https://github.com/Pylons/pyramid/issues/662
  • HTTP Accept-têtes ne étaient pas normalisées provoquant contradictoires vue inscriptions de passer inaperçu potentiellement. Deux points de vue qui ne diffèrent que dans le cas ('text / html' vs. 'text / html') va maintenant faire une erreur. https://github.com/Pylons/pyramid/pull/620
  • Forward-Port de branche 1.3: lors de l'enregistrement des vues multiples avec un prédicat accepter dans une application Pyramide runing sous Python 3, vous pourriez avoir reçu un TypeError: types unorderable: function () & lt; function () exception.
  • Caractéristiques:
  • Configurator.add_directive accepte désormais callables arbitraires comme partiels ou des objets d'exécution __call__ qui ne avez pas __name__ et __doc__ attributs. Voir https://github.com/Pylons/pyramid/issues/621 et https://github.com/Pylons/pyramid/pull/647.

  • Prédicats
  • affichage personnalisé tiers, itinéraire et abonnés peuvent maintenant être ajoutés à l'usage des auteurs vue via pyramid.config.Configurator.add_view_predicate, pyramid.config.Configurator.add_route_predicate et pyramid.config.Configurator.add_subscriber_predicate. Ainsi, par exemple, en faisant cela:
  • config.add_view_predicate ('abc', my.package.ABCPredicate)
  • pourrait permettre une vue auteur de le faire dans une application qui configuré que prédicat:
  • view_config (abc = 1)
  • caractéristiques similaires existent pour add_route et add_subscriber. Voir & quot; Ajout d'une Vue Tiers, Route, ou abonné prédicat & quot; dans le chapitre Crochets pour plus d'informations.
  • Notez que les modifications apportées pour soutenir la fonction ci-dessus signifie désormais que seules les actions enregistrées en utilisant le même & quot; pour & quot; peuvent entrer en conflit avec un autre. Il sert à être le cas que les actions enregistrées à différents ordres pourrait conflit, mais à ma connaissance, rien ne jamais dépendu de ce comportement (ce était un peu stupide).

  • Objets
  • personnalisés peuvent être réalisés facilement JSON-sérialisable à Pyramid en définissant une méthode de __json__ sur la classe de l'objet. Cette méthode devrait retourner les valeurs nativement sérialisables par json.dumps (comme ints, listes, dictionnaires, cordes, etc.).
  • Le rendu de JSON permet maintenant à la définition des adaptateurs de type personnalisé pour convertir des objets inconnus sérialisations JSON.
  • partir de cette version, le prédicat de REQUEST_METHOD, lorsqu'il est utilisé, impliquera aussi que HEAD est implicite lorsque vous utilisez GET. Par exemple, en utilisantview_config (REQUEST_METHOD = 'GET') est équivalent à l'utilisationview_config (REQUEST_METHOD = ('GET', 'tête')). Utilisationview_config (REQUEST_METHOD = ('GET', 'POST') est équivalent à l'utilisationview_config (REQUEST_METHOD = ('GET', 'tête', 'POST'). Ce est parce que HEAD est une variante de GET qui omet la corps, et WebOb a un soutien particulier pour retourner un corps vide lorsqu'une tête est utilisé.
  • config.add_request_method a été introduit pour soutenir étendant objets de requête avec callables arbitraires. Cette méthode se développe sur le config.set_request_property précédente par des méthodes de soutien ainsi que des propriétés. Cette méthode provoque désormais moins de code à exécuter à la demande le temps de construction de config.set_request_property dans la version 1.3.
  • Ne pas ajouter un? à des URL générées par request.resource_url si l'argument de requête est fourni, mais vide.
  • Ne pas ajouter un? à des URL générées par request.route_url si l'argument _query est fourni, mais vide.
  • Le point de vue statique des machines soulève maintenant (plutôt que des rendements) HTTPNotFound et HTTPMovedPermanently exceptions près, afin qu'elles puissent être pris par la vue de NotFound (et d'autres vues d'exception).
  • Le rendu Mako prend désormais en charge un nom de def dans un spec d'actifs. Lorsque le nom de def est présent dans la spécification de l'actif, le système rendra la def de modèle dans le modèle et sera de retour le résultat. Une spec exemple d'actifs est le paquet: path / to / template # defname.mako. Ceci rendra l'defname def nommé à l'intérieur du modèle de template.mako au lieu de rendre l'ensemble du modèle. L'ancienne façon de retourner un tuple dans la forme («defname ', {}) de la vue est pris en charge pour la compatibilité ascendante,
  • Le rendu Chameleon ZPT accepte désormais un nom de macro dans un spec d'actifs. Lorsque le nom de la macro est présent dans la spécification de l'actif, le système rend la macro répertorié comme un macro-définir et renvoie le résultat au lieu de rendre l'ensemble du modèle. Une spec exemple d'actifs: paquet: path / to / template # macroname.pt. Ceci rendra la macro définie comme macroname dans le modèle de template.pt au lieu de tout templae.
  • Quand il ya une exception prédicat de décalage (vu lorsqu'aucune vue ne correspond pour une requête donnée en raison de prédicats qui ne travaillent pas), l'exception contient désormais une description textuelle du prédicat qui ne correspondait pas.
  • Une méthode de directive add_permission a été ajouté au configurateur. Cette directive enregistre une autorisation introspecter autonome dans le système d'introspection Pyramide. Cadres intégrés sommet pyramide peuvent ainsi utiliser les autorisations introspecter les données de catégorie pour construire une liste complète des autorisations prises en charge par un système de roulement. Avant cette méthode a été ajouté, les autorisations étaient déjà inscrits dans cette catégorie introspecter comme un effet secondaire de les nommer dans un appel add_view, cette méthode rend juste possible d'organiser pour une autorisation de mise dans les autorisations catégorie introspecter sans le nommer avec une vue associée. Voici un exemple d'utilisation de add_permission:
  • config = Configurator ()
  • config.add_permission ('view')
  • Le UnencryptedCookieSessionFactoryConfig accepte désormais signed_serialize et signed_deserialize crochets qui peuvent être utilisés pour influencer la façon dont les sessions sont marshalé (par défaut, ce est fait avec HMAC + cornichon).
  • pyramid.testing.DummyRequest prend désormais en charge les méthodes fournies par la classe pyramid.util.InstancePropertyMixin tels que set_property.
  • Demander propriétés et méthodes ajoutées via config.set_request_property ou config.add_request_method sont maintenant disponibles pour les préadolescents.
  • Demander propriétés et méthodes ajoutées via config.set_request_property ou config.add_request_method sont maintenant disponibles dans l'objet de requête retour de pyramid.paster.bootstrap.
  • request.context de la demande de l'environnement lors de bootstrap est maintenant l'objet racine si un contexte ne est pas déjà installé sur une demande prévue.
  • La fonction pyramid.decorator.reify est maintenant une API, et a été ajouté à la documentation de l'API.
  • Ajouté le gestionnaire de contexte pyramid.testing.testConfig, qui peut être utilisé pour générer un configurateur dans un essai, par exemple, avec testing.testConfig (...):.
  • Les utilisateurs peuvent maintenant invoquer une sous-requête au sein de vue du code en utilisant une nouvelle API de request.invoke_subrequest.
  • Désapprobations:
  • Le pyramid.config.Configurator.set_request_property documentation a été désapprouvé. La méthode reste utilisable, mais l'pyramid.config.Configurator.add_request_method propose plus de possibilités devrait être utilisé à sa place (il a tous les mêmes capacités, mais peut aussi se étendre l'objet de la demande avec des méthodes).
  • Rétro Incompatibilités:
  • Le routeur Pyramide ne ajoute plus les valeurs bfg.routes.route ou bfg.routes.matchdict à l'environnement WSGI le dictionnaire de la demande. Ces valeurs étaient docs-désapprouvées dans repoze.bfg 1,0 (efficacement sept versions mineures il ya). Si votre code dépend de ces valeurs, utilisez request.matched_route et request.matchdict place.
  • Il ne est plus possible de passer un dictionnaire directement à pyramid.traversal.ResourceTreeTraverser environnement de la call__ (aka ModelGraphTraverser .__ call__). Au lieu de cela, vous devez passer un objet de requête. Le passage d'un environnement à la place d'une demande a généré un avertissement de dépréciation depuis Pyramide 1.1.
  • Pyramide ne sera plus fonctionner correctement si vous utilisez le webob.request.LegacyRequest comme une usine de demande. Les instances de la classe LegacyRequest ont une request.path_info qui retourne une chaîne. Cette version Pyramide suppose que request.path_info seront inconditionnellement être Unicode.
  • Les fonctions de pyramid.chameleon_zpt et pyramid.chameleon_text nommé get_renderer, get_template, render_template, et render_template_to_response ont été supprimés. Celles-ci ont émis un avertissement de dépréciation lors de l'importation depuis Pyramide 1.0. Utilisation pyramid.renderers.get_renderer (), pyramid.renderers.get_renderer (). Mise en oeuvre (), pyramid.renderers.render () ou pyramid.renderers.render_to_response respectivement à la place de ces fonctions.
  • Le module de pyramid.configuration a été retiré. Il avait été dépréciée depuis la Pyramide 1,0 et imprimé un avertissement de dépréciation de son utilisation. Utilisez pyramid.config place.
  • L'API pyramid.paster.PyramidTemplate a été retiré. Il avait été dépréciée depuis la Pyramide 1.1 et émis un avertissement à l'importation. Si votre code dépend de cela, ajustez votre code pour importer pyramid.scaffolds.PyramidTemplate place.
  • Les pyramid.settings.get_settings () API a été retiré. Il avait été imprime un avertissement de dépréciation depuis Pyramide 1.0. Si votre code dépend de cette API, utilisez pyramid.threadlocal.get_current_registry (). Paramètres place ou utiliser l'attribut des paramètres du registre disponible à partir de la demande (request.registry.settings).
  • Ces API du module de pyramid.testing ont été retirés. Ils ont été impriment avertissements de désapprobation depuis Pyramide 1.0:
  • registerDummySecurityPolicy, utiliser pyramid.config.Configurator.testing_securitypolicy place.
  • registerResources (aka registerModels, utilisent pyramid.config.Configurator.testing_resources place.
  • registerEventListener, utiliser pyramid.config.Configurator.testing_add_subscriber place.
  • registerTemplateRenderer (aka registerDummyRenderer`), utiliser pyramid.config.Configurator.testing_add_template place.
  • registerView, utiliser pyramid.config.Configurator.add_view place.
  • registerUtility, utiliser pyramid.config.Configurator.registry.registerUtility place.
  • registerAdapter, utiliser pyramid.config.Configurator.registry.registerAdapter place.
  • registerSubscriber, utiliser pyramid.config.Configurator.add_subscriber place.
  • registerRoute, utilisez pyramid.config.Configurator.add_route place.
  • registerSettings, utilisation pyramid.config.Configurator.add_settings place.
  • Dans Pyramide 1.3 et précédente, la méthode __call__ d'un objet de réponse a été appelée avant tout rappels finis ont été exécutés. Partir de cette version, la méthode __call__ d'un objet de réponse est invoquée après les rappels finis sont exécutés. Ce est à l'appui de la fonction request.invoke_subrequest.
  • Documentation:
  • Ajout d'une & quot; Mise à niveau Pyramid & quot; chapitre à la documentation narrative. Il décrit comment faire face à deprecations et absorptions de Pyramid API et comment afficher les avertissements relatifs à l'obsolescence Pyramide générés lors de l'exécution des tests et lors de l'exécution d'un serveur.
  • Ajout d'un & quot; Invoquer une SubRequest & quot; chapitre à la documentation. Il décrit comment utiliser la nouvelle API de request.invoke_subrequest.
  • Dépendances:
  • Pyramide exige maintenant WebOb 1.2b3 + (la libération Pyramide préalable uniquement appuyé sur 1.2dev +). Ce est pour se assurer que nous obtenons une version de WebOb qui renvoie request.path_info sous forme de texte.

Quoi de neuf dans la version 1.3.2:

  • Version 1.3.1 est une version de Causerie, au tout le moins sur Windows et, éventuellement, sur d'autres systèmes d'exploitation, en raison de l'existence d'un parasite & quot; répertoire du paquet (devis inclus) dans le répertoire racine de l'archive 1.3.1. Ce répertoire et son contenu était présent parce que l'archive a été créé en utilisant une version de setuptools-git plutôt qu'un setuptools-git installé à partir d'une caisse. Le seul changement dans cette version est de corriger l'erreur d'emballage 1.3.1.

Quoi de neuf dans la version 1.3:

  • Lorsque pyramid.wsgi.wsgiapp2 appelle l'application WSGI aval, l'environnement de l'application ne aura plus (obsolète et potentiellement trompeuse) bfg.routes.matchdict ou bfg.routes.route clés en elle. Un symptôme de ce bug serait une application Pyramide wsgiapp2 gainé de trouver le point de vue erroné car il détecte à tort qu'une route a été trouvée quand, en fait, ce ne était pas.
  • Le correctif de question https://github.com/Pylons/pyramid/issues/461 (qui a permis à des méthodes d'instance à utiliser comme vue callables) a introduit une incompatibilité arrière lorsque les méthodes qui ont déclaré que l'argument de la demande étaient utilisé. Voir https://github.com/Pylons/pyramid/issues/503

Quoi de neuf dans la version 1.3 Beta 2:

  • La méthode est pyramid.request.Request.partial_application_url ne est plus dans la documentation de l'API. Il était censé être une méthode privée; sa publication dans la documentation comme une méthode d'API était une erreur, et il a été renommé en quelque chose de privé.
  • Quand une vue statique a été enregistrée en utilisant un chemin de système de fichiers absolue sur Windows, la fonction de request.static_url n'a pas fonctionné pour générer des URL à ses ressources. Symptôme: & quot; Pas de définition statique URL correspondant c:. Foobarbaz & quot;
  • Faire passer tous les tests sous Windows XP.
  • Bug dans l'authentification ACL contrôle sur Python 3: le permis et principals_allowed_by_permission méthode d'pyramid.authorization.ACLAuthenticationPolicy pourrait retourner une valeur Vrai inappropriée quand une autorisation sur une ACL était une chaîne plutôt que d'une séquence, et seulement si la permission ACL chaîne était une chaîne de la valeur de la permission passée à la fonction.
  • Ce bug effets pas de déploiement de Pyramid sous Python 2; ce est un bug qui ne existe que dans les déploiements en cours d'exécution sur Python 3. Il existe depuis Pyramide 1.3a1.
  • Ce bug était dû à la présence d'un attribut __iter__ sur les chaînes de moins de Python 3, qui ne est pas présent dans les chaînes en Python 2.

Ce qui est nouveau dans la version 1.3 Beta 1:

  • Correction de bugs:
  • pyramid.config.Configurator.with_package ne fonctionne pas si le Configurateur était un vieux style instance pyramid.configuration.Configurator.
  • les politiques d'autorisation de Pyramide ne se présentent pas dans le introspecteur.
  • Désapprobations:
  • Toutes les références à la variable de demande de tmpl_context ont été retirés des docs. Son existence à Pyramid est source de confusion pour les personnes qui ne ont jamais été pylônes utilisateurs. Il a été ajouté comme une commodité pour les utilisateurs portage Pylônes à Pyramid 1.0, mais il n'a jamais pris parce que le système de rendu pyramide est très différent de Pylônes 'était, et d'autres moyens existent pour faire ce qu'il a été conçu pour offrir en Pylônes. Il continuera d'exister & quot; jamais & quot; mais il ne sera pas recommandé ou mentionné dans la documentation.

Exigences :

  • Python

D'autres logiciels de développeur Chris McDonough

Supervisor
Supervisor

20 Feb 15

pyramid_zcml
pyramid_zcml

15 Apr 15

Waitress
Waitress

14 Apr 15

Commentaires à pyramid

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!