This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

DataModelDict is a lightweight Python class for easy transformation and manipulation of JSON and XML structured data models. It is designed to take the best aspects of JSON, XML, and Python dictionaries to allow the user to interact with any of these formats in the same manner.

The code has no requirements that limit which systems it can be used on, i.e. it should work on Linux, Mac and Windows computers.

The latest release can be installed using pip:

pip install DataModelDict

The code and all documentation is hosted on GitHub and can be directly downloaded at

Basic examples can be found in the Jupyter Notebook DataModelDict Basics.ipynb. Full documentation of the class methods can be found in

The key features of DataModelDict (so far) are:

  1. It is a child of OrderedDict meaning that it has all the features one would expect of a Python dictionary.
  2. It has built-in conversion methods for reading and writing JSON and XML. JSON conversions use the standard Python json library and XML conversions use the xmltodict package.
  3. Numbers (int, float) and key terms (True, False, None) are recognized and converted during parsing.
  4. Methods for recusively searching the data model for specific keys and key-value pairs allow for the values and paths (as lists of indices) of elements to be easily found.
  5. Path lists can also be directly used to get and set values.
#These two return the exact same val.
val = my_model['a']['b']['c']['d']

path = ['a', 'b', 'c', 'd']
val = my_model[path]
  1. Additional methods for simplified handling of cases where XML does not directly map to JSON and Python dictionaries.

DataModelDict works by parsing in a JSON or XML data model such that every dictionary level is an instance of DataModelDict. This allows for the conversion and functional methods to be callable both on the full model and on subcomponents.

Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (9.7 kB) Copy SHA256 Checksum SHA256 Source Mar 15, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting