Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
pyrte
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Container registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
OpenVMS
WASD
pyrte
Commits
9f21a62c1055
Commit
9f21a62c1055
authored
4 years ago
by
Jean-Francois Pieronne
Browse files
Options
Downloads
Patches
Plain Diff
Documentation update
parent
0709d360b7af
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/python/readmore.html
+139
-68
139 additions, 68 deletions
src/python/readmore.html
with
139 additions
and
68 deletions
src/python/readmore.html
100755 → 100644
+
139
−
68
View file @
9f21a62c
...
...
@@ -6,7 +6,8 @@
<style
type=
"text/css"
>
body
{
font-family
:
arial
,
helvetica
,
sans-serif
;
font-size
:
11pt
;
font-size
:
12pt
;
line-height
:
1.2em
;
background-color
:
#ffffff
;
color
:
#000000
;
margin
:
1.5em
;
padding
:
0
;
}
...
...
@@ -28,9 +29,15 @@
a
:link
{
color
:
#0000cc
;
}
a
:visited
{
color
:
#0000cc
;
}
@media
print
{
a
{
text-decoration
:
none
;
}
a
:link
{
color
:
#000000
;
}
a
:visited
{
color
:
#000000
;
}
}
@media
screen
{
a
[
target
=
_blank
]
::after
{
font-size
:
80%
;
content
:
"\2924"
;
}
}
tt
{
font-family
:
courier
,
monospace
;
padding
:
0
4px
0
4px
;
}
hr
{
color
:
#888888
;
background-color
:
#888888
;
height
:
1px
;
border
:
0
;
}
...
...
@@ -31,9 +38,17 @@
@media
screen
{
a
[
target
=
_blank
]
::after
{
font-size
:
80%
;
content
:
"\2924"
;
}
}
tt
{
font-family
:
courier
,
monospace
;
padding
:
0
4px
0
4px
;
}
hr
{
color
:
#888888
;
background-color
:
#888888
;
height
:
1px
;
border
:
0
;
}
.pyrte
{
font-family
:
arial
,
impact
,
sans
;
font-style
:
normal
;
font-size
:
110%
;
letter-spacing
:
0.02em
;
}
.code
{
font-family
:
courier
,
monospace
;
...
...
@@ -73,5 +88,5 @@
<center>
<h1>
Python Run-Time Environment
</h1>
<h3>
Version 1.1.1
1
,
23rd
Ju
ne
201
3
</h3>
<h3
style=
"margin-bottom:0;"
>
Version 1.1.1
2
,
30th
Ju
ly
201
7
</h3>
...
...
@@ -77,5 +92,5 @@
<p><b>
Copyright
©
2007-201
6
Mark G. Daniel
</b>
<p><b>
Copyright
©
2007-201
7
Mark G. Daniel
</b>
<br>
This program, comes with ABSOLUTELY NO WARRANTY.
<br>
This is free software, and you are welcome to redistribute it under the
<br>
conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
...
...
@@ -79,7 +94,7 @@
<br>
This program, comes with ABSOLUTELY NO WARRANTY.
<br>
This is free software, and you are welcome to redistribute it under the
<br>
conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
<br><a
target=
"_blank"
href=
"http://www.gnu.org/licenses/gpl.txt"
>
http://www.gnu.org/licenses/gpl.txt
</a>
<br><a
target=
"_blank"
href=
"http
s
://www.gnu.org/licenses/gpl.txt"
>
http
s
://www.gnu.org/licenses/gpl.txt
</a>
</center>
...
...
@@ -92,8 +107,9 @@
<li><a
href=
"#wsgi"
>
Web Server Gateway Interface
</a>
<li><a
href=
"#lever"
>
Leveraging PyRTE
</a>
<li><a
href=
"#problems"
>
Problems
</a>
<li><a
href=
"#releases"
>
Releases
</a>
<li><a
href=
"#ackn"
>
Acknowlegements
</a>
</ul>
<br><hr
align=
"left"
size=
"1"
noshade
><br>
...
...
@@ -95,15 +111,15 @@
<li><a
href=
"#ackn"
>
Acknowlegements
</a>
</ul>
<br><hr
align=
"left"
size=
"1"
noshade
><br>
<p>
PyRTE is an interface to a
<a
target=
"_blank"
href=
"http://www.python.org/"
>
Python
</a>
interpreter engine and environment for the WASD VMS Web server. It is desig
ne
d
to be able to be used in standard CGI and CGIplus/RTE persistent scripting
modes. The persistent modes (default) provide a ~35x (yes, an approximat
e
thirty-five times) improvement in script activation times (compared to
CGI/command-line) and comparably reduced load on both server and system. Note
that this package does not contain the Python interpreter or kit, that has to
be obtained and installed separately (a simple matter as it is provided via a
PCSI package).
<p>
<span
class=
"pyrte"
>
PyRTE
</span>
is an interface to a
<a
target=
"_blank"
href=
"https://www.python.org/"
>
Python
</a>
interpreter engi
ne
and environment for the WASD VMS Web server. It is designed to be able to be
used in standard CGI and CGIplus/RTE persistent scripting modes. Th
e
persistent modes (default) provide a ~35x (yes, an approximate thirty-five
times) improvement in script activation times (compared to CGI/command-line)
and comparably reduced load on both server and system. Note that this package
does not contain the Python interpreter or kit, that has to be obtained and
installed separately (a simple matter as it is provided via a
PCSI package).
...
...
@@ -109,6 +125,6 @@
<p>
PyRTE
is linked against the Python interpreter
shareable image and so
shares a set of Python capabilities in common with
command-line OpenVMS Python.
Alpha (AXP) and Itanium object modules are
provided for the VMS platforms
available for Python.
<p>
<span
class=
"pyrte"
>
PyRTE
</span>
is linked against the Python interpreter
shareable image and so
shares a set of Python capabilities in common with
command-line OpenVMS Python.
Alpha (AXP) and Itanium object modules are
provided for the VMS platforms
available for Python.
...
...
@@ -114,8 +130,8 @@
<p>
PyRTE
has been developed and tested on VMS V8.3
and V8.4, Alpha and
Itanium, using WASD v10.
<i>
n
</i>
and v11.
<i>
n
</i>
and VMS
Python kits PYTHON272
and PYTHON278 available from and documented at
<a
target=
"_blank"
href=
"http://www.vmspython.org/"
>
http://www.vmspython.org/
</a>
. JFP's
<p>
<span
class=
"pyrte"
>
PyRTE
</span>
has been developed and tested on VMS V8.3
and V8.4, Alpha and
Itanium, using WASD v10.
<i>
n
</i>
and v11.
<i>
n
</i>
and VMS
Python kits PYTHON272
and PYTHON278 available from and documented at
<a
target=
"_blank"
href=
"http
s
://www.vmspython.org/"
>
http
s
://www.vmspython.org/
</a>
. JFP's
Python kits are kept very up-to-date as Python updates or implementation
problems arise.
...
...
@@ -119,17 +135,6 @@
Python kits are kept very up-to-date as Python updates or implementation
problems arise.
<blockquote>
<center><b>
©
2016 Kit
</b></center>
<hr
size=
"1"
width=
"70%"
align=
"center"
noshade
>
This
©
2016 kit contains exactly the same Python RTE as the
©
2013
kit of the same version number. Only this documentation and the build
procedure have been updated to use the v10.
<i>
n
</i>
and later WASD_EXE logical
name rather than HT_EXE. No upgrade is required if the original is working for
your site. This kit will not build on WASD v9.
<i>
n
</i>
without modification.
<hr
size=
"1"
width=
"70%"
align=
"center"
noshade
>
</blockquote>
<a
name=
"install"
>
<h2>
Installation
</h2>
</a>
...
...
@@ -140,8 +145,8 @@
up-to-date, obtain the latest kit from
<blockquote>
<a
target=
"_blank"
href=
"http://www.vmspython.org/"
>
http://www.vmspython.org/
</a>
<a
target=
"_blank"
href=
"http
s
://www.vmspython.org/"
>
http
s
://www.vmspython.org/
</a>
</blockquote>
and install according to the instructions available.
...
...
@@ -144,9 +149,10 @@
</blockquote>
and install according to the instructions available.
<p><li>
When updating it is suggested that any exisiting PyRTE kit be renamed
<p><li>
When updating it is suggested that any existing
<span
class=
"pyrte"
>
PyRTE
</span>
kit be renamed
out of the way before installing this kit. After successful installation and
testing the old kit may be deleted.
<pre
class=
"code"
>
...
...
@@ -149,7 +155,7 @@
out of the way before installing this kit. After successful installation and
testing the old kit may be deleted.
<pre
class=
"code"
>
$ RENAME
HT
_ROOT:[SRC]PYTHON.DIR
HT
_ROOT:[SRC]PYTHON_nnn.DIR
$ RENAME
WASD
_ROOT:[SRC]PYTHON.DIR
WASD
_ROOT:[SRC]PYTHON_nnn.DIR
</pre>
...
...
@@ -154,5 +160,5 @@
</pre>
<li>
Obtain the
PyRTE kit from (or one of the mirror sites)
<li>
Obtain the
<span
class=
"pyrte"
>
PyRTE
</span>
kit from
<blockquote>
...
...
@@ -157,8 +163,8 @@
<blockquote>
<a
target=
"_blank"
href=
"http://wasd.vsm.com.au/wasd/"
>
http://wasd.vsm.com.au/wasd/
</a>
<a
target=
"_blank"
href=
"http
s
://wasd.vsm.com.au/wasd/"
>
http
s
://wasd.vsm.com.au/wasd/
</a>
</blockquote>
<li>
UNZIP the kit
<pre
class=
"code"
>
...
...
@@ -160,9 +166,9 @@
</blockquote>
<li>
UNZIP the kit
<pre
class=
"code"
>
$ SET DEFAULT
HT
_ROOT:[000000]
$ SET DEFAULT
WASD
_ROOT:[000000]
$ UNZIP "-V" location:PYRTEnnn.ZIP
</pre>
...
...
@@ -170,7 +176,7 @@
modules. Compilation is also available.
<pre
class=
"code"
>
$ SET DEFAULT
HT
_ROOT:[SRC.PYTHON]
$ SET DEFAULT
WASD
_ROOT:[SRC.PYTHON]
$ @BUILD_PYRTE LINK
</pre>
...
...
@@ -174,7 +180,7 @@
$ @BUILD_PYRTE LINK
</pre>
<li>
Copy the
PyRTE
engine to the script executable location.
<li>
Copy the
<span
class=
"pyrte"
>
PyRTE
</span>
engine to the script executable location.
<pre
class=
"code"
>
$ COPY WASD_EXE:PYRTE.EXE CGI_EXE:
...
...
@@ -191,7 +197,7 @@
<h2>
Configure WASD
</h2>
</a>
<p>
Although there are experimentation modes built into
PyRTE
basically it will
<p>
Although there are experimentation modes built into
<span
class=
"pyrte"
>
PyRTE
</span>
basically it will
be used as a WASD Run-Time Environment providing persistent Python
interpreter(s) and environment(s) for Python scripts and applications.
Benchmarking indicates the CGIplus/RTE use reduces activation time to 3% of CGI
...
...
@@ -265,7 +271,7 @@
<pre
class=
"code"
>
# HTTPD$MAP
exec /py-bin/* (cgi_exe:pyrte)/
ht
_root/src/python/scripts/* \
exec /py-bin/* (cgi_exe:pyrte)/
wasd
_root/src/python/scripts/* \
script=syntax=unix script=query=none map=once ods=5
</pre>
...
...
@@ -304,10 +310,10 @@
directory:
<blockquote>
<a
target=
"_blank"
href=
"/
ht
_root/src/python/scripts/"
>
/
ht
_root/src/python/scripts/
</a>
<a
target=
"_blank"
href=
"/
wasd
_root/src/python/scripts/"
>
/
wasd
_root/src/python/scripts/
</a>
</blockquote>
<a
name=
"wsgi"
>
<h2>
Web Server Gateway Interface
</h2>
</a>
...
...
@@ -308,10 +314,10 @@
</blockquote>
<a
name=
"wsgi"
>
<h2>
Web Server Gateway Interface
</h2>
</a>
<p>
PyRTE
contains a Web Server Gateway Interface v1.0 (WSGI). This is a
<p>
<span
class=
"pyrte"
>
PyRTE
</span>
contains a Web Server Gateway Interface v1.0 (WSGI). This is a
Python standard specification for web servers and application servers to
communicate with web applications (though it can also be used for more than
that).
...
...
@@ -330,7 +336,7 @@
and generously made available to the wider WASD community.
<p>
The following is an example of a simple (and classic) WSGI application
being activated using the
PyRTE
<tt>
wasd.wsgi_run()
</tt>
function.
being activated using the
<span
class=
"pyrte"
>
PyRTE
</span>
<tt>
wasd.wsgi_run()
</tt>
function.
<pre
class=
"code"
>
def hello_world (environ, start_response):
...
...
@@ -345,11 +351,11 @@
<h3>
WSGI Output Buffering
</h3>
<p>
PEP 333 specifies that WSGI should not buffer output and
pyRTE complies but
some tools (like Mercurial) don't buffer internally themselves and end up
sending many very small records. This is obviously inefficient. If buffered
the throughput boost for Mercurial is
about x4. Well worth having for
specific Web applications.
<p>
PEP 333 specifies that WSGI should not buffer output and
<span
class=
"pyrte"
>
PyRTE
</span>
complies but some tools (like Mercurial) don't
buffer internally themselves and end up sending many very small records. This
is obviously inefficient. If buffered
the throughput boost for Mercurial is
about x4. Well worth having for
specific Web applications.
<p>
This forced buffering may be enabled on a per-application basis using a
mapping rule, for example
...
...
@@ -381,7 +387,7 @@
<p>
The Python code in the script may be inspected from the source directory:
<blockquote>
<a
target=
"_blank"
href=
"/
ht
_root/src/python/scripts/"
>
/
ht
_root/src/python/scripts/
</a>
<a
target=
"_blank"
href=
"/
wasd
_root/src/python/scripts/"
>
/
wasd
_root/src/python/scripts/
</a>
</blockquote>
<p>
There are also equivalent
<tt>
wsgiref
</tt>
(the Python reference
...
...
@@ -394,7 +400,7 @@
<p>
Python scripts activated using the default persistent engine generally have
low-latency, low-system-impact characteristics and seem to perform reliably and
efficiently. The
PyRTE
generally handles all the WASD server interaction
efficiently. The
<span
class=
"pyrte"
>
PyRTE
</span>
generally handles all the WASD server interaction
requirements. However there may be occasions where the application itself
benefits from being persistent (many Python Web application are written with
this in mind) or where more control needs to be exercised by the application
...
...
@@ -398,5 +404,5 @@
requirements. However there may be occasions where the application itself
benefits from being persistent (many Python Web application are written with
this in mind) or where more control needs to be exercised by the application
designer. The WASD
PyRTE
provides a WASD Python module that provides an API
designer. The WASD
<span
class=
"pyrte"
>
PyRTE
</span>
provides a WASD Python module that provides an API
for some of these aspects. Rather than clutter this document with such arcane
...
...
@@ -402,4 +408,4 @@
for some of these aspects. Rather than clutter this document with such arcane
detail the description may be found in the prologue to the
PyRTE
source code:
detail the description may be found in the prologue to the
<span
class=
"pyrte"
>
PyRTE
</span>
source code:
<blockquote>
...
...
@@ -404,9 +410,9 @@
<blockquote>
<a
target=
"_blank"
href=
"/
ht
_root/src/python/pyrte.c"
>
/
ht
_root/src/python/pyrte.c
</a>
<a
target=
"_blank"
href=
"/
wasd
_root/src/python/pyrte.c"
>
/
wasd
_root/src/python/pyrte.c
</a>
</blockquote>
<p>
An example of where an application benefits from an explicitly CGIplus
activation is MoinMoin:
<ul>
...
...
@@ -407,12 +413,11 @@
</blockquote>
<p>
An example of where an application benefits from an explicitly CGIplus
activation is MoinMoin:
<ul>
<li><a
target=
"_blank"
href=
"http://moinmoin.wikiwikiweb.de/"
>
http://moinmoin.wikiwikiweb.de/
</a>
<li><a
target=
"_blank"
href=
"http://www.vmspython.org/MoinMoin"
>
http://www.vmspython.org/MoinMoin
</a>
<li><a
target=
"_blank"
href=
"http://www.vmspython.org/DownloadAndInstallationMoinMoin"
>
http://www.vmspython.org/DownloadAndInstallationMoinMoin
</a>
<li><a
target=
"_blank"
href=
"https://moinmo.in"
>
https://moinmo.in
</a>
<li><a
target=
"_blank"
href=
"https://www.vmspython.org/DownloadAndInstallationMoinMoin"
>
https://www.vmspython.org/DownloadAndInstallationMoinMoin
</a>
</ul>
<p>
MoinMoin is generally run independently to a system's primary Web server
...
...
@@ -427,8 +432,8 @@
package).
<blockquote>
<a
target=
"_blank"
href=
"/
ht
_root/src/python/moincgiplus.com"
>
/
ht
_root/src/python/moincgiplus.com
</a>
<a
target=
"_blank"
href=
"/
wasd
_root/src/python/moincgiplus.com"
>
/
wasd
_root/src/python/moincgiplus.com
</a>
</blockquote>
<p>
The same principles may be applied to any application environment
(third-party or in-house) with similar characteristics. Python applications
...
...
@@ -431,8 +436,8 @@
</blockquote>
<p>
The same principles may be applied to any application environment
(third-party or in-house) with similar characteristics. Python applications
running as CGIplus scripts using the
PyRTE
must be activated via DCL wrappers
running as CGIplus scripts using the
<span
class=
"pyrte"
>
PyRTE
</span>
must be activated via DCL wrappers
as illustrated above (in part due to mapping requirements).
<p>
With CGIplus persistent applications configuration or code changes will in
...
...
@@ -448,8 +453,8 @@
</a>
<ul>
<li>
With the
PyRTE
kit ... Mark.Daniel@wasd.vsm.com.au
<li>
With the
<span
class=
"pyrte"
>
PyRTE
</span>
kit ... Mark.Daniel@wasd.vsm.com.au
<li>
With the VMS Python kit ... jf.pieronne@gmail.com
<li>
The info-WASD mailing list
</ul>
...
...
@@ -452,9 +457,9 @@
<li>
With the VMS Python kit ... jf.pieronne@gmail.com
<li>
The info-WASD mailing list
</ul>
<p>
Unfortunately the author of the
PyRTE
interface is such a Python novice he
<p>
Unfortunately the author of the
<span
class=
"pyrte"
>
PyRTE
</span>
interface is such a Python novice he
is not in any position to answer queries about Python "programming" or usage.
There is the VMS Python Wiki
<blockquote>
...
...
@@ -457,10 +462,10 @@
is not in any position to answer queries about Python "programming" or usage.
There is the VMS Python Wiki
<blockquote>
<a
target=
"_blank"
href=
"http://www.vmspython.org/"
>
http://www.vmspython.org/
</a>
<a
target=
"_blank"
href=
"http
s
://www.vmspython.org/"
>
http
s
://www.vmspython.org/
</a>
</blockquote>
<p>
and support forum
<blockquote>
...
...
@@ -462,9 +467,9 @@
</blockquote>
<p>
and support forum
<blockquote>
<a
target=
"_blank"
href=
"http://
www
.vmspython.org/
piforum/index.py
"
>
http://
www
.vmspython.org/
piforum/index.py
</a>
<a
target=
"_blank"
href=
"http
s
://
forum
.vmspython.org/"
>
http
s
://
forum
.vmspython.org/
</a>
</blockquote>
<p>
for VMS Python issues. If there's an obvious behavioural problem with
...
...
@@ -468,9 +473,75 @@
</blockquote>
<p>
for VMS Python issues. If there's an obvious behavioural problem with
PyRTE then contact the author or use the info-WASD mailing list.
<span
class=
"pyrte"
>
PyRTE
</span>
then contact the author or use the info-WASD mailing list.
<a
name=
"releases"
>
<h2>
Releases
</h2>
</a>
<dl>
<dt>
v1.1.12
30-JUL-2017
</dt>
<dd>
•
wasd.cgi_callout()
<dd>
•
bugfix
</dd>
<dt>
v1.1.11
20-JUN-2013
</dt>
<dd>
•
bugfix
</dd>
<dt>
v1.1.10
05-NOV-2011
</dt>
<dd>
•
Python 2.7.2, see changes to includes
</dd>
<dt>
v1.1.9
27-FEB-2011
</dt>
<dd>
•
/CLI= to allow a command-line script activation
<dd>
•
logical PYRTE_METRICS enables "?$metrics$" report
</dd>
<dt>
v1.1.8
20-JUL-2010
</dt>
<dd>
•
WASD v10.1 proctor detect
</dd>
<dt>
v1.1.7
17-MAY-2010
</dt>
<dd>
•
bugfix
</dd>
<dt>
v1.1.6
30-APR-2010
</dt>
<dd>
•
bugfix
</dd>
<dt>
v1.1.5
29-APR-2010
</dt>
<dd>
•
PYRTE_HEAD_CVT_GET and script=param=PYRTE=/HEAD=GET
</dd>
<dt>
v1.1.4
08-DEC-2009
</dt>
<dd>
•
bugfix
</dd>
<dt>
v1.1.3
07-DEC-2009
</dt>
<dd>
•
bugfix
</dd>
<dt>
v1.1.2
19-APR-2008
</dt>
<dd>
•
bugfix
</dd>
<dt>
v1.1.1
17-JAN-2008
</dt>
<dd>
•
bugfix
</dd>
<dt>
v1.1.0
05-JAN-2008
</dt>
<dd>
•
WSGI support
</dd>
</dd>
<dt>
v1.0.0
22-APR-2007
</dt>
<dd>
•
initial
</dd>
</dd>
</dl>
<a
name=
"ackn"
>
<h2>
Acknowlegements
</h2>
</a>
...
...
@@ -472,8 +543,8 @@
<a
name=
"ackn"
>
<h2>
Acknowlegements
</h2>
</a>
<p>
Many thanks to Jean-Fran
çois Pié
ronne for his initial port of
Python to VMS
and his energetic, ongoing maintenance of the product.
<p>
Many thanks to Jean-Fran
ç
ois Pi
é
ronne for his initial port of
Python to VMS
and his energetic, ongoing maintenance of the product.
...
...
@@ -479,5 +550,5 @@
<
br
><hr
align=
"left"
size=
"1"
noshade
><br>
<
p
><hr
align=
"left"
size=
"1"
noshade
><br>
</body>
</html>
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment