History¶
0.17.0 (2019-03-14)¶
- Add prettyprinter for numpy ndarrays. by @anntzer
- Add helper to apply default config. by @anntzer
- A number of docs and CI improvements: #43, #44, #45 .Thanks @anntzer
- Add support for functools.partialmethod. by @anntzer
- Fix typo in changelog. Thanks @Vlad-Shcherbina
0.16.0 (2019-02-27)¶
- Adds a new extra for numpy. The extra currently registers pretty printers for numpy scalar types. Enable it with
import prettyprinter; prettyprinter.install_extras(['numpy']). Thanks @anntzer - C-API named tuples are now automatically prettyprinted. C-API named tuples are returned from expressions such as
sys.flags,time.strptime(...), andos.stat(...). The fieldname of each tuple element is annotated using a comment in the output.
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
pathlibstandard library module thanks to GitHub userRazerM - Fixed unexpected error output inside Jupyter notebooks thanks to GitHub user
jdanbrown - Fixed missing commas in
setup.pyrequirements 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
aststandard library module thanks to GitHub userjohnnoone.
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_altfunction that doesn’t depend ondictmaintaining insertion order - Fixed bug in
set_default_configwhere 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.
- Added support for deferred printer registration, where instead of a concrete type value, you can pass a qualified path to a type as a
strtoregister_pretty. For an example, see the deferred printer registration for uuid.UUID
0.9.0 (2018-01-03)¶
No breaking changes.
- Added pretty printer definition for
types.MappingProxyTypethanks to GitHub user Cologler - Added support for
_repr_pretty_in the extraipython_repr_pretty.
0.8.1 (2018-01-01)¶
- Fixed issue #7 where having a
strvalue for IPython’shighlighting_stylesetting was not properly handled inprettyprinter’s IPython integration, and raised an exception when trying to print data.
0.8.0 (2017-12-31)¶
Breaking changes:
- by default,
dictkeys are printed in the default order (insertion order in CPython 3.6+). Previously they were sorted like in thepprintstandard library module. To let the user control this, an additional keyword argumentsort_dict_keyswas added tocpprint,pprint, andpformat. Pretty printer definitions can controldictkey sorting with thePrettyContextinstance passed to each pretty printer function.
Non-breaking changes:
- Improved performance of rendering colorized output by caching colors.
- Added
prettyprinter.pretty_reprthat is assignable to__repr__dunder methods, so you don’t need to write it separately from the pretty printer definition. - Deprecated use of
PrettyContext.setin favor of less misleadingPrettyContext.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_lentoNoneusingset_default_configexplained 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
requestslibrary. To use it, include'requests'in yourinstall_extrascall: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_extrasarguments for unknown extras
0.4.0 (2017-12-14)¶
- Revised
commentto 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_stylefunction, 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.