oprint
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.