Skip to main content

Fast XML to Python data (and vise versa) converter and filter. Written in C++ using Expat SAX parser.

Project description

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)

With nkit4py module you can convert XML string to Python data and vise versa.

With XML-to-Python-data possibilities you can:

  • Create Python data structures, which are different from the structure of XML source.

  • Create multiple Python structures from one 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 (primitive) data, fetched from XML source. Integers, numbers, strings, datetimes and booleans are supported.

  • Control progress of chunked download and parsing of big XML string

  • With extra options you can tune some aspects of conversion:
    • trim text data

    • explicitly define white space characters for trim option

    • choose unicode or string type for text data

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/encoding/langs.inc)

With Python-data-to-XML possibilities you can:

  • Define root element name of result xml string

  • Define item element name for lists

  • Define encoding of result xml string

  • Pretty print with custom indentation and newline characters

  • Define special object key name for attributes

  • Define special object key name for text

  • Define which element of result xml string must contain CDATA section

  • Define precision for float numbers

  • Define format for Date objects

Installation

On Linux & Mac OS

pip install nkit4py

On Windows

Library compiles on MSVS Express version >= 2012.

For MSVS 2012:

SET VS90COMNTOOLS=%VS110COMNTOOLS%

pip install nkit4py

For MSVS 2013:

SET VS90COMNTOOLS=%VS120COMNTOOLS%

pip install nkit4py

Usage

See https://github.com/eye3/nkit4py

Author

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

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

Any feedback or pull request are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

nkit4py-2.1.1.zip (347.8 kB view details)

Uploaded Source

nkit4py-2.1.1.tar.gz (263.6 kB view details)

Uploaded Source

File details

Details for the file nkit4py-2.1.1.zip.

File metadata

  • Download URL: nkit4py-2.1.1.zip
  • Upload date:
  • Size: 347.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nkit4py-2.1.1.zip
Algorithm Hash digest
SHA256 f0b6b6f71d1867d2b004a8f911c265f1292db830160965026704b50758355d1d
MD5 26e2c130db9a6f6ff090e1bc259914a0
BLAKE2b-256 9a7b9d4b45a5663180b9bd7dc7ad58d2a0e30a39af10b37746019a07c4be1657

See more details on using hashes here.

File details

Details for the file nkit4py-2.1.1.tar.gz.

File metadata

  • Download URL: nkit4py-2.1.1.tar.gz
  • Upload date:
  • Size: 263.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nkit4py-2.1.1.tar.gz
Algorithm Hash digest
SHA256 cede3a42696f29c938dabba9db84a04fa16d9545fd50097b337a0916cfbc6640
MD5 00ee19be4fb214768b68d5f59e088978
BLAKE2b-256 7ebd2d23af20b65ea78548719f37244bad5835a2d5f8164a4225efa0d8ee28bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page