History

0.18.0 (2019-06-21)

0.16.0 (2019-02-27)

0.15.0 (2019-02-25)

This release brings bugfixes, an enhancement to pathlib prettyprinting (thanks @anntzer ) and a nice performance boost. There was an redundant subtree call in a tree normalization procedure that caused exponential runtime, worsening quickly if data was highly nested. That extra call is now removed.

0.14.0 (2018-07-25)

Most likely no breaking changes.

  • Added definitions for pathlib standard library module thanks to GitHub user RazerM
  • Fixed unexpected error output inside Jupyter notebooks thanks to GitHub user jdanbrown
  • Fixed missing commas in setup.py requirements list

0.13.2 (2018-05-29)

No breaking changes.

  • Fixed the dataclasses pretty printer that had regressed after changes to the dataclasses API. Fix was contributed by GitHub user dangirsh.

0.13.1 (2018-02-03)

No breaking changes.

  • Fixed GH issue #17 where Django models showed an incorrect display name for fields with choices.

0.13.0 (2018-02-03)

No breaking changes.

  • Added definitions for the ast standard library module thanks to GitHub user johnnoone.

0.12.0 (2018-01-22)

No breaking changes.

  • Added a definition for classes that look like they were built with collections.namedtuple
  • If a pretty printer raises an exception, it is caught and emitted as a warning, and the default repr implementation will be used instead.
  • Added definitions for collections.ChainMap, collections.defaultdict, collections.deque, functools.partial, and for exception objects.
  • Made pretty printers for primitive types (dict, list, set, etc.) render a subclass constructor around them

0.11.0 (2018-01-20)

No breaking changes.

  • Added Python 3.5 support
  • Added pretty_call_alt function that doesn’t depend on dict maintaining insertion order
  • Fixed bug in set_default_config where most configuration values were not updated
  • Added get_default_config

0.10.1 (2018-01-10)

No breaking changes.

  • Fixed regression with types.MappingProxyType not being properly registered.

0.10.0 (2018-01-09)

No breaking changes.

0.9.0 (2018-01-03)

No breaking changes.

  • Added pretty printer definition for types.MappingProxyType thanks to GitHub user Cologler
  • Added support for _repr_pretty_ in the extra ipython_repr_pretty.

0.8.1 (2018-01-01)

  • Fixed issue #7 where having a str value for IPython’s highlighting_style setting was not properly handled in prettyprinter’s IPython integration, and raised an exception when trying to print data.

0.8.0 (2017-12-31)

Breaking changes:

  • by default, dict keys are printed in the default order (insertion order in CPython 3.6+). Previously they were sorted like in the pprint standard library module. To let the user control this, an additional keyword argument sort_dict_keys was added to cpprint, pprint, and pformat. Pretty printer definitions can control dict key sorting with the PrettyContext instance passed to each pretty printer function.

Non-breaking changes:

  • Improved performance of rendering colorized output by caching colors.
  • Added prettyprinter.pretty_repr that is assignable to __repr__ dunder methods, so you don’t need to write it separately from the pretty printer definition.
  • Deprecated use of PrettyContext.set in favor of less misleading PrettyContext.assoc
  • Defined pretty printing for instances of type, i.e. classes.
  • Defined pretty printing for functions

0.7.0 (2017-12-23)

Breaking change: instances of lists, sets, frozensets, tuples and dicts will be truncated to 1000 elements by default when printing.

  • Added pretty printing definitions for dataclasses
  • Improved performance of splitting strings to multiple lines by ~15%
  • Added a maximum sequence length that applies to subclasses of lists, sets, frozensets, tuples and dicts. The default is 1000. There is a trailing comment that indicates the number of truncated elements. To remove truncation, you can set max_seq_len to None using set_default_config explained below.
  • Added ability to change the default global configuration using set_default_config. The functions accepts zero to many keyword arguments and replaces those values in the global configuration with the ones provided.
from prettyprinter import set_default_config

set_default_config(
    style='dark',
    max_seq_len=1000,
    width=79,
    ribbon_width=71,
    depth=None,
)

0.6.0 (2017-12-21)

No backwards incompatible changes.

  • Added pretty printer definitions for the requests library. To use it, include 'requests' in your install_extras call: prettyprinter.install_extras(include=['requests']).

0.5.0 (2017-12-21)

No backwards incompatible changes.

  • Added integration for the default Python shell
  • Wrote docs to explain integration with the default Python shell
  • Check install_extras arguments for unknown extras

0.4.0 (2017-12-14)

  • Revised comment to accept both normal Python values and Docs, and reversed the argument order to be more Pythonic

0.3.0 (2017-12-12)

  • Add set_default_style function, improve docs on working with a light background

0.2.0 (2017-12-12)

  • Numerous API changes and improvements.

0.1.0 (2017-12-07)

  • First release on PyPI.