<commit_before>ABOUT
=====

LMIWBEM is a Python library, which performs CIM operations using CIM-XML
protocol. The library tries to mimic PyWBEM, but does things in different way:

- TOG-Pegasus client's library is used for communication
- lazy evaluation of CIM objects is used
- some minor API was added for performance reasons

Reasons, why the library was made:

- *Performance* - Using TOG-Pegasus client's library, Boost::Python and C++ STL,
  CIM operations are executed faster (e.g. ~60% faster Instance enumeration
  compared to PyWBEM).

  **NOTE:** performance gain depends on CIM operation; there
  are CIM operations, where the percentage is even higher.
- *Memory* - Using PyWBEM, the Python's interpreter can eat up several GB of
  memory. In LMIWBEM, C++ allocator for CIM objects is used and unnecessary
  memory blocks are properly freed and returned to OS. Lazy evaluation
  (construction) of nested objects helps to perform CIM operations faster and
  Python does not use additional space for such objects, when not needed.

LATEST VERSION
==============

Latest sources of the software can be found at: [lmiwbem][]

INSTALLATION
============

LMIWBEM has several dependencies:

- C++ compiler, which supports C++98 standard
- tog-pegasus-libs (2.12.0)
- boost-python (1.50.0)
- python-devel
- build tools (autoconf, automake, make, ...)

LMIWBEM supports 2 build systems:
- Autotools (*must precede distutils*)
- Python's distutils.

AUTOTOOLS
---------

To install the module using ```configure``` script, follow these steps:

    $ ./autogen.sh # if you got sources from git repository
    $ mkdir build && cd build
    $ ../configure
    $ make
    # make install


DISTUTILS
---------

To install the module using Python's distutils, follow these steps:

    $ ./autogen.sh # if you got sources from git repository
    $ mkdir build && cd build
    $ ../configure
    # python setup.py install

**NOTE:** It is necessary to run ```configure``` script, which generates
Python's setup.py for build and installation.

OPTIONS
-------

These options apply for ```configure``` and ```setup.py```:

    --with-default-namespace=NAMESPACE; default: root/cimv2
    --with-default-trust-store=DIR;     default: /etc/pki/ca-trust/source/anchors/
    --with-listener=[yes/no];           default: yes
    --with-slp=[yes/no];                default: yes

By default, LMIWBEM is configured to work with Python 2.6.x and 2.7.x. It is<commit_msg>fix README.md to reflect the proper steps for generating setup.py<commit_after>ABOUT
=====

LMIWBEM is a Python library, which performs CIM operations using CIM-XML
protocol. The library tries to mimic PyWBEM, but does things in different way:

- TOG-Pegasus client's library is used for communication
- lazy evaluation of CIM objects is used
- some minor API was added for performance reasons

Reasons, why the library was made:

- *Performance* - Using TOG-Pegasus client's library, Boost::Python and C++ STL,
  CIM operations are executed faster (e.g. ~60% faster Instance enumeration
  compared to PyWBEM).

  **NOTE:** performance gain depends on CIM operation; there
  are CIM operations, where the percentage is even higher.
- *Memory* - Using PyWBEM, the Python's interpreter can eat up several GB of
  memory. In LMIWBEM, C++ allocator for CIM objects is used and unnecessary
  memory blocks are properly freed and returned to OS. Lazy evaluation
  (construction) of nested objects helps to perform CIM operations faster and
  Python does not use additional space for such objects, when not needed.

LATEST VERSION
==============

Latest sources of the software can be found at: [lmiwbem][]

INSTALLATION
============

LMIWBEM has several dependencies:

- C++ compiler, which supports C++98 standard
- tog-pegasus-libs (2.12.0)
- boost-python (1.50.0)
- python-devel
- build tools (autoconf, automake, make, ...)

LMIWBEM supports 2 build systems:
- Autotools (*must precede distutils*)
- Python's distutils.

AUTOTOOLS
---------

To install the module using ```configure``` script, follow these steps:

    $ ./autogen.sh # if you got sources from git repository
    $ mkdir build && cd build
    $ ../configure
    $ make
    # make install


DISTUTILS
---------

To install the module using Python's distutils, follow these steps:

    $ ./autogen.sh # if you got sources from git repository
    $ mkdir build && cd build
    $ ../configure
    # python setup.py install

**NOTE:** It is necessary to run ```configure``` script, which generates
Python's setup.py for build and installation.

OPTIONS
-------

These options apply for ```configure``` and ```setup.py``` will be generated
based on the options selected:

    --with-default-namespace=NAMESPACE; default: root/cimv2
    --with-default-trust-store=DIR;     default: /etc/pki/ca-trust/source/anchors/
    --with-listener=[yes/no];           default: yes
    --with-slp=[yes/no];                default: yes

By default, LMIWBEM is configured to work with Python 2.6.x and 2.7.x. It is
{'fraction_non_alphanumeric': 0.10933758978451716, 'fraction_numerical': 0.007182761372705506, 'mean_word_length': 3.405096660808436, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1902637', 'n_tokens_mistral': 1520, 'n_tokens_neox': 1425, 'n_words': 612}