pywbem (Python SMI-S client) version 0.13.0 Released

Skip to first unread message

Karl Schopmeyer

Feb 27, 2019, 5:27:53 PM2/27/19
to SMI-S Developers Group

The pybwem project released pywbem version 0.13.0 Saturday 23 Feb. 2019.

This version is now available on PyPi and from the pywbem gihub respository as github branch_0.13

The documentation for this release is available on ReadTheDocs:

This is a minor release and is backward compatible with the previous pywbem release (0.12) except for compatibility exceptions noted in the pywbem changes documentation.

There are a significant number of changes in this release. The following is an overview of some of the important changes that users should take notice of.  For more information please see the detailed changes list at :


The most significant enhancements include:

    - You should now be able to install and use the pywbem development environment in a native windows environment. We improved pywbem installation both from PyPi and github clone installation and in particular Windows. We extended the installation of both pip pywbem and the use of the pywbem development environment through git clone of pywbem to native windows.  In previous versions we had limited the installation of the development environment on windows platforms to platforms such as cygwin installed because of development tools (ex. GNU make) . 

    - You should be able to use the pywbem method WBEMServer.get_scoping_instances() to access scoping and central instances on a WBEM server.  We corrected issues in both pywbem and the SNIA SMI-S specification (the specification changes are reflected in version 1.8 of the SMI-S specification) to this method and use registered profiles in the WBEM server as the means to access central and scoping instances of profiles defined for a particular server.

    - Extended the pywbem_mock environment to handle namespaces and to create mock environments from the DMTF CIM schema.

    - Added a end-to-end, multiple WBEM server test environment so that tests can be run in the pywbem development environment against a collection of predefined real WBEM servers.

    - Extended the operation response processing to more gracefully handle WBEM server issues like model incompatibilities and invalid XML in the returned responses.

    - Extended the MOFWBEMConnection class to use the capability of the MOF compiler to search the defined search path for dependent classes. This means that the compiler can be used to compile complete class repositories by defining only the leaf classes to be compiled.

    - Extended pywbem error handling to better handle WBEM server errors including:

        * Extend the operation response processing to more gracefully handle WBEM server issues like model incompatibilities and invalid XML in the returned responses.

       * Extend pywbem warnings and exceptions to avoid multiple exceptions if the parameters cannot be properly processed (ex. invalid unicode).

    - Extended a number of the pywbem classes to add new methods and extend existing methods that testing and usage demonstrated could be useful:

        * ValueMapping class to handle non-decimal integers,

        * CIMInstance static method (from_class) to build an instance from a CIMClass,

        * Added support for manipulating namespaces a the WBEM server with new methods WBEMServer.create_namepace() and WBEMServer.delete_namespace(),

        * Extended support for the WBEM URI format (a string representation of a CIMInstanceName with an optional format ("canonical") that normalizes the strings. This was important because it makes comparing CIMInstanceName strings and lists of strings much simpler.

   - Extended WBEM server error handling by adding an 'instances' property to the CIMError exception class so that any CIMError instances provided by the WBEM server as part of an error are passed to the pywbem caller.

    - Added support for python 3.7

    - Modified the use of some of the diagnostic data returned with the responses to WBEM requests (last_raw_request and last_raw_reply) to always be available to the caller and not be dependent on the WBEMConnection debug attribute.

    - Added another notebook to the pywbem documentation tutorials.

Bug fixes

Corrected about 30 issues in the pywbem code.

See the detailed changes  documentation in the on line documentation:

Test and build changes

Added functionality to execute end-to-end tests against a predefined set of WBEM servers defined by a configuration file. We added specific tests for the pywbem WBEMServer class and specifically registered profiles both general and specific tests for smis servers and for the WBEMServer.get_central_instances() method . This  capability is part of the pywbem test environment and is available only when pywbem is cloned from github.

Modified the test environment to:

    * Extended the pywbem testsuite,

    * Completely reorganize the test directories,

Overall test coverage for pywbem grew to 84% for this release

Incompatible changes

There were 6 changes in this version that should be considered incompatibilities. In general they should not affect users but, please see the heading "Incompatible changes:" in :

for a detailed list.

Next steps with pywbem

1. Release version 0.14.0 specifically because of some issues that we want to incorporate rapidly.

2. After 0.14.0 we expect that the following version will be version 1.0.0. That version of pywbem should be considered incompatible and will remove support for Python 2.6 (currently deprecated)

We thank our users for the continued use of and support of pywbem. Please feel free to pass this mail on to anybody interested in pywbem or SMI-S.

The pywbem project team
Karl Schopmeyer
tel: 972-814-5581
Reply all
Reply to author
0 new messages