oprint

A pprint for CPython 3.6 dict objects that preserves insertion order


Keywords
pprint
Install
pip install oprint==0.1

Documentation

oprint

Build Tests

A pprint for CPython 3.6 dict objects that preserves insertion order.

About

CPython 3.6 uses a new "compact" representation for dict objects. As a nice side effect this happens to preserve the insertion order of keys.

The order-preserving aspect of this new implementation is considered an implementation detail and should not be relied upon

pprint.pprint() retains it's behaviour from earlier Python releases. It formats a dict object by sorting the keys alphabetically.

>>> import pprint
>>> pprint.pprint({'foo': 1, 'bar': 2, 'baz': 3})
{'bar': 2, 'baz': 3, 'foo': 1}

oprint.pprint() throws out the old.

>>> import oprint
>>> oprint.pprint({'foo': 1, 'bar': 2, 'baz': 3})
{'foo': 1, 'bar': 2, 'baz': 3}

The library is otherwise a drop-in replacement for pprint.

Install

pip install oprint

Development

This project is developed on GitHub, please file issues for any feature or bug requests.

Contributors