Python Paste: Difference between revisions

Content deleted Content added
m Corrected the reference on the first line as the old one had nothing to do with that citation
Adding local short description: "Python web development utilities", overriding Wikidata description "set of utilities for web development in Python"
 
(74 intermediate revisions by 55 users not shown)
Line 1:
{{Short description|Python web development utilities}}
{{notability|date=January 2008}}
'''Python Paste''', often simply called '''paste''', is a set of [[utility software|utilities]] for [[web development]] in [[Python (programming language)|Python]]. Paste has been described as "a framework for [[web framework]]s"[http://reddit.com/r/programming/info/ehyf/comments/ceifh].
 
{{Multiple issues|
=== WSGI middleware ===
{{refimprove|date=December 2017}}
{{notability|Products|date=JanuaryMay 20082021}}
}}
 
{{Infobox software
To understand the function of paste it is first necessary to understand WSGI middleware.
| name = Paste
| logo =
| developer = Ian Bicking
| released = {{start date|2005}}
| latest release version = 2.0.3
| latest release date = {{start date and age|2016|03|08}}
| programming language = [[Python (programming language)|Python]]
| operating system = [[Cross-platform]]
| genre = [[Web framework]]
| license = [[MIT License]]
}}
'''Python Paste''', often simply called '''paste''', is a set of [[utility software|utilities]] for [[web development]] in [[Python (programming language)|Python]]. Paste has been described as "a framework for [[web framework]]s"[.<ref>{{Cite web|url=http://redditblog.comianbicking.org/rits-not-another-damn-framework.html|title = It's Not Another Damn Framework}}</programming/info/ehyf/comments/ceifh].ref>
 
The Python Paste package contains Python modules that help in implementing [[Web Server Gateway Interface|WSGI]] middleware.
The [[WSGI]] standard is an interface that allows applications to use python code to handle HTTP requests. Python code is passed a python representation of an HTTP request by an application, and in return passes back content which will normally eventually be rendered by a web browser. This Python code is called a '''WSGI application'''. A common use for this is when a web server serves content created by python code.
 
The package includes a WSGI wrapper for [[Common Gateway Interface|CGI]] applications. It also includes a simple webserver that can produce WSGI requests.
There are, however, other uses: '''WSGI middleware''' is python code that receives a WSGI request and then performs logic based upon this request, before passing the request on to a WSGI application or more WSGI middleware. This is analogous the function of pipes on Unix systems. Functionality provided by WSGI middleware include authentication, logging, [[url redirection]], creation of [[sessions]], and compression.
 
===WSGI Python paste =middleware==
The [[Web Server Gateway Interface|WSGI]] standard is an interface that allows applications to use pythonPython code to handle HTTP requests. PythonA code'''WSGI application''' is passed a pythonPython representation of an HTTP request by an application, and in return passes backreturns content which will normally eventually be rendered by a web browser. This Python code is called a '''WSGI application'''. A common use for this is when a [[web server]] serves content created by pythonPython code.
 
There are, however, other uses: '''WSGI middleware''' is pythonPython code that receives a WSGI request and then performs logic based upon this request, before passing the request on to a WSGI application or more WSGI middleware. WSGI middleware appears to an application as a server, and to the server as an application. This is analogous to the function of [[Pipeline (Unix)|pipes on Unix systems]]. Functionality provided by WSGI middleware may include authentication, logging, [[urlURL redirection]], creation of [[sessionssession (computer science)|session]]s, and compression.
The Python Paste package mainly provides python modules to act as middleware.
In addition to middleware, it provides a simple python webserver that can produce WSGI request and a wrapper used to pass WSGI requests to [[CGI]] applications. Paste may be understood as a set of libraries making use of the WSGI standard to provide functionality other than the direct creation of content. This is useful when one is deploying applications written in a python web framework.
 
Paste ishelps ain componentdeveloping such WSGI middleware systems. For example, it is used in the [[Pylons_Pylons (web_frameworkweb framework)|Pylons]] web application framework.
=== Uses of Paste ===
 
=== UsesSubcomponents of Paste ===
Paste is a component used in the [[Pylons_(web_framework)|Pylons]] web application framework.
Paste has been a long-running open source project, dating from at least 2005. As it has grown, it has unbundled several other utilities from the Paste core. These utilities are part of the Paste project, but form their own packages and have their own version numbers. They include:
* Paste Deploy is a system for finding and configuring WSGI applications and servers.
* Paste Script, ScriptType, INITools, Tempita, WaitForIt, WPHP, WSGIFilter, and WSGIProxy are other notable bundles.
* WebTest
* WebOb is a wrapper around the WSGI environment.
WebTest and WebOb have migrated and are now part of the [[Pylons project]].
 
==See External links also==
* [[TurboGears]]
* [http://pythonpaste.org Python Paste]: official site
* [[Pylons project]]
* [http://video.google.com/videoplay?docid=-872784530622495809 Ben Bangert's Google Tech Talk], Sep 13, 2006
* [[Seaside (software)|Smalltalk Seaside]]
{{web-software-stub}}
* [[Java servlet]]
[[Category:Python web application frameworks]]
* [[Internet Server Application Programming Interface]] (ISAPI)
* [[FastCGI]]
* [[Apache Thrift]] (from Facebook and Evernote teams)
* [[Server-side JavaScript]]
* [[PHP]]
* [[Web framework]]
 
==References==
{{Reflist}}
 
==External links==
*{{Official website}}
 
{{Python web frameworks}}
{{web-Web server software-stub}}
 
[[Category:Python web(programming applicationlanguage) web frameworks]]