1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 """
23 PyWBEM provides a WBEM client library and some related utilities, written in
24 pure Python.
25
26 The WBEM client library allows issuing operations to a WBEM server, using
27 the CIM operations over HTTP (CIM-XML) protocol defined in the DMTF standards
28 DSP0200 and DSP0201. See http://www.dmtf.org/standards/wbem for information
29 about WBEM.
30
31 It is based on the idea that a good WBEM client should be easy to use and not
32 necessarily require a large amount of programming knowledge. It is suitable for
33 a large range of tasks from simply poking around to writing web and GUI
34 applications.
35
36 * `WBEMConnection` : Main class of the WBEM client library and a good starting
37 point to read about it.
38
39 The WBEM-related utilities included in this package are:
40
41 * `mof_compiler` : Script for compiling MOF files, can also be used as a
42 module.
43
44 * `cim_provider` : Module for writing CIM providers in Python.
45
46 * `cim_provider2` : Another module for writing CIM providers in Python.
47
48 * `twisted_client` : An experimental alternative WBEM client library that uses
49 the Python `twisted` package.
50
51 * `wbemcli` : Script providing a WBEM client CLI as an interactive shell.
52
53 Importing the `pywbem` package causes a subset of symbols from its sub-modules
54 to be folded into the target namespace.
55
56 The use of these folded symbols is shown for the example of class
57 `WBEMConnection`:
58
59 .. code:: python
60
61 import pywbem
62 conn = pywbem.WBEMConnection(...)
63
64 or:
65
66 .. code:: python
67
68 from pywbem import WBEMConnection
69 conn = WBEMConnection(...)
70
71 or (less preferred):
72
73 .. code:: python
74
75 from pywbem import *
76 conn = WBEMConnection(...)
77
78 The folded symbols' origin symbols in the sub-modules are also considered part
79 of the public interface of the `pywbem` package.
80
81 Programs using sub-modules that are not part of the WBEM client library, or
82 specific symbols that are not folded into the target namespace of the `pywbem`
83 package need to import the respective sub-modules explicitly.
84
85 The use of such sub-modules is shown for the example of class
86 `cim_provider.CIMProvider`:
87
88 .. code:: python
89
90 from pywbem import cim_provider
91 provider = cim_provider.CIMProvider(...)
92
93 or:
94
95 .. code:: python
96
97 from pywbem.cim_provider import CIMProvider
98 provider = CIMProvider(...)
99
100 or:
101
102 .. code:: python
103
104 import pywbem.cim_provider
105 provider = pywbem.cim_provider.CIMProvider(...)
106
107 Version
108 -------
109
110 This version of PyWBEM is 0.8.0-dev.
111
112 The version number follows the conventions of semantic versioning (see
113 http://semver.org/):
114
115 * M.N.U-dev : Preliminary version during development of the future M.N.U
116 release.
117 * M.N.U-rc.1 : Preliminary version for release candidate 1 of the future M.N.U
118 release.
119 * M.N.U : Final version for the M.N.U release.
120
121 When creating correspondingly versioned RPM packages, the hyphen (-) after
122 the M.N.U version needs to be replaced by a tilde (~) to cause RPM to correctly
123 treat the preliminary versions to be younger than the final version.
124
125 Changes
126 -------
127
128 The change log is in the `NEWS <../NEWS>`_ file.
129
130 Compatibility
131 -------------
132
133 PyWBEM has been tested with Python 2.7 on Windows and Linux, and with Python
134 2.6 on Linux (due to a restriction of the `M2Crypto` package on Windows).
135
136 Python 2.6 is the minimum version of Python that is supported.
137
138 Python 3 is not yet supported.
139
140 Contributing
141 ------------
142
143 PyWBEM is on SourceForge (http://sourceforge.net/projects/pywbem/). Bug
144 reports and discussion on the mailing list are welcome.
145
146 License
147 -------
148
149 PyWBEM is licensed with GNU LGPL v2.
150 See the `LICENSE.txt <../LICENSE.txt>`_ file.
151 """
152
153
154
155 __version__ = '0.8.0-dev'
156
157
158
159
160
161
162 from pywbem.cim_types import *
163 from pywbem.cim_constants import *
164 from pywbem.cim_operations import *
165 from pywbem.cim_obj import *
166 from pywbem.tupleparse import ParseError
167 from pywbem.cim_http import Error, ConnectionError, AuthError, TimeoutError
168
169 import sys
170 if sys.version_info < (2,6,0):
171 raise RuntimeError('PyWBEM requires Python 2.6.0 or higher')
172