The standard library pprint
module, but with the feature that
all sets are ordered.
This package is a backport for the bug-fix bpo-27495.
This package ensures that set
and frozenset
objects are always ordered, which
is not true of the pprint
module.
As of writing this, the pull request that fixes this bug has not been merged.
>>> import pprint_ordered_sets as pprint
>>> obj = set("abcdefg")
>>> print(obj) # Will be different on different systems.
{'d', 'f', 'b', 'g', 'e', 'a', 'c'}
>>> pprint.pp(obj) # Will be same on all systems.
{'a', 'b', 'c', 'd', 'e', 'f', 'g'}
This code is licensed under the Python Software Foundation license, as this
is a derivative work. My changes are adding the default ordering of set
and
frozenset
objects, writing additional tests to cover these features, and renaming
of this module to pprint_ordered_sets
.
This package requires no dependencies to test, simply run:
python -m unittest test_pprint_ordered_sets.py