Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xmi_reader-1.0.5.tar.gz (58.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xmi_reader-1.0.5-py3-none-any.whl (49.7 kB view details)

Uploaded Python 3

File details

Details for the file xmi_reader-1.0.5.tar.gz.

File metadata

  • Download URL: xmi_reader-1.0.5.tar.gz
  • Upload date:
  • Size: 58.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xmi_reader-1.0.5.tar.gz
Algorithm Hash digest
SHA256 6b24b8dc5b152796d578fe9ab32ab86244b6cade3c18aab1eeff9cb337c5e9fa
MD5 6c2800ade7645710317377fdbdb09fa6
BLAKE2b-256 1fee8a5cc94cf5abd022189059f3373289d251f25305b14c230e967f5959804c

See more details on using hashes here.

File details

Details for the file xmi_reader-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: xmi_reader-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 49.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xmi_reader-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e35cac9d9f2af8503ffabbecc2d965ab0296620d52e7cf68d0a906ec8195233b
MD5 0dd369f16faa1e3c3f849ac6526f624a
BLAKE2b-256 53abd5e71131cb0391b3d5cf3a2a3e66c203199a2b3bbd9582152efda1b56ee9

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.6.0

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.2

2 files

0.5.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page