Pylons -Projekt

Pylons -Projekt
Pylons Project logo on transparent background.png
Art der Site
Python Rahmen Entwicklung
Verfügbar in Englisch
Eigentümer Open Source
Editor Anonym
URL Pylonprojekt.org Edit this at Wikidata
Kommerziell Nein
Anmeldung Keiner
Gestartet 27. Dezember 2010
Aktueller Status Aktiv

Pylons -Projekt ist ein Open Source Organisation, die eine Reihe von Webantragstechnologien entwickelt, die in geschrieben wurden Python. Zunächst war das Projekt ein einzelnes Web -Framework namens Pylons, aber nach der Fusion mit dem Repoze.BFG -Framework unter dem neuen Namen Pyramid besteht das Pylons -Projekt nun aus mehreren verwandten Webanwendungstechnologien.

Pyramide

Pyramide
Pyramid web framework logo on transparent background.png
Entwickler (en) Chris McDonough, Ben Bangert, Michael Merickel, Bert JW Regeer, Steve Piercy
Erstveröffentlichung 8. Juli 2008; Vor 14 Jahren[1]
Stabile Version
2.0 / 28. Februar 2021; Vor 17 Monaten[1]
Repository www.Github.com/Pylons/Pyramide
Geschrieben in Python
Betriebssystem Plattformübergreifend
Typ Webanwendungs ​​-Framework
Lizenz BSD-ähnlich[2]
Webseite www.rypyramid.com

Pyramide ist ein Open Source Web Framework geschrieben in Python und basiert auf WSGI. Es ist ein minimalistisch Web Framework inspiriert von Zope, Pylonen und Django.[3]

Pyramide, ursprünglich "repoze.bfg" bezeichnet, sammelte hauptsächlich in der Aufmerksamkeit Zope[4] und Plonen Gemeinschaft als die Open Society InstituteDas Karl -Projekt wanderte von Plone nach BFG.[5] Im Jahr 2010 wurde bekannt gegeben, dass das Pylons -Framework BFG als Basis in Version 1.5 verwenden wird.[6] Infolge der Aufnahme von BFG in das Pylons -Projekt wurde BFG in Pyramide umbenannt.[7]

Merkmale

Pyramide ist minimalistisch, Plattformunabhängig Web Framework. Es ist Agnostik Sqlalchemy und mit dem Zope -Objektdatenbank, sowie andere NoSQL Datenbanken wie z. Couchdb.[3]

Pyramide ermöglicht es Entwicklern, Wege zu definieren Reguläre Ausdrücke Diese Karte zu Objekten. Pyramide ermöglicht auch wie sein Mitrahmen Zope auch hierarchische Objekttraversal, wobei jeder Teil von a URL ist ein Objekt, das andere Objekte enthält, ähnlich wie bei Ordnern in einem Dateisystem.[8]

Pylons Web Framework

Pylons -Framework
Pylonsfw.png
Entwickler (en) Ben Bangert, James Gardner
Erstveröffentlichung September 2005; Vor 16 Jahren[9]
Stabile Version
1.0.2[10] / 21. Juli 2015; vor 7 Jahren
Repository www.Github.com/Pylons/Pylons
Geschrieben in Python
Betriebssystem Plattformübergreifend
Typ Webanwendungs ​​-Framework
Lizenz BSD -Lizenz
Webseite www.Pylonproject.org/Über-Pylons-Framework.html

Pylons -Framework ist ein Open Source Webanwendungs ​​-Framework geschrieben in Python. Es nutzt den Webserver -Gateway -Schnittstellenstandard ausführlich, um die Wiederverwendbarkeit zu fördern und die Funktionalität in unterschiedliche Module zu trennen.[11] Es wird stark von beeinflusst von Rubin auf Schienen: Zwei seiner Hauptkomponenten, Routen und Webhellpersonen sind Python -Neuimplementationen von Rails -Funktionen.

Struktur

Pylons ist bekannt dafür, dass sie einen nahezu vollständigen Stapel von Drittanbieter-Werkzeugen haben und das vermeiden "nicht hier erfunden" Phänomen.

Installation, Abhängigkeiten und Setup

Die offizielle Installationsmethode von Pylons ist durch Einfach zu installieren über die Python -Paketindex (PYPI) und die meisten zusätzlichen Tools werden normalerweise auf die gleiche Weise installiert. EasyInstall verarbeitet auch Paketabhängigkeiten, wenn sie relevant sind. Einige Verteilungen könnten auch Pylons verpacken und PasteAber es ist wahrscheinlich, dass die Pakete einer Verteilung die offizielle Verteilung zurückbinden würden. Pylonen können auch von Hand installiert werden, indem die .Egg -Datei in .zip umbenannt und den Inhalt extrahiert wird.

Paste wird für Projekt -Setup, Test und Bereitstellung verwendet. Mit dem gemeinsamen Ini Das Konfigurationsformat ermöglicht Paste mehrere "Profile", sodass Entwickler Entwickler und Bereitstellungsaufnahmen aus derselben Codebasis ausführen können, ohne sensible Teile von Pylonen wie dem interaktiven Debugger für Produktionsbenutzer anzuzeigen.

URL -Versand

Derzeit ist der einzige weit verbreitete URL-Dispatcher für Pylons Routen, eine Python-Neuauflagen von Ruby auf Rails 'URL-Versand, obwohl jeder WSGI-kompatible URL-Dispatcher verwendet werden kann. Während Routen eine separate Bibliothek sind, wurde sie für die Verwendung in Pylonen entwickelt und ihre Entwicklung bleibt eng mit Pylonen synchronisiert.

HTML -Generation

Ein weiteres Stück Schienen, das für Pylons adaptiert ist, sind Webhelpers, die URL -Mapping basierend auf der Routenkonfiguration bietet. Webhelpers bietet auch einige Dienstprogrammfunktionen für die Generierung JavaScript Code verwenden die Verwendung des script.aculo.us und Prototyp Bibliotheken.

FormEncode und Formbuild werden für die HTML -Formalvalidierung und -generierung verwendet. Es gab einige Verwendung von Mako für die Form Generation mit Makos Erbmodell.

Vorlagen

Myghty war die Standard -Pylons Templating -Sprache, aber ab Version 0.9.6 wurde sie durch ersetzt Mako.[12] Beide Vorlagensprachen sind textbasiert (im Gegensatz zu Xml-basiert) und die Unterstützung umfasst, Vererbung und Einbettung willkürlicher Python -Code.

Aufgrund der lose gekoppelten Schichten von Pylone können auch andere Vorlagensprachen verwendet werden. GenshiEine XML-basierte Vorlagensprache kann anstelle von Mako oder Myghty verwendet werden.[13]

Datenbankabstraktion und Objektrelationszuordnung

Pylons hat keine Standard -Datenbankbibliothek. Beide Sqlobject und Sqlalchemy ist bekanntermaßen verwendet.

Fusion mit Repoze.bfg und Geburt des Pyramiden -Web -Frameworks

Pylons hat sich zum Pylons-Projekt entwickelt, und der alte Code von Pylons 1.0 befindet sich jetzt im nur Wartungsmodus. Gemäß der Fusion des Projekts mit Repoze.BFG seit November 2010 unterscheiden sich neuere Versionen von Pylons jedoch tatsächlich von den ursprünglichen Pylons 1.0. Pylonsentwickler planten zunächst, bestimmte Teile des Codes neu zu schreiben, stellten jedoch fest, dass der neue Code zu Repoze.bfg approking, was zur Fusion von Pylons und Repoze.BFG führte.[14][15] Dies führte zu Repoze.bfg (ein Teil des webbasierten Webrahmens für Repoze-Basis), um umbenannt und als Pyramid-Web-Framework neu gestartet zu werden.[16]

Siehe auch

Verweise

  1. ^ a b "Pyramid Change History - Das Pyramid -Web -Framework v2.0". docs.pylonproject.org. Abgerufen 2021-04-26.
  2. ^ "Urheberrecht, Marken und Zuschreibungen - das Pyramid -Web -Framework v2.0". docs.pylonproject.org. Abgerufen 2021-04-26.
  3. ^ a b Chris McDonough. "Repoze.Bfg Einführung". Archiviert von das Original Am 2013-12-30. Abgerufen 2010-09-21.
  4. ^ Gary Poster (2010-09-17). "Zope Summit, Dzuug, Repoze.Bfg". Abgerufen 2010-09-21.
  5. ^ Thomas Moroz, Chris Rossi & Calvin Hendryx-Parker (2009-10-28). Karl-großflächiges Wissensmanagement. Budapest, Ungarn: Plone Conference 2009. archiviert von das Original Am 2010-06-02. Abgerufen 2010-09-23.
  6. ^ Ben Bangert (2010-09-18). "E -Mails, die die Pylons 2 -Struktur erläutern". Abgerufen 2010-09-21.
  7. ^ "Repoze.bfg ist jetzt Pyramide". Archiviert von das Original Am 2010-11-13. Abgerufen 2011-01-03.
  8. ^ Wichert Akkerman (2009-10-28). Lektionen aus anderen Frameworks.Budapest, Ungarn: Plone Conference 2009. Event findet um 25:50 Uhr statt.Archiviert von das Original 2013-04-18. Abgerufen 2010-09-21.
  9. ^ Geschichte von Pylonen
  10. ^ Pylons Changelog
  11. ^ Das mod_wsgi Projekt Enthält sowohl Pylons als auch Pyramide in seine Liste der unterstützten großen Python -Webrahmen.
  12. ^ Haas, Christoph Pylonen beginnen Archiviert 2009-02-16 bei der Wayback -Maschine.Abgerufen am 5. Juli 2007 abgerufen
  13. ^ Genshi Wiki Pylonen mit Genshi Abgerufen am 5. Juli 2007 abgerufen
  14. ^ Pylons Project FAQ.URL: https://pylonsproject.org/about-pylons-project.html
  15. ^ Anmerkungen zu den Pylons und Repoze.BFG Fusion.URL: "Archivierte Kopie". Archiviert von das Original Am 2012-03-04. Abgerufen 2012-08-14.{{}}: CS1 Wartung: Archiviertes Kopie als Titel (Link)
  16. ^ Über Pyramide.URL: https://trypyramid.com/

Weitere Lektüre

Externe Links