# zhmcclient - A pure Python client library for the IBM Z HMC Web Services API
[![Version on Pypi](https://img.shields.io/pypi/v/zhmcclient.svg)](https://pypi.python.org/pypi/zhmcclient/)
[![Test status (master)](https://github.com/zhmcclient/python-zhmcclient/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/zhmcclient/python-zhmcclient/actions/workflows/test.yml?query=branch%3Amaster)
[![Docs status (master)](https://readthedocs.org/projects/python-zhmcclient/badge/?version=latest)](https://readthedocs.org/projects/python-zhmcclient/builds/)
[![Test coverage (master)](https://coveralls.io/repos/github/zhmcclient/python-zhmcclient/badge.svg?branch=master)](https://coveralls.io/github/zhmcclient/python-zhmcclient?branch=master)
[![CodeClimate status](https://codeclimate.com/github/zhmcclient/python-zhmcclient/badges/gpa.svg)](https://codeclimate.com/github/zhmcclient/python-zhmcclient)
# 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](http://www.ibm.com/systems/z/) or
[LinuxONE](http://www.ibm.com/systems/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:
``` bash
$ pip install zhmcclient
```
For more details, see the
[Installation section](http://python-zhmcclient.readthedocs.io/en/master/intro.html#installation)
in the documentation.
# Quickstart
The following example code lists the partitions on CPCs in DPM mode that
are accessible for the user:
``` python
#!/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:
``` text
P000S67B PART1
P000S67B PART2
P0000M96 PART1
```
# Documentation and Change Log
For the latest released version on PyPI:
- [Documentation](http://python-zhmcclient.readthedocs.io)
- [Change
log](http://python-zhmcclient.readthedocs.io/en/master/changes.html)
# 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](https://github.com/zhmcclient/zhmccli).
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](https://pypi.python.org/pypi/zhmccli) to its
dependencies.
# Contributing
For information on how to contribute to this project, see the
[Development section](http://python-zhmcclient.readthedocs.io/en/master/development.html)
in the documentation.
# License
The zhmcclient package is licensed under the
[Apache 2.0 License](https://github.com/zhmcclient/python-zhmcclient/tree/master/LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "zhmcclient",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Andreas Maier <maiera@de.ibm.com>, Kathir Velusamy <kathir.velu@in.ibm.com'>",
"keywords": "hmc, client",
"author": null,
"author_email": "Juergen Leopold <leopoldj@de.ibm.com>, Andreas Maier <maiera@de.ibm.com>",
"download_url": "https://files.pythonhosted.org/packages/c1/60/2200a6fef8f379b5d191646598e45a1a0cf34e2f9c8134e9ed02d5ca24d9/zhmcclient-1.17.2.tar.gz",
"platform": "any",
"description": "# zhmcclient - A pure Python client library for the IBM Z HMC Web Services API\n\n[![Version on Pypi](https://img.shields.io/pypi/v/zhmcclient.svg)](https://pypi.python.org/pypi/zhmcclient/)\n[![Test status (master)](https://github.com/zhmcclient/python-zhmcclient/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/zhmcclient/python-zhmcclient/actions/workflows/test.yml?query=branch%3Amaster)\n[![Docs status (master)](https://readthedocs.org/projects/python-zhmcclient/badge/?version=latest)](https://readthedocs.org/projects/python-zhmcclient/builds/)\n[![Test coverage (master)](https://coveralls.io/repos/github/zhmcclient/python-zhmcclient/badge.svg?branch=master)](https://coveralls.io/github/zhmcclient/python-zhmcclient?branch=master)\n[![CodeClimate status](https://codeclimate.com/github/zhmcclient/python-zhmcclient/badges/gpa.svg)](https://codeclimate.com/github/zhmcclient/python-zhmcclient)\n\n# Overview\n\nThe zhmcclient package is a client library written in pure Python that\ninteracts with the Web Services API of the Hardware Management Console\n(HMC) of [IBM Z](http://www.ibm.com/systems/z/) or\n[LinuxONE](http://www.ibm.com/systems/linuxone/) machines. The goal of\nthis package is to make the HMC Web Services API easily consumable for\nPython programmers.\n\nThe HMC Web Services API is the access point for any external tools to\nmanage the IBM Z or LinuxONE platform. It supports management of the\nlifecycle and configuration of various platform resources, such as\npartitions, CPU, memory, virtual switches, I/O adapters, and more.\n\nThe zhmcclient package encapsulates both protocols supported by the HMC\nWeb Services API:\n\n- REST over HTTPS for request/response-style operations driven by the\n client. Most of these operations complete synchronously, but some\n long-running tasks complete asynchronously.\n- JMS (Java Messaging Services) for notifications from the HMC to the\n client. This can be used to be notified about changes in the system,\n or about completion of asynchronous tasks started using REST.\n\n# Installation\n\nThe quick way:\n\n``` bash\n$ pip install zhmcclient\n```\n\nFor more details, see the\n[Installation section](http://python-zhmcclient.readthedocs.io/en/master/intro.html#installation)\nin the documentation.\n\n# Quickstart\n\nThe following example code lists the partitions on CPCs in DPM mode that\nare accessible for the user:\n\n``` python\n#!/usr/bin/env python\n\nimport zhmcclient\nimport requests.packages.urllib3\nrequests.packages.urllib3.disable_warnings()\n\n# Set these variables for your environment:\nhost = \"<IP address or hostname of the HMC>\"\nuserid = \"<userid on that HMC>\"\npassword = \"<password of that HMC userid>\"\nverify_cert = False\n\nsession = zhmcclient.Session(host, userid, password, verify_cert=verify_cert)\nclient = zhmcclient.Client(session)\nconsole = client.consoles.console\n\npartitions = console.list_permitted_partitions()\nfor part in partitions:\n cpc = part.manager.parent\n print(\"{} {}\".format(cpc.name, part.name))\n```\n\nPossible output when running the script:\n\n``` text\nP000S67B PART1\nP000S67B PART2\nP0000M96 PART1\n```\n\n# Documentation and Change Log\n\nFor the latest released version on PyPI:\n\n- [Documentation](http://python-zhmcclient.readthedocs.io)\n- [Change\n log](http://python-zhmcclient.readthedocs.io/en/master/changes.html)\n\n# zhmc CLI\n\nBefore version 0.18.0 of the zhmcclient package, it contained the zhmc\nCLI. Starting with zhmcclient version 0.18.0, the zhmc CLI has been\nmoved from this project into the new\n[zhmccli project](https://github.com/zhmcclient/zhmccli).\n\nIf your project uses the zhmc CLI, and you are upgrading the zhmcclient\npackage from before 0.18.0 to 0.18.0 or later, your project will need to\nadd the [zhmccli package](https://pypi.python.org/pypi/zhmccli) to its\ndependencies.\n\n# Contributing\n\nFor information on how to contribute to this project, see the\n[Development section](http://python-zhmcclient.readthedocs.io/en/master/development.html)\nin the documentation.\n\n# License\n\nThe zhmcclient package is licensed under the\n[Apache 2.0 License](https://github.com/zhmcclient/python-zhmcclient/tree/master/LICENSE).\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "A pure Python client library for the IBM Z HMC Web Services API",
"version": "1.17.2",
"project_urls": {
"Bug Tracker": "https://github.com/zhmcclient/python-zhmcclient/issues",
"Changelog": "https://python-zhmcclient.readthedocs.io/en/master/changes.html",
"Documentation": "https://python-zhmcclient.readthedocs.io",
"Homepage": "https://github.com/zhmcclient/python-zhmcclient",
"Source Code": "https://github.com/zhmcclient/python-zhmcclient"
},
"split_keywords": [
"hmc",
" client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b59625ea6e7c1aaf28905c1eb353c39cce033af7738e7735d2841570e9ebe3c9",
"md5": "c8e020e0a8cd4ed86e8001165a828f6e",
"sha256": "84e8d331470a281a5f42018348b16f4040f567ee7e1edbdb631b5e0d55b0eada"
},
"downloads": -1,
"filename": "zhmcclient-1.17.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c8e020e0a8cd4ed86e8001165a828f6e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 314897,
"upload_time": "2024-10-04T07:59:21",
"upload_time_iso_8601": "2024-10-04T07:59:21.801096Z",
"url": "https://files.pythonhosted.org/packages/b5/96/25ea6e7c1aaf28905c1eb353c39cce033af7738e7735d2841570e9ebe3c9/zhmcclient-1.17.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c1602200a6fef8f379b5d191646598e45a1a0cf34e2f9c8134e9ed02d5ca24d9",
"md5": "e897655498e053800a716a2004a3087d",
"sha256": "e183d2c94513c8d39de3488e48dd6b1dae87154a7fb6a018d25520cf1d333a19"
},
"downloads": -1,
"filename": "zhmcclient-1.17.2.tar.gz",
"has_sig": false,
"md5_digest": "e897655498e053800a716a2004a3087d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 603092,
"upload_time": "2024-10-04T07:59:23",
"upload_time_iso_8601": "2024-10-04T07:59:23.556392Z",
"url": "https://files.pythonhosted.org/packages/c1/60/2200a6fef8f379b5d191646598e45a1a0cf34e2f9c8134e9ed02d5ca24d9/zhmcclient-1.17.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-04 07:59:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zhmcclient",
"github_project": "python-zhmcclient",
"travis_ci": true,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "decorator",
"specs": [
[
">=",
"4.0.11"
]
]
},
{
"name": "pytz",
"specs": [
[
">=",
"2019.1"
],
[
"!=",
"2024.2"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.32.2"
]
]
},
{
"name": "stomp-py",
"specs": [
[
">=",
"8.1.1"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
">=",
"2.8.2"
]
]
},
{
"name": "immutable-views",
"specs": [
[
">=",
"0.6.0"
]
]
},
{
"name": "nocasedict",
"specs": [
[
">=",
"1.0.2"
]
]
},
{
"name": "PyYAML",
"specs": [
[
">=",
"6.0.2"
]
]
},
{
"name": "yamlloader",
"specs": [
[
">=",
"0.5.5"
]
]
},
{
"name": "jsonschema",
"specs": [
[
">=",
"4.0.1"
]
]
},
{
"name": "urllib3",
"specs": [
[
">=",
"1.26.19"
]
]
},
{
"name": "pyrsistent",
"specs": [
[
">=",
"0.20.0"
]
]
},
{
"name": "websocket-client",
"specs": [
[
">=",
"1.8.0"
]
]
},
{
"name": "certifi",
"specs": [
[
">=",
"2024.07.04"
]
]
}
],
"tox": true,
"lcname": "zhmcclient"
}