GitHunt
ZH

zhmcclient/python-zhmcclient

A pure Python client library for the IBM Z HMC Web Services API

zhmcclient - A pure Python client library for the IBM Z HMC Web Services API

Version on Pypi
Test status (master)
Docs status (master)
Test coverage (master)
CodeClimate status

Overview

The zhmcclient package is a client library written in pure Python that
interacts with the Web Services API of the Hardware Management Console
(HMC) of IBM Z or
LinuxONE machines. The goal of
this package is to make the HMC Web Services API easily consumable for
Python programmers.

The HMC Web Services API is the access point for any external tools to
manage the IBM Z or LinuxONE platform. It supports management of the
lifecycle and configuration of various platform resources, such as
partitions, CPU, memory, virtual switches, I/O adapters, and more.

The zhmcclient package encapsulates both protocols supported by the HMC
Web Services API:

  • REST over HTTPS for request/response-style operations driven by the
    client. Most of these operations complete synchronously, but some
    long-running tasks complete asynchronously.
  • JMS (Java Messaging Services) for notifications from the HMC to the
    client. This can be used to be notified about changes in the system,
    or about completion of asynchronous tasks started using REST.

Installation

The quick way:

$ pip install zhmcclient

For more details, see the
Installation section
in the documentation.

Quickstart

The following example code lists the partitions on CPCs in DPM mode that
are accessible for the user:

#!/usr/bin/env python

import zhmcclient
import requests.packages.urllib3
requests.packages.urllib3.disable_warnings()

# Set these variables for your environment:
host = "<IP address or hostname of the HMC>"
userid = "<userid on that HMC>"
password = "<password of that HMC userid>"
verify_cert = False

session = zhmcclient.Session(host, userid, password, verify_cert=verify_cert)
client = zhmcclient.Client(session)
console = client.consoles.console

partitions = console.list_permitted_partitions()
for part in partitions:
    cpc = part.manager.parent
    print("{} {}".format(cpc.name, part.name))

Possible output when running the script:

P000S67B PART1
P000S67B PART2
P0000M96 PART1

Documentation and Change Log

For the latest released version on PyPI:

zhmc CLI

Before version 0.18.0 of the zhmcclient package, it contained the zhmc
CLI. Starting with zhmcclient version 0.18.0, the zhmc CLI has been
moved from this project into the new
zhmccli project.

If your project uses the zhmc CLI, and you are upgrading the zhmcclient
package from before 0.18.0 to 0.18.0 or later, your project will need to
add the zhmccli package to its
dependencies.

Contributing

For information on how to contribute to this project, see the
Development section
in the documentation.

License

The zhmcclient package is licensed under the
Apache 2.0 License.

Languages

Python98.6%Makefile1.0%Shell0.4%Jinja0.1%
Apache License 2.0
Created August 23, 2016
Updated March 8, 2026
zhmcclient/python-zhmcclient | GitHunt