Open and extract (unload) XMI/AWS/HET mainframe files.
Project description
NETDATA, AWSTAPE and HET File Python Library
Open and extract (unload) XMI/AWS/HET mainframe files.
Installation
You can install the xmi library from PyPI using:
python3 -m pip install xmi-reader
How to Use
The most simple way to use this library is to import this module and use
xmi.open_file() to open an XMI, AWS, or HET file::
import xmi
xmi_obj = xmi.open_file("/path/to/file.xmi")
het_obj = xmi.open_file("/path/to/file.het")
aws_obj = xmi.open_file("/path/to/file.aws")
To list all datasets and dataset members::
for f in het_obj.get_files():
if het_obj.is_pds(f):
for m in het_obj.get_members(f):
print("{}({})".format(f, m))
else:
print(f)
Print JSON metatdata::
print(xmi_obj.get_json())
print(het_obj.get_json(text=True)) # Adds plaintext files to json output
print(aws_obj.get_json(indent=6)) # Increases the json indent
Silently extract all files/folders to /tmp/xmi_files/::
aws_obj.set_output_folder("/tmp/xmi_files/")
aws_obj.set_quiet(True)
aws_obj.extract_all()
Print detailed file information::
xmi_obj.print_details()
xmi_obj.print_xmit() # Same output as previous, print_xmit() is an alias to print_details()
het_obj.print_tape() # print_tape() is an alias to print_details()
aws_obj.print_tape(human=True) # Converts size to human readable
Print message:
if xmi_obj.has_message():
print(xmi_obj.get_message())
# or just
print(xmi_obj.get_message()) # Prints 'None' if no message
If you you're having problems with the library or want to see whats happening behind the scenes you can enable debugging:
import logging
import xmi
xmi_obj = xmi.XMIT(filename="/path/to/file.xmi",loglevel=logging.DEBUG)
xmi_obj.open()
Command-line tools
After pip install xmi-reader two commands are available in your PATH.
extractxmi — open, list and extract XMI / AWS / HET files:
extractxmi -l FILE.XMI # list contents
extractxmi FILE.XMI # extract everything
extractxmi FILE.XMI "MY.PDS(MEMBER)" # extract one member
extractxmi -pH FILE.XMI # print detailed metadata
extractxmi FILE.XMI --outputdir /tmp/out/ # extract to a folder
extractxmi --help # full option list
createxmi — create an XMI file from a local file or folder:
createxmi myfolder/ # folder → PDS XMI
createxmi myfolder/ -o MY.XMI --dsn MY.PDS # set output & DSN
createxmi myfolder/ -o MY.XMI --from-user IBMUSER # set ISPF owner
createxmi myfile.jcl -o SEQ.XMI --dsn MY.SEQ # file → sequential XMI
createxmi xmi_folder/ -o MULTI.XMI --dsn MULTI.PDS # XMI-in-XMI container
createxmi --help # full option list
More Information
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xmi_reader-1.0.1.tar.gz.
File metadata
- Download URL: xmi_reader-1.0.1.tar.gz
- Upload date:
- Size: 48.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92baf636fc4fea721812ad02fed210640552248fab5c16f6d1fa8955c28953da
|
|
| MD5 |
bdfeb3995b4739f448b73f29dde00a68
|
|
| BLAKE2b-256 |
08d80fc1637f61d1b4df3a81f14c968ad826e3ecaea5e00da8097afcd48f7a24
|
File details
Details for the file xmi_reader-1.0.1-py3-none-any.whl.
File metadata
- Download URL: xmi_reader-1.0.1-py3-none-any.whl
- Upload date:
- Size: 45.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc698e4de42abcfdce9cb48c808d28942ebb4961ea3b878eadd9cb9c3fee1bac
|
|
| MD5 |
9dd5c06a173972242f393594f1f74197
|
|
| BLAKE2b-256 |
de73a7e06775cc2a7313005a79fda678dcdf39c5027d61f98a36d6a1ced48a7f
|