Skip to content

zenoss/pywbem

Repository files navigation

Pywbem - A WBEM client and related utilities, written in pure Python

Version on Pypi

Travis test status (master)

Appveyor test status (master)

Docs build status (master)

Test coverage (master)

image

PyPI - Python Version

Overview

Pywbem is a WBEM client and WBEM indication listener, written in pure Python. It runs on Python 2 and Python 3.

The latest released version of pywbem is 0.14.3.

The major components of pywbem are shown in this diagram:

alternate text

A WBEM client allows issuing operations to a WBEM server, using the CIM operations over HTTP (CIM-XML) protocol defined in the DMTF standards DSP0200 and DSP0201. The CIM/WBEM infrastructure is used for a wide variety of systems management tasks supported by systems running WBEM servers. See WBEM Standards for more information about WBEM and these standards.

A WBEM indication listener allows receiving indications generated by a WBEM server.

Pywbem also includes higher level classes to support typical WBEM client activities:

  • WBEMSubscriptionManager - provides APIs for viewing and managing indication subscriptions on a WBEM server.
  • WBEMServer - provides APIs for managing basic characteristics of a WBEM server including:
    • finding CIM namespaces and the Interop namespace,
    • finding WBEM management profiles,
    • finding basic information about the WBEM server.

Installation

To install the latest released version of pywbem on Linux:

  • Install the prerequisite OS-level packages:
    • Download the script
    • Execute that script:

      $ ./pywbem_os_setup.sh
  • With your target Python environment active, install pywbem:

    $ pip install pywbem

    This will also install any prerequisite Python packages.

For more details, installation on other operating systems, and alternative ways to install, see the Installation section in the pywbem documentation.

Documentation

The latest pywbem documentation is available on ReadTheDocs:

The documentation includes API documentation, user documentation, tutorial documentation, developer documentation.

This includes a number of Jupyter notebooks that act as a Tutorial and provide working examples of pywbem API usage.

There are also a number of Presentations on the status, concepts, and implementation of pywbem available.

The detailed change history for the latest released version in the Change log section.

Command line tools

Pywbem includes two command line tools:

  • wbemcli - An interactive shell for issuing WBEM operations against a WBEM server. In addition to executing the WBEM operations directly, simple scripts can be created to be executed within wbemcli.
  • mof_compiler - A MOF compiler to compile MOF into repositories (e.g. WBEM servers) or to test compile MOF.

Quick Start

The following simple example script lists the namespaces and the Interop namespace in a particular WBEM server:

#!/usr/bin/env python

import pywbem

server_uri = 'http://localhost'
user = 'fred'
password = 'blah'

conn = pywbem.WBEMConnection(server_uri, (user, password))

server = pywbem.WBEMServer(conn)

print("Interop namespace:\n  %s" % server.interop_ns)

print("All namespaces:")
for ns in server.namespaces:
    print("  %s" % ns)

Project Planning

For each upcoming release, the bugs and feature requests that are planned to be addressed in that release are listed in the issue tracker with an according milestone set that identifies the target release. The due date on the milestone definition is the planned release date. There is usually also an issue that sets out the major goals for an upcoming release.

Planned Next Release

Pywbem 1.0.0 is in development.

Pywbem 1413 1413 defines the basic direction for version 1.0.0.

Contributing

For information on how to contribute to pywbem, see the Contributing section in the pywbem documentation.

License

Pywbem is provided under the GNU Lesser General Public License (LGPL) version 2.1, or (at your option) any later version.