Socket
Socket
Sign inDemoInstall

nkit4py

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nkit4py

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


Maintainers
1

Introduction

nkit4py - is a nkit C++ library port to Python (see https://github.com/eye3/nkit.git).

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

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

  • Simply convert XML to Python data with the same structure. Usual Python Dict objects as well as collections.OrderedDict objects can be created.

  • Convert XML to Python data with the structure, which is different from the structure of XML source (using mapping).

  • 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
    • define special key to collect all element attributes

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:

  • Create xml string with the same structure as Python data
  • Define root element name of result xml string
  • Define default element name for list items
  • 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 elements of result xml string must contain CDATA section
  • Define precision for float numbers
  • Define format for Date objects
  • Define representation for True and False values
  • Explicitly define order in which DICT keys will be printed to XML text

Installation

On Linux and 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

Python version support

==2.6 ==2.7

=3.3

Author

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

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

Any feedback or pull request are welcome!

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc