Pylons project
framework development | |
Available in | English |
---|---|
Owner | Open source |
Editor | Anonymous |
URL | pylonsproject |
Commercial | No |
Registration | None |
Launched | December 27, 2010 |
Current status | Active |
Pylons Project is an open-source organization that develops a set of web application technologies written in Python. Initially the project was a single web framework called Pylons, but after the merger with the repoze.bfg framework under the new name Pyramid, the Pylons Project now consists of multiple related web application technologies.
Pyramid
Developer(s) | Chris McDonough, Ben Bangert, Michael Merickel, Bert JW Regeer, Steve Piercy |
---|---|
Initial release | July 8, 2008[1] |
Stable release | 2.0.1
/ January 29, 2023[1] |
Web application framework | |
License | BSD-like[2] |
Website | www |
Pyramid is an open source web framework written in Python and is based on WSGI. It is a minimalistic web framework inspired by Zope, Pylons and Django.[3]
Originally called "repoze.bfg", Pyramid gathered attention mostly in the
Features
Pyramid is a minimalistic,
Pyramid allows developers to define routes using
Pylons Web Framework
Developer(s) | Ben Bangert, James Gardner |
---|---|
Initial release | September 2005[9] |
Stable release | 1.0.2[10]
/ 22 July 2015 |
BSD license | |
Website | www |
Pylons Framework is an
Structure
Pylons is well known for having a near-complete stack of third-party tools, eschewing the "not-invented-here" phenomenon.
Installation, dependencies, and setup
The official installation method of Pylons is through EasyInstall via the Python Package Index (PyPI), and most of the additional tools are typically installed the same way. EasyInstall also handles package dependencies when relevant. Some distributions could also package Pylons and Paste, but it is likely that any distribution's packages would lag the official distribution. Pylons may also be installed by hand by renaming its .egg file to .zip and extracting the contents.
Paste is used for project setup, testing, and deployment. Using the common INI configuration format, Paste allows for multiple "profiles", so that developers can run development and deployment setups from the same codebase without revealing sensitive parts of Pylons, such as the interactive debugger, to production users.
URL dispatch
Currently the only widely used URL dispatcher for Pylons is Routes, a Python reimplementation of Ruby on Rails' URL dispatching, although any WSGI-compatible URL dispatcher can be used. While Routes is a separate library, it was developed for use in Pylons and its development remains closely in sync with Pylons.
HTML generation
Another piece of Rails adapted for Pylons is WebHelpers, which provides URL mapping based on the Routes configuration. WebHelpers also provides some utility functions for generating
FormEncode and FormBuild are used for HTML form validation and generation; there has been some use of Mako for form generation using Mako's inheritance model.
Templating
Myghty was the default Pylons templating language, but as of version 0.9.6 it has been replaced by Mako.[12] Both templating languages are text-based (as opposed to XML-based), and support includes, inheritance and embedding arbitrary Python code.
Because of Pylons' loosely coupled layers, other templating languages can be used as well. Genshi, an XML-based templating language, can be used in lieu of either Mako or Myghty.[13]
Database abstraction and object-relational mapping
Pylons has no default database library. Both SQLObject and SQLAlchemy are known to be used.
Merger with repoze.bfg and birth of Pyramid Web Framework
Pylons has developed into the Pylons Project, and the old code from Pylons 1.0 is now in maintenance-only mode. However, pursuant to the project's merger with repoze.bfg since November 2010, newer versions of Pylons are actually different from the original Pylons 1.0. Pylons developers initially planned to rewrite certain portions of the code, but they observed that the new code was approximating repoze.bfg, which led to the merger of Pylons and repoze.bfg.[14][15] This led to repoze.bfg (a part of the Repoze Python-based web framework) to become rebranded and relaunched as the Pyramid web framework.[16]
See also
- Django (web framework)
- FastAPI
- Flask (web framework)
- Web2py
- TurboGears: a derivative project, built on top of Pylons
- Tornado
- Comparison of web frameworks
References
- ^ a b "Pyramid Change History — The Pyramid Web Framework v2.0". docs.pylonsproject.org. Retrieved 2021-04-26.
- ^ "Copyright, Trademarks, and Attributions — The Pyramid Web Framework v2.0". docs.pylonsproject.org. Retrieved 2021-04-26.
- ^ a b Chris McDonough. "repoze.bfg introduction". Archived from the original on 2013-12-30. Retrieved 2010-09-21.
- ^ Gary Poster (2010-09-17). "Zope Summit, DZUG, repoze.bfg". Retrieved 2010-09-21.
- ^ Thomas Moroz, Chris Rossi & Calvin Hendryx-Parker (2009-10-28). KARL – large-scale Knowledge Management. Budapest, Hungary: Plone Conference 2009. Archived from the original on 2010-06-02. Retrieved 2010-09-23.
- ^ Ben Bangert (2010-09-18). "Emails explaining the Pylons 2 structure". Retrieved 2010-09-21.
- ^ "repoze.bfg is now Pyramid". Archived from the original on 2010-11-13. Retrieved 2011-01-03.
- ^ Wichert Akkerman (2009-10-28). Lessons from other frameworks. Budapest, Hungary: Plone Conference 2009. Event occurs at 25:50. Archived from the original on 2013-04-18. Retrieved 2010-09-21.
- ^ History of Pylons
- ^ "Release 1.0.2". 22 July 2015. Retrieved 22 July 2018.
- ^ The mod_wsgi project includes both Pylons and Pyramid in its list of supported major Python web frameworks.
- ^ Haas, Christoph Beginning Pylons Archived 2009-02-16 at the Wayback Machine. Retrieved July 5, 2007
- ^ Genshi Wiki Pylons with Genshi Retrieved July 5, 2007
- ^ Pylons Project FAQ. URL: https://pylonsproject.org/about-pylons-project.html
- ^ Notes on the Pylons and repoze.bfg merger. URL: "Be Groovie - Notes on the Pylons & repoze.BFG Merger". Archived from the original on 2012-03-04. Retrieved 2012-08-14.
- ^ About Pyramid. URL: https://trypyramid.com/
Further reading
- Gardner, James (January 2009). The Definitive Guide to Pylons. Berkeley, CA: ISBN 978-1-59059-934-1.