pyramid

Software kuvakaappaus:
pyramid
Ohjelmiston tiedot:
Versio: 1.4.2
Lähetyksen päivämäärä: 20 Feb 15
Kehittäjä: Chris McDonough
Lupa: Vapaa
Suosio: 1

Rating: nan/5 (Total Votes: 0)

pyramidi on nopea, pieni, alas-to-earth, avoimen lähdekoodin Python Web kehitysalusta. & Nbsp; Se tekee tosielämän web-sovellusten kehittämistä ja käyttöönottoa hauskempi, ennustettavissa, ja tuottavampia.
pyramidi on Pylväät projekti, ja taustalla uusin Web kehysten tuottamat Pylons yhteisö.
pyramidi tunnettiin aiemmin nimellä repoze.bfg.
Tuki ja dokumentaatio
Katso Pylons projektin verkkosivuilla nähdäksesi dokumentaatio, raportti bugeja, ja saada tukea.
Lisenssi
pyramidi tarjotaan BSD-johdettu Repoze Public License.

Mitä uutta tässä julkaisussa:

  • mako_templating: lisätty puolustava kiertää kuin importability Mako johtuen alkupään markupsafe pudottamalla Python 3.2 tuki. Mako templating ei enää työskentele yhdistelmä MarkupSafe 0,17 ja Python 3.2 (vaikka yhdistelmä MarkupSafe 0,17 ja Python 3.3 tai tukee Python 2 versio toimii OK).
  • Tee pyramid.config.assets.PackageOverrides vastustaa toteuttaa API __loader__ esineitä määritelty PEP 302. valtakirjoja __loader__ asettamat maahantuoja, jos läsnä; muuten herättää NotImplementedError. Tämä tekee Pyramid staattinen näkymä ohitukset toimi kunnolla alle Python 3,3 (aiemmin ne eivät). Katso https://github.com/Pylons/pyramid/pull/1015 lisätietoja.

Mitä uutta versiossa 1.4:

  • Korjaa toiminnalliset testit ZODB opetusohjelma

Mitä uutta versio 1.4 Beta 3:

  • Packaging julkaisu vain, ei koodia muutoksia. 1.4b2 oli brownbag julkaisu puuttuvien hakemistoja pakettia.

Mitä uutta versiossa 1.3.4:

  • Kun pyramid.debug_routematch oli päällä ja poikittainen predikaatti käytettiin reitillä reititin nostaisi poikkeus, kun yrität tulostaa reitin virheenkorjaustietoja. Tämä vika on ollut olemassa vuodesta 1.3a1.
  • Kun poikittainen predikaatti käytettiin reitillä proutes ja pviews konsoli skriptit nostaisi poikkeus, kun yrität tulostaa reitin virheenpoistotiedot. Tämä vika on ollut olemassa vuodesta 1.3a1.
  • Backport bug fix master: - In Mako Mallit lookup, tarkista absoluuttinen URI (käyttäen Mako hakemistot) kun sotketaan perinnönjakoon voimavara silmälasit. https://github.com/Pylons/pyramid/issues/662
  • Kun rekisteröitymättä useita näkemyksiä hyväksy predikaatti vuonna Pyramid sovellus runing alle Python 3, olet ehkä saanut Tyyppivirhe: unorderable tyypit: funktio () & lt; toiminto () lukuun ottamatta.
  • Backport master: HTTP Accept otsikot eivät normalisoidaan aiheuttaen mahdollisesti ristiriidassa mieltä rekisteröinnit mennä huomaamatta. Kaksi näkemyksiä, eroavat vain siinä tapauksessa ("text / html" vs. "text / HTML) nyt nostaa virhe. https://github.com/Pylons/pyramid/pull/620

Mitä uutta versiossa 1.4 Alpha 1:

  • Virhekorjauksia:
  • Forward satamaan 1,3 haara: Kun ei varmennuspolitiikan on määritetty, puhelun pyramid.security.effective_principals olisi ehdoitta palauttaa tyhjän listan. Tämä oli väärä, se pitäisi olla ehdottomasti palautettava [Kaikki], ja nyt tekee.
  • Explicit url lähettäminen regexes voi nyt olla kaksoispistettä. https://github.com/Pylons/pyramid/issues/629
  • ainakin yksi 64-bittinen Ubuntu järjestelmä Python 3.2, käyttäen view_config sisustaja aiheutti RuntimeError: sanakirja muuttunut koko aikana iteraation poikkeus. Se ei enää tekee. Katso https://github.com/Pylons/pyramid/issues/635 lisätietoja.
  • Mako Mallit lookup, tarkista uri on jo säädetty ja tuoda sen takaisin omaisuuden spec. Normaalisti esiintyy perinnöllisiä malleja kuulumattomat osat. https://github.com/Pylons/pyramid/issues/606 https://github.com/Pylons/pyramid/issues/607
  • Mako Mallit lookup, tarkista absoluuttinen URI (käyttäen Mako hakemistot) kun sotketaan perinnönjakoon voimavara silmälasit. https://github.com/Pylons/pyramid/issues/662
  • HTTP Accept otsikoita ei normalisoidaan aiheuttaen mahdollisesti ristiriidassa mieltä rekisteröinnit mennä huomaamatta. Kaksi näkemyksiä, eroavat vain siinä tapauksessa ("text / html" vs. "text / HTML) nyt nostaa virhe. https://github.com/Pylons/pyramid/pull/620
  • Forward-portti 1,3 haara: rekisteröityessään useita näkemyksiä hyväksy predikaatti vuonna Pyramid sovellus runing alle Python 3, olet ehkä saanut Tyyppivirhe: unorderable tyypit: funktio () & lt; toiminto () lukuun ottamatta.
  • Ominaisuudet:
  • Configurator.add_directive hyväksyy nyt mielivaltainen callables kuten partials tai esineitä täytäntöönpanoa __call__ jotka dont on __name__ ja __doc__ attribuutteja. Katso https://github.com/Pylons/pyramid/issues/621 ja https://github.com/Pylons/pyramid/pull/647.
  • Kolmannen osapuolen custom mielestä reitti, ja tilaaja predikaattien voidaan nyt lisätä käyttöön mielestä kirjailijoiden kautta pyramid.config.Configurator.add_view_predicate, pyramid.config.Configurator.add_route_predicate ja pyramid.config.Configurator.add_subscriber_predicate. Niinpä esimerkiksi, teet tämän:
  • config.add_view_predicate ("abc", my.package.ABCPredicate)
  • saattaa mahdollistaa näkymä kirjailija tekemään tämän sovelluksen, joka on konfiguroitu, että predikaatti:
  • view_config (abc = 1)
  • Vastaavia ominaisuuksia olemassa add_route, ja add_subscriber. Katso & quot; lisääminen kolmannen osapuolen View, Reitti, tai tilaaja Predikaatti & quot; vuonna Koukut luvussa lisätietoja.
  • Huomaa, että tehdyt muutokset tukevat edellä ominaisuus nyt sitä, että vain toimet rekisteröity samoja & quot; Jotta & quot; voivat olla ristiriidassa keskenään. Sitä käytetään olla, että toimet rekisteröitynä eri tilauksia voi olla ristiriidassa, mutta tietääkseni mitään koskaan riippui tämä käytös (se oli vähän typerä).
  • Custom esineet voidaan tehdä helposti JSON-sarjoittaa Pyramid määrittelemällä __json__ menetelmällä objektin luokka. Tämä menetelmä tulee palauttaa arvot natiivisti sarjoittaa mukaan json.dumps (kuten ints, luettelot, sanakirjat, jouset, ja niin edelleen).
  • JSON renderer nyt mahdollistaa määritelmä custom adaptereita muuntaa tuntematon esineitä JSON serializations.
  • Koska tämän pörssitiedotteen request_method predikaatti, kun sitä käytetään, on myös sitä, että HEAD on hiljaista, kun käytät GET. Esimerkiksi käyttämälläview_config (request_method = 'GET') vastaavat käyttäenview_config (request_method = ('GET', 'HEAD')). Käyttämälläview_config (request_method = ('GET', 'POST) vastaa käyttäenview_config (request_method = (' GET ',' HEAD ',' POST '). Tämä johtuu siitä, HEAD on muunnelma GET että jättää runko, ja WebOb on erityistä tukea palata leipätekstiä kun HEAD käytetään.
  • config.add_request_method on otettu käyttöön tukemaan ulottuu pyyntöä esineitä mielivaltainen callables. Tämä menetelmä laajentaa edellisestä config.set_request_property tukemalla menetelmiä sekä ominaisuuksia. Tämä menetelmä nyt aiheuttaa vähemmän koodi tulee suorittaa pyynnöstä rakennusaika kuin config.set_request_property versiossa 1.3.
  • Älä lisää? URL-osoitteisiin tuottamat request.resource_url jos kysely argumentti on säädetty, mutta tyhjä.
  • Älä lisää? URL-osoitteisiin tuottamat request.route_url jos _query argumentti on säädetty, mutta tyhjä.
  • staattinen näkymä koneet nyt herättää (eikä palaa) HTTPNotFound ja HTTPMovedPermanently poikkeuksia, joten nämä voivat kuulua NOTFOUND mieltä (ja muut poikkeukselliset näkymät).
  • Mako renderer tukee nyt def nimi voimavara spec. Kun def nimi on läsnä omaisuuden spec, järjestelmä tehdä mallin def sisällä mallin ja palauttaa tuloksen. Esimerkiksi hyödyke spec on paketti: polku / siihen / malli # defname.mako. Tämä helpottaa def nimetty defname sisällä template.mako mallin sijasta tekee koko mallin. Vanha tapa palauttaa monikon muodossa ("defname", {}) päässä näkemystä tukee Yhteensopivuuden,
  • Chameleon ZPT renderer hyväksyy nyt makron nimi voimavara spec. Kun makro nimi on läsnä omaisuuden spec, järjestelmä tehdä makro listattu määritellä-makro ja palauttaa tuloksen sijasta tekee koko mallin. Esimerkiksi omaisuuserän spec: paketti: polku / siihen / malli # macroname.pt. Tämä helpottaa makro määritelty macroname sisällä template.pt mallin sijasta koko templae.
  • Kun on predikaatti epäsuhta poikkeus (nähdä, kun ei näytä ottelut tietyn pyyntö johtuu predikaatit ei toimi), lukuun ottamatta sisältää nyt sanallisesti predikaatti, joka ei täsmää.
  • add_permission direktiivi menetelmää lisättiin Configurator. Tämä direktiivi rekisteröi irrallinen lupaa introspectable osaksi Pyramid itsetutkiskelua järjestelmä. Runkorakenteet rakennettu huipulla Pyramid voivat siis käyttää käyttöoikeuksia introspectable luokkatieto rakentaa kattava luettelo käyttöoikeudet tuetaan käynnissä järjestelmässä. Ennen tätä menetelmää lisättiin, luvat oli jo rekisteröity tässä introspectable luokassa kuin sivuvaikutuksena nimeämällä ne add_view puhelun, tämä menetelmä vain on mahdollista järjestää luvan panna käyttöoikeudet introspectable luokan nimeämättä sitä yhdessä liittyvä mieltä. Tässä esimerkki käytöstä add_permission:
  • config = Configuratorissa ()
  • config.add_permission ("Näytä")
  • UnencryptedCookieSessionFactoryConfig hyväksyy nyt signed_serialize ja signed_deserialize koukkuja, joita voidaan käyttää vaikuttamaan miten istunnot marshalled (oletuksena tämä tapahtuu hmac + suolakurkku).
  • pyramid.testing.DummyRequest tukee nyt menetelmiä toimittamien pyramid.util.InstancePropertyMixin luokan kuten set_property.
  • Pyydä ominaisuuksia ja menetelmiä lisätään kautta config.set_request_property tai config.add_request_method ovat nyt saatavilla tweens.
  • Pyydä ominaisuuksia ja menetelmiä lisätään kautta config.set_request_property tai config.add_request_method ovat nyt saatavilla pyynnöstä kohde palasi pyramid.paster.bootstrap.
  • request.context ympäristön pyynnön aikana bootstrap on nyt pääobjekti jos konteksti ei ole jo asetettu edellyttäen pyynnöstä.
  • pyramid.decorator.reify toiminto on nyt API, ja lisättiin API-dokumentaation.
  • Lisätty pyramid.testing.testConfig yhteydessä johtaja, jota voidaan käyttää tuottamaan konfiguraattori testissä, esim kanssa testing.testConfig (...):.
  • Käyttäjät voivat nyt vedota subrequest päässä näköetäisyydellä koodin uuden request.invoke_subrequest API.
  • Poistot:
  • pyramid.config.Configurator.set_request_property on ollut dokumentaatio-hylätty. Menetelmä on käyttökelpoinen, mutta enemmän featureful pyramid.config.Configurator.add_request_method tulisi käyttää sen tilalle (se on kaikki samat ominaisuudet, mutta voi myös laajentaa pyynnön kohde menetelmiä).
  • Taaksepäin Yhteensopimattomuudet:
  • Pyramid reititin ei enää lisää arvoja bfg.routes.route tai bfg.routes.matchdict pyyntöön n WSGI ympäristö sanakirja. Nämä arvot olivat docs-vanhentunut repoze.bfg 1,0 (tehokkaasti seitsemän pienet päästöt sitten). Jos koodi riippui näistä arvoista, käytä request.matched_route ja request.matchdict sijaan.
  • Se ei ole enää mahdollista siirtää environ sanakirjasta suoraan pyramid.traversal.ResourceTreeTraverser .__ call__ (aka ModelGraphTraverser .__ call__). Sen sijaan, sinun on läpäistävä pyyntö esine. Syöttäminen ympäristö sijaan pyyntö on luotu vähättely varoituksen jälkeen Pyramid 1.1.
  • Pyramid ei enää toimi kunnolla, jos käytät webob.request.LegacyRequest pyynnöksi tehdas. Instansseja LegacyRequest luokan on request.path_info joka palauttaa merkkijonon. Tämä Pyramid julkaisu oletetaan, että request.path_info ehdoitta olla Unicode.
  • toimintoja pyramid.chameleon_zpt ja pyramid.chameleon_text nimeltään get_renderer, get_template, render_template ja render_template_to_response on poistettu. Nämä ovat antaneet vähättely varoituksen tuotaessa vuodesta Pyramid 1.0. Käytä pyramid.renderers.get_renderer (), pyramid.renderers.get_renderer (). Täytäntöönpanoa (), pyramid.renderers.render () tai pyramid.renderers.render_to_response vastaavasti sijaan näitä toimintoja.
  • pyramid.configuration moduuli poistettiin. Se oli hylätty, koska Pyramid 1,0 ja painetut vähättely opastusääni sen käyttöä. Käytä pyramid.config sijaan.
  • pyramid.paster.PyramidTemplate API poistettiin. Se oli hylätty, koska Pyramid 1,1 ja varoitti tuonti. Jos koodi riippui tämä, säädä koodi tuoda pyramid.scaffolds.PyramidTemplate sijaan.
  • pyramid.settings.get_settings () API poistettiin. Se oli tulostamista vähättely varoituksen jälkeen Pyramid 1.0. Jos koodi riippui tästä API, käytä pyramid.threadlocal.get_current_registry (). Asetukset sijasta tai käytä asetuksia määritettä rekisterin saatavilla pyynnöstä (request.registry.settings).
  • Nämä API päässä pyramid.testing moduulin poistettiin. Ne on tulostuksen vähättely varoituksia koska Pyramid 1,0:
  • registerDummySecurityPolicy, käytä pyramid.config.Configurator.testing_securitypolicy sijaan.
  • registerResources (alias registerModels, käytä pyramid.config.Configurator.testing_resources sijaan.
  • registerEventListener, käytä pyramid.config.Configurator.testing_add_subscriber sijaan.
  • registerTemplateRenderer (aka registerDummyRenderer`), käytä pyramid.config.Configurator.testing_add_template sijaan.
  • registerView, käytä pyramid.config.Configurator.add_view sijaan.
  • registerUtility, käytä pyramid.config.Configurator.registry.registerUtility sijaan.
  • registerAdapter, käytä pyramid.config.Configurator.registry.registerAdapter sijaan.
  • registerSubscriber, käytä pyramid.config.Configurator.add_subscriber sijaan.
  • registerRoute, käytä pyramid.config.Configurator.add_route sijaan.
  • registerSettings, käyttö pyramid.config.Configurator.add_settings sijaan.
  • Pyramid 1.3 ja edellinen, __call__ menetelmä Response esineen vedottiin ennen valmiiden kutsuvastauksia teloitettiin. Koska tämän pörssitiedotteen __call__ menetelmä Response esineen vedotaan jälkeen valmiin vastakutsut teloitettiin. Tämä on tukevat request.invoke_subrequest ominaisuutta.
  • Documentation:
  • Lisätty & quot; päivittäminen Pyramid & quot; luku kerronnan asiakirjat. Se kertoo, miten selviytyä poistot ja muutot Pyramid API ja miten osoittaa Pyramid syntyvän vähättely varoitukset juostessa testejä ja juostessa palvelimelle.
  • Lisätty & quot; Vetoaminen Subrequest & quot; luku asiakirjat. Se kuvaa, miten käyttää uutta request.invoke_subrequest API.
  • Riippuvuudet:
  • Pyramid vaatii nyt WebOb 1.2b3 + (ennen Pyramid julkaisu vain vedota 1.2dev +). Tämän tarkoituksena on varmistaa, että saamme version WebOb, joka palauttaa request.path_info tekstinä.

Mitä uutta versiossa 1.3.2:

  • Versio 1.3.1 oli brownbag julkaisu kello ainakin Windows ja mahdollisesti muissa käyttöjärjestelmissä, koska olemassaolo eksynyt & quot; paketti hakemistoon (lainaus mukaan lukien) juurihakemistoon 1.3.1 pakettia. Tämä hakemisto ja sen sisältö oli läsnä, koska pakettia luotiin versiota setuptools-Git sijaan setuptools-git asennettu kassalla. Ainoa muutos tässä julkaisussa on korjata pakkausvirheestä 1.3.1.

Mitä uutta versiossa 1.3:

  • Kun pyramid.wsgi.wsgiapp2 kutsuu loppupään WSGI app, App environ ei enää ole (vanhentunut ja mahdollisesti harhaanjohtava) bfg.routes.matchdict tai bfg.routes.route avaimet siihen. Oire tästä bug olisi wsgiapp2 kääritty Pyramid app löytää väärä näkemys, koska se virheellisesti havaitsee, että reitti oli sovitettu, kun itse asiassa, se ei ollut.
  • korjaus kysymys https://github.com/Pylons/pyramid/issues/461 (joka mahdollisti esimerkiksi menetelmiä käytettäväksi näkymä callables) esitteli taaksepäin yhteensopimattomuus kun menetelmiä julisti vain pyynnöstä väite käytetty. Katso https://github.com/Pylons/pyramid/issues/503

Mitä uutta versiossa 1.3 Beta 2:

  • menetelmä pyramid.request.Request.partial_application_url on enää API dokumentaatio. Sen oli tarkoitus olla yksityinen menetelmä; se julkaistaan ​​asiakirjat API menetelmä oli virhe, ja se on nimetty uudelleen jotain yksityistä.
  • Kun staattinen näkymä rekisteröitiin käyttäen absoluuttista tiedostojärjestelmä Windows-polut, request.static_url toiminto ei toimi tuottaa URL-osoitteet resurssejaan. Oire: & quot; Ei staattinen URL määritelmä matching c: foobarbaz & quot;.
  • Tee kaikki testit siirtää Windows XP.
  • Bug ACL todennus kokeet Python 3: luvat ja principals_allowed_by_permission menetelmä pyramid.authorization.ACLAuthenticationPolicy voisi palata sopimatonta todellista arvoa, kun lupaa koskeva ACL oli merkkijono sijaan järjestyksessä, ja sitten vain jos ACL lupaa merkkijono oli alimerkkijono luvan arvon funktiolle välitetään.
  • Tämä vika vaikutuksia ei Pyramid käyttöönottoa alle Python 2; se on vika, joka on olemassa vain asennuksia käynnissä Python 3. On olemassa vuodesta Pyramid 1.3a1.
  • Tämä vika johtui läsnäolo __iter__ määrite jouset alle Python 3, joka ei ole läsnä alle jousille Python 2.

Mitä uutta versiossa 1.3 Beta 1:

  • Virhekorjauksia:
  • pyramid.config.Configurator.with_package ei toimi, jos Configuratorissa oli vanhanaikaista pyramid.configuration.Configurator esimerkiksi.
  • Pyramid lupaa politiikat eivät näy introspector.
  • Poistot:
  • Kaikki viittaukset tmpl_context pyynnön muuttuja poistettiin docs. Sen olemassaolo Pyramid on hämmentävää ihmisille, jotka eivät ole koskaan Pylons käyttäjille. Se lisättiin siirrettävyyttä mukavuutta Pylons käyttäjien Pyramid 1,0, mutta se ei koskaan kiinni, koska pyramidi renderöinti järjestelmä on paljon erilaisia ​​kuin Pylväät "oli, ja vaihtoehtoisia tapoja on olemassa, mitä se oli suunniteltu tarjottavanaan Pylons. Se on edelleen olemassa & quot; ikuisesti & quot; mutta sitä ei suositella tai mainitaan docs.

Vaatimukset :

  • Python

Muu ohjelmistojen kehittäjä Chris McDonough

pyramid_handlers
pyramid_handlers

14 Apr 15

Supervisor
Supervisor

20 Feb 15

Kommentit pyramid

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!