Abstract¶
The ‘jsondata’ package provides the management of modular data structures based on JSON. The data is represented by in-memory tree structures with dynamically added and/or removed branches. The data could be validated by JSON schemas, and stored for the later reuse.
The ‘jsondata’ package provides a standards conform layer for the processing with emphasis on in-memory performance and low resource consume. The implementation integrates seamless into the standard interfaces of Python(>=2.7), whereas higher level features of additional standards and extensions are introduced on top.
REMARK - Platforms¶
This version supports Linux and Windows7 - The update for MacOS, BSD, and Solaris is going to follow soon.
Blueprint¶
The architecture is based on the interfaces of the packages ‘json’ and ‘jsonschema’, and compatible packages such as ‘ujson’ [online]
+-------------------------+
Applications | application-layer |
+-------------------------+
. . . . . . | . . . | . . . | . . . . . . . . .
+ - - - - - - - - - - - - + see e.g. jsoncompute,
Process JSON | processing tools | jsoncliopts,
+ - - - - - - - - - - - - + jsondataunit
. . . . . . | . . . | . . . | . . . . . . . . .
| V |
Data | +----------+ | RFC6901
Structures | | jsondata | | RFC6902
| +----------+ | +pointer arithmetics
| | | | +extensions
. . . . . . | . . | . | . . .| . . . . . . . . .
+---+--+ +---+----+
| |
V V
+------------+------------+ RFC7159/RFC4267
JSON | json | jsonschema | ECMA-262/ECMA-404
Syntax | ujson | | draft-zyp-json-schema-04
+------------+------------+
Support/verified: json, ujson
simply import package
before 'jsondata'
The provided features comprise:
- JSON Data : Manage branches of substructures - jsondata.JSONData [API] [source]
- JSON Serializer : Serialize JSON documents - jsondata.JSONDataSerializer [API] [source]
- JSON Pointer : Access pointer paths and values - jsondata.JSONPointer [API] [source]
- JSON Patch : Modify data structures and values - jsondata.JSONPatch [API] [source]
Including the utilities:
- JSON Tree: Utilities for structure analysis and operations on JSON data structures, e.g. diff [API] [source]
The syntax primitives of underlying layers are processed by the imported standard packages ‘json’ and ‘jsonschema’ in conformance to related standards. Current supported compatible packages include: ‘ujson’ [online].
The examples from the standards with some extensions are included as Use-Cases in order to verify implementation details for the recommendations [see] . This serves also as a first introduction to JSON processing with the package ‘jsondata’.
For the implementation and architecture refer to
Install - HowTo - FAQ - Help¶
Install:
Standard procedure online local install by sources:
python setup.py install --user
Custom procedure offline by:
python setup.py install --user --offline
Documents, requires Sphinx and Epydoc:
python setup.py build_doc install_doc
Introduction:
For now refer to the listed API and subdocument collection in section ‘Shortcuts’
Shortcuts¶
Concepts and workflows:
- Selected Common UsesCases [examples]
Common Interfaces:
- Commandline Interface [call-interface]
- Programming Interface [API-Selection]
- Test data [testdata]
Complete technical API:
- Interface in javadoc-style [API]
Table of Contents¶
setup.py
For help on extensions to standard options call onlinehelp:
python setup.py --help-jsondata
Indices and tables¶
Resources¶
For available downloads refer to:
- Python Package Index: https://pypi.python.org/pypi/jsondata
- Sourceforge.net: https://sourceforge.net/projects/jsondata/
- github.com: https://github.com/ArnoCan/jsondata/
For JSON processing references:
- JSONDataUnit: https://pypi.python.org/pypi/jsondataunit
- JSONCompute: https://pypi.python.org/pypi/jsoncompute
- JSONCLIOpts: https://pypi.python.org/pypi/jsoncliopts
- ujson: https://pypi.python.org/pypi/ujson
- json: https://docs.python.org/2/library/json.html
For Licenses refer to enclosed documents:
- Artistic-License-2.0(base license): ArtisticLicense20.html
- Forced-Fairplay-Constraints(amendments): licenses-amendments.txt / Protect OpenSource Authors
Project data summary:
PROJECT=jsondata
MISSION=Provide and extend a comprising JSON Toolset including a JSON-DSL for computing - RFC7159, RFC6901, RFC6902, ...
AUTHOR=Arno-Can Uestuensoez
COPYRIGHT=Copyright (C) 2010,2011,2015-2016 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez
LICENSE=Artistic-License-2.0 + Forced-Fairplay-Constraints
VERSION=0.2.18
RELEASE=0.2.18
STATUS=alpha
NICKNAME=Mafumo
Mafumo the lion - see Save the Lions - Mafumo and Vayetsi