Introduction
============

nkit4py - is a nkit C++ library port to Python (see https://github.com/eye3/nkit.git).
There is the same port to Node.js - nkit4nodejs (see https://github.com/eye3/nkit4nodejs.git)

Currently, only an XML to Python object or list converter and filter
is exported to Python from nkit library.

With nkit4py module version 1.0 you can:
 
- Create Python data structures, which are different from the structure 
  of XML source.
  
- Explicitly identify those elements and attributes in XML source that you
  want to use for building Python data structures.
  Thus, it's possible to filter out unnecessary XML-data.
  
- Explicitly define Python type of scalar data, fetched from XML source.
  Integers, numbers, string or unicode, datetimes and booleans are supported.
  
Conversion is carried out using SAX parser Expat, so it's fast and uses less 
memory when parsing huge XML files.

Module supports not only native Expat XML encodings, but also many others
(see /deps/nkit/src/vx/encodings_inc_gen.cpp)

With nkit4py module version 2.0 you also can:

- Create multiple Python structures from one XML source.

- With extra options you can tune some aspects of conversion:
	- trim out white spaces
	- explicitly define white space characters
	- choose unicode or string type for text scalar values

NOTE: API interface of version 2.0 doesn't compatible with version 1.0


Installation (version 1.0)
==========================

On Linux & Mac OS
-----------------

    pip install nkit4py==1.0.44

On Windows
----------

Library compiles on MSVS Express version >= 2012.

For MSVS 2012:

    SET VS90COMNTOOLS=%VS110COMNTOOLS%

    pip install nkit4py==1.0.44

For MSVS 2013:

    SET VS90COMNTOOLS=%VS120COMNTOOLS%

    pip install nkit4py==1.0.44


Installation (version 2.0 - beta)
=================================

pip install nkit4py --pre


Usage
=====

Version 1.0: https://github.com/eye3/nkit4py/tree/v1.0#usage

Version 2.0: https://github.com/eye3/nkit4py#usage

Author
======

Boris T. Darchiev (boris.darchiev@gmail.com)

On github: https://github.com/eye3

Any feedback or pull request are welcome!
