The only z/OS specific library is a utility package for tagging files
which is documented here
https://www.ibm.com/docs/en/python-zos/3.9?topic=package-documentation-zos-util.
Doc for disutils and building packages is here
https://www.ibm.com/docs/en/python-zos/3.9?topic=information-using-distutils-module.
The README includes information about what additional packages have been
included with the SDK. It's the same set as Rocket shipped with their
Python. Maybe I'm missing a trick here because IMO IBM have done a great
job with Python.
Post-Installation instructions:
-------------------------
Note:
In order for Python to operate correctly,
the following environment variables must be set:
export LIBPATH=<my dir>/usr/lpp/IBM/cyp/v3r10/pyz/lib
export _BPXK_AUTOCVT='ON'
export _CEE_RUNOPTS='FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)'
# if you are using a bash shell, you should also set these:
export _TAG_REDIR_ERR=txt
export _TAG_REDIR_IN=txt
export _TAG_REDIR_OUT=txt
Also please ensure that your PATH environment variable contains the 'bin'
directory for python. e.g.:
export PATH=<my dir>/usr/lpp/IBM/cyp/v3r10/pyz/bin:$PATH
2. Python location
==================
You will find the python executable in
the <my dir>/usr/lpp/IBM/cyp/v3r10/pyz/bin/ directory.
For example:
$ <my dir>/usr/lpp/IBM/cyp/v3r10/pyz/bin/python3 --version
or
$ python3 --version
Python 3.10.5
3. List of Bundled Packages
==============
IBM Open Enterprise SDK for Python includes several packages in addition to
the packages included in the default CPython distribution.
Package Version
------------ --------------------
cffi 1.14.6
cryptography 3.3.2
ebcdic 1.1.1
numpy 1.21.2
pip 22.1.2
pycparser 2.20
setuptools 58.3.0
six 1.16.0
zos_util 1.0.0
On 3/10/22 07:40, David Crayford wrote:
On 3/10/22 07:18, Farley, Peter x23353 wrote:
As the OP of the other thread on python documentation, let me answer
that what I expected from IBM for python documentation was the same
sort of Language Reference and Programmers Guide manuals as they
provide for all of the other major programming languages that they
support. My understanding at the moment is that that hasn't been
done and is not likely to be done.
Where, for instance, in the documentation that you linked to is there
information on whether the python "open()" function for files will or
will not support direct access to MVS datasets without transferring
them down to the Unix file system? I.E., are either of these calls
to the open() function valid or not:
Where is the language reference and programming language for Java on
z/OS? There isn't one, so why would Python be any different? The only
language references and guides you will find for Java is for products
such as DB2 or for z/OS specific toolkits such as JZOS.
There are no z/OS specific modifications to Python other than patches
for the build. If you want to open an MVS data set then write a
package using cutils to directly reference the C RTL without writing a
single line of C code. Once you have a library put it on pypi so
everybody can download it using "pip". Why do you expect IBM to
provide the function? They are working on a completely new set of
tooling and have limited resources.
https://medium.com/python-supply/working-with-foreign-functions-ee3b5e40f2ca
Myfile = open("//'MVS.DATA.SET.NAME", "rt", ccsid="1047")
Myfile = open("//:DDNAME", "rt", ccsid="1047") # This of course
assumes that a call to "bpxunix" (or by other means) has been used to
establish a DD allocation in the AS where the python program is
executing
In other words, where are the z/OS-specific enhancements to the
standard python functions and libraries documented (assuming there
are any such enhancements, which I am beginning to doubt)? For other
IBM-supported programming languages, that information would probably
be available in the Language Reference manual and practical examples
and performance-enhancing advice would be provided in the Programmers
Guide manual.
The first link that you provided is fine for the systems programmer
who installs the language on z/OS, but has basically nothing relevant
for the python application programmer.
The "zoautil_py" library does provide some "direct access" to MVS
datasets for python programs, but the package is quite "heavyweight"
and consumes a large amount of elapsed and CPU time to use, as recent
experimentation I have performed clearly showed. I found that
downloading an MVS dataset to the Unix file system with the "zowe"
CLI interface and accessing that file with "normal" python file
access functions proved far less expensive than using the
"zoautil_py" functions to access the same data. Nowhere in the
IBM-provided ZOAU documentation did I find any reference to
performance characteristics or performance-enhancing advice.
That separate python libraries for z/OS maintain separate python
documentation of their functionality is OK, but then the IBM-specific
library websites need to provide the same sort of automatic linking
to the library documentation that the standard python documentation
websites use. I.E., the IBM-specific libraries need to have their
documentation directly available on the
"<library-name>.readthedocs.io" website and linked to from their
specific page on the Pypi indexing website and not just at their
github location.
What IBM-specific library? There isn't one!
ISTM that IBM is a day late and a dollar short on application-level
documentation for this language on their systems.
I disagree. Maybe your expectations are unrealistic.
Peter
-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On
Behalf Of David Crayford
Sent: Saturday, October 1, 2022 9:35 PM
To: [email protected]
Subject: Re: IBM SMF Export with Python
On 2/10/22 01:31, Charles Mills wrote:
We LOVE Python.
When is IBM going to love it enough to ship it and document it as
though they loved it?
You can order Python via zShop and install it via SMP/E or download a
pax file. That's choice right there.
What's wrong with the doc?
https://www.ibm.com/docs/en/python-zos/3.10 has all the information I
need to install, customize and build extensions.
For z/OS specific Python libraries the doc is either shipped with the
product so as ZAOU or for open source projects with the code in a
repository. For example, the Python DB2 library and doc can be found
on Github https://github.com/ibmdb/python-ibmdb . z/OS specific doc
here
https://github.com/ibmdb/node-ibm_db*configure-odbc-driver-on-zos .
This is standard for any open source project. I understand that may
be uncomfortable to folks that have no experience working with open
source.
Another example is https://github.com/ambitus/pyzkiln which is
maintained by IBMers from Poughkeepsie but part of the OMP. Anybody
interested in writing Python libraries that include calling HLASM
should take a look at that repo.
Honestly, I don't see what the issue is with doc? It's no different
to Java. If I need doc for the JRE I read the Oracle doc. If I need
doc for Python I head on over to the Python doc. Everything I need
for z/OS is covered.
(Rhetorical question. I know that David does not know the answer.)
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]]
On Behalf Of David Crayford
Sent: Friday, September 30, 2022 11:09 PM
To: [email protected]
Subject: IBM SMF Export with Python
I know Python is not well received on this forum but as an example of
IBMs investment they have announced a new Python toolkit to process
SMF data using Jupyter notesbooks, an industry standard visualization
tool for analytics and machine learning. I understand many people
consider this stuff buzz words and fads but if you dig in a bit it's
very cool.
https://urldefense.com/v3/__https://zos-hot-topics.com/2022/SMF-Explor
er/__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!MOPAkGKkKJZy2370bbp_YxYtD_tyt93
x3LCeTXq7oDQMU30Ek0NS5KXliytjmf7z0s0cSc5sVoDMlT8NCCU5Lyk$
--
This message and any attachments are intended only for the use of the
addressee and may contain information that is privileged and
confidential. If the reader of the message is not the intended
recipient or an authorized representative of the intended recipient,
you are hereby notified that any dissemination of this communication
is strictly prohibited. If you have received this communication in
error, please notify us immediately by e-mail and delete the message
and any attachments from your system.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN