pyramid

Screenshot Software:
pyramid
Detalii soft:
Versiune: 1.4.2
Incarca data: 20 Feb 15
Producător: Chris McDonough
Licenţă: Gratuit
Popularitate: 1

Rating: nan/5 (Total Votes: 0)

piramida este un rapid, mic, cu picioarele pe pământ, open source cadru de dezvoltare Python web. & Nbsp; Se face dezvoltare de aplicatii web din lumea reală și implementare mai distractiv, mai previzibil, și mai productiv.
piramidă este un proiect Piloni, și stă la baza cele mai noi cadrele web produse de către comunitatea Piloni.
piramidă a fost cunoscut anterior ca repoze.bfg.
Suport și Documentație
Vezi site-ul Piloni de proiect pentru a vedea documentare, raport bug-uri, și de a obține sprijin.
Licență
piramidă este oferit sub-BSD License derivat Repoze Publice

Ce este nou în această versiune:.

  • mako_templating: adăugat defensivă soluție alternativă pentru non-importability a Mako din cauza markupsafe amonte scadere Python 3.2 de sprijin. Mako templating nu va mai lucra sub o combinație de MarkupSafe 0,17 și Python 3.2 (deși combinația de MarkupSafe 0,17 și Python 3.3 sau orice versiune suportată Python 2 va functiona OK).
  • Faceți pyramid.config.assets.PackageOverrides opoziție punerea în aplicare a API pentru __loader__ obiecte menționate la PEP 302. Proxy pentru __loader__ stabilit de importator, dacă este prezent; în caz contrar, ridică NotImplementedError. Acest lucru face Pyramid vedere static suprascrie funcționeze corect în Python 3.3 (anterior, acestea nu ar fi). Vezi https://github.com/Pylons/pyramid/pull/1015 pentru mai multe informații.

Ce este nou în versiunea 1.4:

  • Fix teste de funcționare în tutorial ZODB

Ce este nou în versiunea 1.4 Beta 3:

  • eliberare de ambalaj numai, nici o modificare de cod. 1.4b2 a fost o eliberare brownbag cauza lipsei directoare în arhiva.

Ce este nou în versiunea 1.3.4:

  • Când pyramid.debug_routematch a fost pornit și traverse predicat a fost utilizat în orice rută, router-ul ar ridica o excepție atunci când încearcă pentru a imprima informațiile traseu de depanare. Acest bug a existat din 1.3a1.
  • Când predicatul avans a fost utilizat în orice rută, proutes și pviews script-uri de consolă ar ridica o excepție atunci când încearcă pentru a imprima informațiile traseu de depanare. Acest bug a existat din 1.3a1.
  • Backport bug fix de la maestru: - În Mako Șabloane căutare, verificați-uri absolut (folosind directoare Mako), atunci când se amestecă până moștenire cu specificatiile de active. https://github.com/Pylons/pyramid/issues/662
  • La înregistrarea mai multor opinii cu un predicat accepta într-o aplicație Pyramid circuland sub Python 3, este posibil să fi primit un TypeError: tipuri de unorderable: function () & lt; Funcția () excepție.
  • Backport de la maestru: HTTP Accept antetele nu au fost normalizat provocând potențial conflict vedere din înregistrări pentru a merge neobservat. Două puncte de vedere care diferă numai în cazul în care ("text / html" Raport "text / HTML") va ridica acum o eroare. https://github.com/Pylons/pyramid/pull/620

Ce este nou în versiunea 1.4 Alpha 1:

  • fix Bug-uri:
  • Port Forward de la 1,3 ramură: Când nu există o politică autentificare a fost configurat, un apel la pyramid.security.effective_principals va reveni necondiționat lista de gol. Acest lucru a fost incorect, ar trebui să aibă necondiționat întors [Jucătorii], și acum nu.

  • regexes
  • expediere url explicită poate conține acum două puncte. https://github.com/Pylons/pyramid/issues/629
  • Pe cel puțin un 64-bit sistem Ubuntu în Python 3.2, folosind decorator view_config a provocat o RuntimeError: dicționar schimbat harta în timpul repetare excepție. Nu mai face. Vezi https://github.com/Pylons/pyramid/issues/635 pentru mai multe informații.
  • În Mako Șabloane căutare, verificați dacă URI este deja reglat și aduceți-l înapoi la un spec activ. În mod normal, apare cu template-uri moștenite sau componente incluse. https://github.com/Pylons/pyramid/issues/606 https://github.com/Pylons/pyramid/issues/607
  • În Mako Șabloane căutare, verificați-uri absolut (folosind directoare Mako), atunci când se amestecă până moștenire cu specificatiile de active. https://github.com/Pylons/pyramid/issues/662
  • HTTP Accept antete nu au fost normalizat provocând potențial conflict vedere din înregistrări pentru a merge neobservat. Două puncte de vedere care diferă numai în cazul în care ("text / html" Raport "text / HTML") va ridica acum o eroare. https://github.com/Pylons/pyramid/pull/620
  • Redirecționare port de la 1,3 ramură: atunci când înregistrarea mai multe opinii cu un accepta predicat într-o aplicație Pyramid circuland sub Python 3, este posibil să fi primit un TypeError: tipuri de unorderable: function () & lt; Funcția () excepție.
  • Caracteristici:
  • Configurator.add_directive accepta acum callables arbitrare, cum ar fi parțiale sau obiecte de punere în aplicare __call__ care au dont __name__ și __doc__ atribute. Vezi https://github.com/Pylons/pyramid/issues/621 și https://github.com/Pylons/pyramid/pull/647.

  • Predicate
  • vedere din personalizat terți, traseu, iar abonatul poate fi acum adaugata pentru utilizarea de către vezi autori prin pyramid.config.Configurator.add_view_predicate, pyramid.config.Configurator.add_route_predicate și pyramid.config.Configurator.add_subscriber_predicate. Astfel, de exemplu, face acest lucru:
  • config.add_view_predicate ("ABC", my.package.ABCPredicate)
  • S-ar putea permite o vedere autor pentru a face acest lucru într-o aplicație care configurat ca predicat:
  • view_config (abc = 1)
  • funcții similare există pentru add_route, și add_subscriber. Vezi & quot; Adăugarea unui Vezi terță parte, Route, sau abonat predicatelor & quot; în capitolul Carlige pentru mai multe informații.
  • Rețineți că modificările aduse acceptă funcția de mai sus înseamnă că acum numai acțiunile înregistrat utilizând același & quot; ordinul & quot; poate intra în conflict cu altele. Este folosit pentru a fi cazul că acțiunile înregistrate la diferite ordine ar putea conflict, ci pentru a-mi nimic cunoștințe depins vreodată pe acest comportament (a fost un pic prostesc).

  • Obiecte
  • personalizate pot fi făcute cu ușurință JSON-serializabile în Pyramid prin definirea unei metode __json__ de clasa obiectului. Această metodă ar trebui să se întoarcă valori nativ serializabile de json.dumps (cum ar fi int, liste, dicționare, siruri de caractere, și așa mai departe).
  • JSON redare permite acum pentru definirea adaptoare de tip personalizat pentru a converti obiectele necunoscute serializations JSON.
  • Din acest comunicat, predicatul request_method, atunci când este folosit, va implica, de asemenea, că HEAD este implicat atunci când utilizați GET. De exemplu, folosindview_config (request_method = 'GET ") este echivalentă cu utilizareaview_config (request_method = (" GET "," HEAD ")). Utilizareaview_config (request_method = ("GET", "POST") este echivalentă cu utilizareaview_config (request_method = ("GET", "șeful", "POST"). Acest lucru se datorează faptului că HEAD este o variantă de GET că omite corp, iar WebOb are suport special pentru a reveni un corp gol atunci când se utilizează un cap.
  • config.add_request_method a fost introdus pentru a sprijini extind obiecte cerere callables arbitrare. Această metodă se extinde pe config.set_request_property anterior prin metode de sprijin, precum și proprietăți. Această metodă determină acum mai puțin de cod care urmează să fie executate la cerere timpul de construcție decât config.set_request_property în versiunea 1.3.
  • Nu adaugati un? pentru URL-uri generate de request.resource_url dacă argumentul de interogare este oferit, dar gol.
  • Nu adaugati un? pentru URL-uri generate de request.route_url dacă argumentul _query este prevăzut, dar gol.
  • vedere static masinile si utilajele acum ridică (mai degrabă decât se întoarce) HTTPNotFound și HTTPMovedPermanently excepții, astfel încât acestea pot fi prinse de părere Not Found (și alte vederi excepție).
  • redare Mako suportă acum un nume def într-un spec activ. Când numele def este prezent în spec active, sistemul va face DEF șablon în șablon și se va întoarce rezultatul. Un exemplu spec activ este pachet: cale / a / template # defname.mako. Acest lucru va face ca defname def numit în interiorul modelului template.mako în loc de funcționarea întregului șablon. Vechiul mod de a se întoarce un tuplu în formă ("defname", {}), din punctul de vedere este susținut de compatibilitate,
  • redare Chameleon ZPT acceptă acum un nume macro într-un spec activ. Când numele macro este prezent în spec active, sistemul va face macro enumerate ca o defini macro-și reveni rezultatul în loc de funcționarea întregului șablon. Un exemplu spec activ: pachet: calea / catre / template # macroname.pt. Acest lucru va face macro definit ca macroname în modelul template.pt în loc de întregul templae.
  • Atunci când există o excepție predicat asimetrie (văzut atunci când nu se potrivește vedere pentru o anumită cerere din cauza predicate care nu lucrează), excepția conține acum o descriere textuală a predicatului care nu se potrivesc.
  • O metodă directivă add_permission fost adaugat in Configurator. Această directivă înregistrează o permisiune introspectable de sine stătător în sistemul introspecție Pyramid. Cadrele construit deasupra Pyramid pot folosi astfel permisiunile datele categoria introspectable pentru a construi o listă cuprinzătoare de permisiuni susținute de un sistem de rulare. Înainte de a adăugat această metodă, permisiuni au fost deja înregistrate în această categorie introspectable ca un efect secundar de a le numi într-un apel add_view, această metodă doar face posibilă de a asigura o permisiunea de a fi puse în permisiunile categorie introspectable fără numind-o, împreună cu o vedere asociat. Iată un exemplu de utilizare a add_permission:
  • config = Configurator ()
  • config.add_permission ("vedere")
  • UnencryptedCookieSessionFactoryConfig acceptă acum signed_serialize și signed_deserialize cârlige care pot fi utilizate pentru a influența modul în care sunt adunate sesiunile (implicit acest lucru se face cu HMAC + marinate).
  • pyramid.testing.DummyRequest suportă acum metodele furnizate de clasa pyramid.util.InstancePropertyMixin, cum ar fi set_property.
  • proprietăți cerere și metode adăugate prin config.set_request_property sau config.add_request_method sunt acum disponibile pentru tweens.
  • proprietăți cerere și metode adăugate prin config.set_request_property sau config.add_request_method sunt acum disponibile în obiect cererea întors de la pyramid.paster.bootstrap.
  • request.context de cereri de mediu în timpul bootstrap este acum obiectul rădăcină dacă un context nu este deja setat la o cerere prevăzut.
  • Funcția pyramid.decorator.reify este acum un API, și-a adăugat la documentația API.
  • adaugarii managerul context pyramid.testing.testConfig, care poate fi folosit pentru a genera un configurator într-un test, de exemplu, cu testing.testConfig (...):.
  • Utilizatorii pot invoca acum o subrequest din cadrul vedere codul folosind un nou API request.invoke_subrequest.
  • Deprecations:
  • pyramid.config.Configurator.set_request_property a fost-documentare depreciat. Metoda rămâne utilizabil dar pyramid.config.Configurator.add_request_method mai featureful ar trebui să fie utilizat în locul acestuia (are toate aceleași capacități, dar se poate extinde, de asemenea, obiectul cererii cu metode).
  • înapoi Incompatibilitati:
  • router Piramida nu mai adaugă bfg.routes.route valori sau bfg.routes.matchdict la dicționar mediu WSGI cererea de. Aceste valori au fost docs-depreciate în repoze.bfg 1,0 (în mod eficient șapte versiuni minore în urmă). În cazul în care codul depinde de aceste valori, utilizați request.matched_route și request.matchdict loc.
  • Nu mai este posibil să se treacă un dicționar mediului direct la pyramid.traversal.ResourceTreeTraverser .__ call__ (aka ModelGraphTraverser .__ call__). În schimb, trebuie să treacă un obiect cerere. Trecerea un mediu în loc de o cerere a generat un avertisment dezaprobare de la Pyramid 1.1.
  • Pyramid nu vor mai funcționa corect dacă utilizați webob.request.LegacyRequest ca o fabrică de cerere. Cazurile de LegacyRequest clasă au o request.path_info care întoarce un șir. Această versiune Pyramid presupune că request.path_info va fi necondiționat Unicode.
  • Funcțiile din pyramid.chameleon_zpt și pyramid.chameleon_text numit get_renderer, get_template, render_template, iar render_template_to_response au fost eliminate. Acestea au emis o avertizare dezaprobare la import de la Pyramid 1.0. Utilizați pyramid.renderers.get_renderer (), pyramid.renderers.get_renderer (). Punere în aplicare (), pyramid.renderers.render () sau pyramid.renderers.render_to_response respectiv în loc de aceste funcții.
  • Modulul pyramid.configuration fost îndepărtat. Aceasta a fost depreciat de la Pyramid 1.0 și tipărit un avertisment dezaprobare de utilizarea acestuia. Folosește pyramid.config loc.
  • API pyramid.paster.PyramidTemplate a fost eliminat. Aceasta a fost depreciat de la Pyramid 1.1 și a emis un avertisment cu privire la import. În cazul în care codul depinde de acest lucru, reglați codul de import pyramid.scaffolds.PyramidTemplate loc.
  • The pyramid.settings.get_settings () API a fost îndepărtat. Aceasta a fost tipărirea unui avertisment dezaprobare de la Pyramid 1.0. În cazul în care codul depinde de acest API, utilizați pyramid.threadlocal.get_current_registry (). Setări în locul sau de a folosi atributul setări de registry disponibile de la cererea (request.registry.settings).
  • Aceste API-uri de la modulul de pyramid.testing au fost eliminate. Acestea au fost imprimarea avertismentelor dezaprobare de la Pyramid 1.0:
  • registerDummySecurityPolicy, utilizați pyramid.config.Configurator.testing_securitypolicy loc.
  • registerResources (aka registerModels, utilizați pyramid.config.Configurator.testing_resources loc.
  • registerEventListener, utilizați pyramid.config.Configurator.testing_add_subscriber loc.
  • registerTemplateRenderer (aka registerDummyRenderer`), utilizați pyramid.config.Configurator.testing_add_template loc.
  • registerView, utilizați pyramid.config.Configurator.add_view loc.
  • registerUtility, utilizați pyramid.config.Configurator.registry.registerUtility loc.
  • registerAdapter, utilizați pyramid.config.Configurator.registry.registerAdapter loc.
  • registerSubscriber, utilizați pyramid.config.Configurator.add_subscriber loc.
  • registerRoute, utilizați pyramid.config.Configurator.add_route loc.
  • registerSettings, de a folosi pyramid.config.Configurator.add_settings loc.
  • În Pyramid 1.3 și anterior, metoda __call__ a unui obiect de răspuns a fost invocată în fața oricăror callback finite au fost executați. Ca de aceasta versiune, metoda __call__ a unui obiect răspuns este invocat după callback sunt executate finite. Acest lucru este în sprijinul request.invoke_subrequest caracteristica.
  • Documentație:
  • Adaugat un & quot; Actualizarea Pyramid & quot; capitol la documentația narativ. Acesta descrie cum să facă față cu deprecations și absorbțiile de Pyramid API-uri și cum să arate avertismente dezaprobare Piramida generate în timp ce rulează teste și în timp ce rulează un server.
  • Adaugata o & quot; Invocarea un Subrequest & quot; capitol la documentația. Acesta descrie modul de utilizare a noului API request.invoke_subrequest.
  • Dependențe:
  • Pyramid cere acum WebOb 1.2b3 + (eliberarea înainte Pyramid sa bazat doar pe 1.2dev +). Acest lucru este de a asigura că vom obține o versiune de WebOb care se întoarce request.path_info ca text.

Ce este nou în versiunea 1.3.2:

  • Versiunea 1.3.1 a fost o eliberare brownbag, la cel puțin foarte pe Windows și, eventual, pe alte sisteme de operare, datorită existenței unui vagabond & quot; director pachet (quote inclus) în directorul rădăcină al arhivei 1.3.1. Acest director și conținutul său a fost prezent, deoarece arhiva a fost creat folosind o versiune de eliberare a setuptools-git, mai degrabă decât un setuptools-git instalat de o casă. Singura modificare în această versiune este de a corecta eroarea de ambalare în 1.3.1.

Ce este nou în versiunea 1.3:

  • Când pyramid.wsgi.wsgiapp2 solicită aplicația WSGI aval, mediului aplicației nu va mai avea (depreciată și potențial înșelătoare) bfg.routes.matchdict sau bfg.routes.route cheile în ea. Un simptom de acest bug ar fi o aplicație Piramida învelit-wsgiapp2 gasirea de părere greșită, deoarece detectează eronat că o rută a fost dublată atunci când, de fapt, nu a fost.
  • Fix pentru emisiune https://github.com/Pylons/pyramid/issues/461 (care a făcut posibil ca metodele de exemplu pentru a fi utilizate ca vizualizare callables) a introdus o incompatibilitate înapoi atunci când metodele care au declarat doar un argument cerere au fost folosit. Vezi https://github.com/Pylons/pyramid/issues/503

Ce este nou în versiunea 1.3 Beta 2:

  • Metoda pyramid.request.Request.partial_application_url este nu mai este în docs API. Acesta a fost menit să fie o metodă privat; publicarea în documentația ca o metodă API a fost o greșeală, și a fost redenumit la ceva privat.
  • Când o vedere static a fost înregistrat cu ajutorul unui sistem de fișiere cale absolută pe Windows, funcția request.static_url nu au de lucru pentru a genera URL-uri la resursele sale. Simptom: & quot; Nu se potrivesc definiție URL static c:. Foobarbaz & quot;
  • Asigurați toate testele treci pe Windows XP.
  • Bug în autentificare ACL control pe Python 3: permiselor și principals_allowed_by_permission metoda de pyramid.authorization.ACLAuthenticationPolicy ar putea reveni un adevărat valoare nepotrivit atunci când o permisiune pe un ACL a fost un șir mai degrabă decât o secvență, iar apoi numai în cazul în care acordul ACL șir a fost un subșir din valoarea permisiunea trecut la funcția.
  • Aceasta efecte de bug-uri nu implementare Pyramid în Python 2; aceasta este o problemă care există doar în implementările care rulează pe Python 3. a existat de la Pyramid 1.3a1.
  • Acest bug sa datorat prezenței unui atribut __iter__ pe siruri de caractere sub Python 3, care nu este prezent în șiruri în Python 2.

Ce este nou în versiunea 1.3 Beta 1:

  • fix Bug-uri:
  • pyramid.config.Configurator.with_package nu au de lucru în cazul în care Configurator a fost un stil vechi pyramid.configuration.Configurator exemplu.
  • Politicile de autorizare Piramida nu sa prezentat în introspector.
  • Deprecations:
  • Toate referirile la variabila cerere tmpl_context au fost eliminate din docs. Existența lui în Pyramid este confuz pentru cei care nu au fost niciodată piloni de utilizatori. Ea a fost adăugată ca o comoditate portare pentru utilizatorii Piloni din Pyramid 1.0, dar nu a prins pe, deoarece sistemul de randare Piramida este mult diferit de cel Piloni ", a fost, și există modalități alternative de a face ceea ce a fost proiectat pentru a oferi în Piloni. Aceasta va continua să existe & quot; pentru totdeauna & quot; dar nu va fi recomandată sau menționate în docs.

Cerințe :

  • Python

Alte software-uri de dezvoltator Chris McDonough

pyramid_handlers
pyramid_handlers

14 Apr 15

pyramid_exclog
pyramid_exclog

14 Apr 15

pyramid_ldap
pyramid_ldap

14 Apr 15

Comentarii la pyramid

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!