(LOGO.JPG) Python for OpenVMS

reason for this chapter

I always enjoy reading about the history of a program package. Python's history is described in the file [.MISC]HISTORY. If you are interested in the history of Python for OpenVMS, then read on.

first contact + Python V1.3

I first heard about Python when reading issue 3/96 of the German 'LINUX MAGAZIN' (http://www.linux-magazin.de). Then I found out about the port of Python V1.2 to VMS from Donn Cave, enhanced and upgraded it to Python V1.3 (released on 13 October 1995) which was available at that time.

It took quite some work to get it running with DEC C and GNU C (problems with function prototypes and LINK). A lot of functions were missing in POSIXMODULE.

Python V1.4

Python V1.4 was released on 25 October 1996. I've ported one or two 1.4betas and was happy that I had to make less changes from one version to the other. I stopped any work with GNU C about that time.

This was the first version which I've released under the name 'PYVMS_970216'. The number suggests the date of 16 February 1997.

I've continued working with Python on OpenVMS about 5 month later. No, it wasn't a burn-out...

---

I've invested some time to provide additional routines like utime() or readdir() which are missing on older VMS versions. Item-code handling has been changed totally from arrays in 'C' source files (*_TRNTBL.C) to data files (VMSDEF_*.DAT) that are translated to macro sources (by VMSDEF2MAR.COM) and then run through the MACRO assembler (with the help of DMACRO_VMS.COM).

A lot of routines to the runtime library (LIB$, LBR$) and system services (SYS$) have been added. Please note that some of these routines are not available in VMS V5.5-2 or 6.0. The oldest OpenVMS releases I work with are OpenVMS VAX V6.1 and OpenVMS Alpha V6.2-1H3.
When running under DCL, Python provides a (simple) command history that has been implemented using the screen management library (SMG$). Note that Python is still line-oriented!

The compile procedures have been somewhat enhanced - one can supply a single file name as parameter_1 - I still don't use a make utility.

Python V1.5

I've moved the port to the beta releases of Python V1.5 and finally V1.5 which was released on 31 December 1997. It took some time to get around the prefix handling. Well, I still have no VMS compliant solution - I just created 2 dummy files in 2 directories to keep Python quiet and left it at that for the moment.

Next I've started working with callback-routines while implementing vms_lbr.output_help() and item-lists while writing vms_lib.set_logical(). It is amazing what one can do with Python!

In the midth of January 1998 I've began moving the documentation from a set of simple text files into HTML format. Conversion to '.TXT' files was done with a (modified) Python program I've found in the article of the German 'LINUX MAGAZIN', that got me started with Python.
Great, eh?

After some tests I've decided to change/ enhance the program to create output in RUNOFF format. RUNOFF - aka DSR - Digital Standard Runoff - is a text formatter that is supplied with the OpenVMS operating system. The conversion program is now named HTML2RNO.

Python V1.5.1

Python V1.5.1 was released on 14-APR-1998. I have moved the port to that version some days later and had applied almost all subsequent patches. Some work has been done to attack the 'prefix problem' (changed GETPATH.C), but it's not finished.

Since then I have put a lot of work into the documentation and additional DCL routines to support the maintenance.

The first snapshot (V1.5.1 V001P1) was put up on my private home page on www.decus.de at ??-MAY-1998.

The second snapshot (V1.5.1 V001P2) was put up on my private home page on www.decus.de at 30-JUL-1998.

The third snapshot (V1.5.1 V001P3) was released on 20-AUG-1998. The quadword support is provided by using Python's "long integer" datatype.

The fifth snapshot (V1.5.1 V001P5) has never been officially released.

The fourth snapshot (V1.5.1 V001P4) was released on 04-OCT-1998.

The sixth snapshot (V1.5.1 V001P6) was released on 27-DEC-1998.

The seventh snapshot (V1.5.1 V001P7) was released on 17-JAN-1999. Octawords are represented as Python long integers, too. The code of the interfaces has been cleaned up heavily.

A set of 'VMS objects' has been created during JAN/MAR-1999 and some RMS calls have been implemented. The first successfull SYS$GET was done on 11-FEB-1999. During that time the documentation has been split into 3 manuals.

Version 1.5.1-V008 was released on 27/28-MAR-1999.
Version 1.5.1-V009 (an update to V008) was released on 08-APR-1999.

Python V1.5.2

Version 1.5.2-V001 was released on 10-MAY-1999. The Python distribution is available in a repackaged format to make installation easier. Documentation is now in the following 3 manuals:

Version 1.5.2-V002 was released on 16-MAY-1999.
Version 1.5.2-V003 was released on 13-JUN-1999.
Version 1.5.2-V004 was released on 11-JUL-1999.
Version 1.5.2-V005 was released on 24-AUG-1999.

Version 1.5.2-V006 was released on 26-DEC-1999.
The name 'PYVMS' is being removed, because "VMS" and "OpenVMS" are trademarks of Compaq Computer Corporation.
Version 1.5.2-V007 was released on 14-AUG-2000.
It includes interface routines for most of the SMG$ calls, however not all are currently tested and documented. 2 snapshots (V007a + V007b) had been made available to a limited audience.


(go to: table of contents, index)

11-AUG-2000 ZE.