=============
PrettyPrinter
=============
Documentation_
Syntax-highlighting, declarative and composable pretty printer for Python 3.5+
.. code:: bash
pip install prettyprinter
- Drop in replacement for the standard library ``pprint``: just rename ``pprint`` to ``prettyprinter`` in your imports.
- Uses a modified Wadler-Leijen layout algorithm for optimal formatting
- Write pretty printers for your own types with a dead simple, declarative interface
.. image:: prettyprinterscreenshot.png
:alt:
.. image:: ../prettyprinterscreenshot.png
:alt:
.. image:: prettyprinterlightscreenshot.png
:alt:
.. image:: ../prettyprinterlightscreenshot.png
:alt:
Pretty print common Python values:
.. code:: python
>>> from datetime import datetime
>>> from prettyprinter import pprint
>>> pprint({'beautiful output': datetime.now()})
{
'beautiful output': datetime.datetime(
year=2017,
month=12,
day=12,
hour=0,
minute=43,
second=4,
microsecond=752094
)
}
As well as your own, without any manual string formatting:
.. code:: python
>>> class MyClass:
... def __init__(self, one, two):
... self.one = one
... self.two = two
>>> from prettyprinter import register_pretty, pretty_call
>>> @register_pretty(MyClass)
... def pretty_myclass(value, ctx):
... return pretty_call(ctx, MyClass, one=value.one, two=value.two)
>>> pprint(MyClass((1, 2, 3), {'a': 1, 'b': 2}))
MyClass(one=(1, 2, 3), two={'a': 1, 'b': 2})
>>> pprint({'beautiful output': datetime.now(), 'beautiful MyClass instance': MyClass((1, 2, 3), {'a': 1, 'b': 2})})
{
'beautiful MyClass instance': MyClass(
one=(1, 2, 3),
two={'a': 1, 'b': 2}
),
'beautiful output': datetime.datetime(
year=2017,
month=12,
day=12,
hour=0,
minute=44,
second=18,
microsecond=384219
)
}
Comes packaged with the following pretty printer definitions, which you can enable by calling ``prettyprinter.install_extras()``:
- ``datetime`` - (installed by default)
- ``enum`` - (installed by default)
- ``pytz`` - (installed by default)
- ``dataclasses`` - any new class you create will be pretty printed automatically
- ``attrs`` - pretty prints any new class you create with ``attrs``
- ``django`` - pretty prints your Models and QuerySets
- ``numpy`` - pretty prints numpy scalars with explicit types
- ``requests`` - pretty prints Requests, Responses, Sessions, and more from the ``requests`` library
* Free software: MIT license
* Documentation: Documentation_.
.. _Documentation: https://prettyprinter.readthedocs.io
=======
History
=======
0.18.0 (2019-06-21)
-------------------
* `Improve prettyprinting of builtin bound methods. <https://github.com/tommikaikkonen/prettyprinter/pull/57>`_ by `@anntzer <https://github.com/anntzer>`_
* `Fix test suite compatibility with hypothesis4. <https://github.com/tommikaikkonen/prettyprinter/pull/58>`_ by `@anntzer <https://github.com/anntzer>`_
* `Use $COLORFGBG to help decide whether to use a dark or light style <https://github.com/tommikaikkonen/prettyprinter/pull/62>`_ by `@crowsonkb <https://github.com/crowsonkb>`_
* `Truncate numpy arrays with ndim >= 2 so that the total printed does not exceed max_seq_len <https://github.com/tommikaikkonen/prettyprinter/pull/63>`_ by `@crowsonkb <https://github.com/crowsonkb>`_
* Fixed ipython_repr_pretty extra raising an exception when printing Mock instances (GH #61)
* Added support for pretty printing types.SimpleNamespace (GH #60)
* Fixed dictionary pretty printing indentation when the value had a comment on the line above (GH #59)
0.17.0 (2019-03-14)
-------------------
* `Add prettyprinter for numpy ndarrays. <https://github.com/tommikaikkonen/prettyprinter/pull/47>`_ by `@anntzer <https://github.com/anntzer>`_
* `Add helper to apply default config. <https://github.com/tommikaikkonen/prettyprinter/pull/46>`_ by `@anntzer <https://github.com/anntzer>`_
* A number of docs and CI improvements: `#43 <https://github.com/tommikaikkonen/prettyprinter/pull/43>`_, `#44 <https://github.com/tommikaikkonen/prettyprinter/pull/44>`_, `#45 <https://github.com/tommikaikkonen/prettyprinter/pull/45>`_ .Thanks `@anntzer <https://github.com/anntzer>`_
* `Add support for functools.partialmethod. <https://github.com/tommikaikkonen/prettyprinter/pull/42>`_ by `@anntzer <https://github.com/anntzer>`_
* `Fix typo in changelog. <https://github.com/tommikaikkonen/prettyprinter/pull/40>`_ Thanks `@Vlad-Shcherbina <https://github.com/Vlad-Shcherbina>`_
0.16.0 (2019-02-27)
-------------------
* `Adds a new extra for numpy. <https://github.com/tommikaikkonen/prettyprinter/pull/39>`_ The extra currently registers pretty printers for numpy scalar types. Enable it with ``import prettyprinter; prettyprinter.install_extras(['numpy'])``. Thanks `@anntzer <https://github.com/anntzer>`_
* `C-API named tuples are now automatically prettyprinted. <https://github.com/tommikaikkonen/prettyprinter/pull/38>`_ C-API named tuples are returned from expressions such as ``sys.flags``, ``time.strptime(...)``, and ``os.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 <https://github.com/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.
* `Fix exponential runtime in highly nested data <https://github.com/tommikaikkonen/prettyprinter/pull/34>`_
* `Fix infinite loop when rendering strings in highly nested data <https://github.com/tommikaikkonen/prettyprinter/pull/33>`_
* `Only split Path prettyprints on "/", not on "-" or other nonword chars. <https://github.com/tommikaikkonen/prettyprinter/pull/29>`_ , thanks `@anntzer <https://github.com/anntzer>`_
* `Add vim swapfiles to gitignore <https://github.com/tommikaikkonen/prettyprinter/pull/30>`_ , thanks `@anntzer <https://github.com/anntzer>`_
* `Fix typo <https://github.com/tommikaikkonen/prettyprinter/pull/31>`_ , thanks `@anntzer <https://github.com/anntzer>`_
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.
* Added support for deferred printer registration, where instead of a concrete type value, you can pass a qualified path to a type as a ``str`` to ``register_pretty``. For an example, see `the deferred printer registration for uuid.UUID <https://github.com/tommikaikkonen/prettyprinter/blob/05187126889ade1c2bf0557a40800e5c44a32bab/prettyprinter/pretty_stdlib.py#L38-L40>`_
0.9.0 (2018-01-03)
------------------
No breaking changes.
* Added pretty printer definition for ``types.MappingProxyType`` thanks to GitHub user `Cologler <https://github.com/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.
.. code:: python
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/tommikaikkonen/prettyprinter",
"name": "prettyprinter",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "prettyprinter",
"author": "Tommi Kaikkonen",
"author_email": "kaikkonentommi@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/97/41/967b5e033b5b50eebe0b8154a9e9827c517e244b9b612ec3357c40a4a33c/prettyprinter-0.18.0.tar.gz",
"platform": "",
"description": "=============\nPrettyPrinter\n=============\n\nDocumentation_\n\nSyntax-highlighting, declarative and composable pretty printer for Python 3.5+\n\n.. code:: bash\n\n pip install prettyprinter\n\n- Drop in replacement for the standard library ``pprint``: just rename ``pprint`` to ``prettyprinter`` in your imports.\n- Uses a modified Wadler-Leijen layout algorithm for optimal formatting\n- Write pretty printers for your own types with a dead simple, declarative interface\n\n.. image:: prettyprinterscreenshot.png\n :alt:\n\n.. image:: ../prettyprinterscreenshot.png\n :alt:\n\n.. image:: prettyprinterlightscreenshot.png\n :alt:\n\n.. image:: ../prettyprinterlightscreenshot.png\n :alt:\n\nPretty print common Python values:\n\n.. code:: python\n\n >>> from datetime import datetime\n >>> from prettyprinter import pprint\n >>> pprint({'beautiful output': datetime.now()})\n {\n 'beautiful output': datetime.datetime(\n year=2017,\n month=12,\n day=12,\n hour=0,\n minute=43,\n second=4,\n microsecond=752094\n )\n }\n\nAs well as your own, without any manual string formatting:\n\n.. code:: python\n\n >>> class MyClass:\n ... def __init__(self, one, two):\n ... self.one = one\n ... self.two = two\n\n >>> from prettyprinter import register_pretty, pretty_call\n\n >>> @register_pretty(MyClass)\n ... def pretty_myclass(value, ctx):\n ... return pretty_call(ctx, MyClass, one=value.one, two=value.two)\n\n >>> pprint(MyClass((1, 2, 3), {'a': 1, 'b': 2}))\n MyClass(one=(1, 2, 3), two={'a': 1, 'b': 2})\n\n >>> pprint({'beautiful output': datetime.now(), 'beautiful MyClass instance': MyClass((1, 2, 3), {'a': 1, 'b': 2})})\n {\n 'beautiful MyClass instance': MyClass(\n one=(1, 2, 3),\n two={'a': 1, 'b': 2}\n ),\n 'beautiful output': datetime.datetime(\n year=2017,\n month=12,\n day=12,\n hour=0,\n minute=44,\n second=18,\n microsecond=384219\n )\n }\n\nComes packaged with the following pretty printer definitions, which you can enable by calling ``prettyprinter.install_extras()``:\n\n- ``datetime`` - (installed by default)\n- ``enum`` - (installed by default)\n- ``pytz`` - (installed by default)\n- ``dataclasses`` - any new class you create will be pretty printed automatically\n- ``attrs`` - pretty prints any new class you create with ``attrs``\n- ``django`` - pretty prints your Models and QuerySets\n- ``numpy`` - pretty prints numpy scalars with explicit types\n- ``requests`` - pretty prints Requests, Responses, Sessions, and more from the ``requests`` library\n\n* Free software: MIT license\n* Documentation: Documentation_.\n\n.. _Documentation: https://prettyprinter.readthedocs.io\n\n\n=======\nHistory\n=======\n\n0.18.0 (2019-06-21)\n-------------------\n\n* `Improve prettyprinting of builtin bound methods. <https://github.com/tommikaikkonen/prettyprinter/pull/57>`_ by `@anntzer <https://github.com/anntzer>`_\n* `Fix test suite compatibility with hypothesis4. <https://github.com/tommikaikkonen/prettyprinter/pull/58>`_ by `@anntzer <https://github.com/anntzer>`_\n* `Use $COLORFGBG to help decide whether to use a dark or light style <https://github.com/tommikaikkonen/prettyprinter/pull/62>`_ by `@crowsonkb <https://github.com/crowsonkb>`_\n* `Truncate numpy arrays with ndim >= 2 so that the total printed does not exceed max_seq_len <https://github.com/tommikaikkonen/prettyprinter/pull/63>`_ by `@crowsonkb <https://github.com/crowsonkb>`_\n* Fixed ipython_repr_pretty extra raising an exception when printing Mock instances (GH #61)\n* Added support for pretty printing types.SimpleNamespace (GH #60)\n* Fixed dictionary pretty printing indentation when the value had a comment on the line above (GH #59)\n\n\n0.17.0 (2019-03-14)\n-------------------\n\n* `Add prettyprinter for numpy ndarrays. <https://github.com/tommikaikkonen/prettyprinter/pull/47>`_ by `@anntzer <https://github.com/anntzer>`_\n* `Add helper to apply default config. <https://github.com/tommikaikkonen/prettyprinter/pull/46>`_ by `@anntzer <https://github.com/anntzer>`_\n* A number of docs and CI improvements: `#43 <https://github.com/tommikaikkonen/prettyprinter/pull/43>`_, `#44 <https://github.com/tommikaikkonen/prettyprinter/pull/44>`_, `#45 <https://github.com/tommikaikkonen/prettyprinter/pull/45>`_ .Thanks `@anntzer <https://github.com/anntzer>`_\n* `Add support for functools.partialmethod. <https://github.com/tommikaikkonen/prettyprinter/pull/42>`_ by `@anntzer <https://github.com/anntzer>`_\n* `Fix typo in changelog. <https://github.com/tommikaikkonen/prettyprinter/pull/40>`_ Thanks `@Vlad-Shcherbina <https://github.com/Vlad-Shcherbina>`_\n\n0.16.0 (2019-02-27)\n-------------------\n\n* `Adds a new extra for numpy. <https://github.com/tommikaikkonen/prettyprinter/pull/39>`_ The extra currently registers pretty printers for numpy scalar types. Enable it with ``import prettyprinter; prettyprinter.install_extras(['numpy'])``. Thanks `@anntzer <https://github.com/anntzer>`_\n* `C-API named tuples are now automatically prettyprinted. <https://github.com/tommikaikkonen/prettyprinter/pull/38>`_ C-API named tuples are returned from expressions such as ``sys.flags``, ``time.strptime(...)``, and ``os.stat(...)``. The fieldname of each tuple element is annotated using a comment in the output.\n\n0.15.0 (2019-02-25)\n-------------------\n\nThis release brings bugfixes, an enhancement to pathlib prettyprinting (thanks `@anntzer <https://github.com/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.\n\n* `Fix exponential runtime in highly nested data <https://github.com/tommikaikkonen/prettyprinter/pull/34>`_\n* `Fix infinite loop when rendering strings in highly nested data <https://github.com/tommikaikkonen/prettyprinter/pull/33>`_\n* `Only split Path prettyprints on \"/\", not on \"-\" or other nonword chars. <https://github.com/tommikaikkonen/prettyprinter/pull/29>`_ , thanks `@anntzer <https://github.com/anntzer>`_\n* `Add vim swapfiles to gitignore <https://github.com/tommikaikkonen/prettyprinter/pull/30>`_ , thanks `@anntzer <https://github.com/anntzer>`_\n* `Fix typo <https://github.com/tommikaikkonen/prettyprinter/pull/31>`_ , thanks `@anntzer <https://github.com/anntzer>`_\n\n0.14.0 (2018-07-25)\n-------------------\n\nMost likely no breaking changes.\n\n* Added definitions for ``pathlib`` standard library module thanks to GitHub user ``RazerM``\n* Fixed unexpected error output inside Jupyter notebooks thanks to GitHub user ``jdanbrown``\n* Fixed missing commas in ``setup.py`` requirements list\n\n0.13.2 (2018-05-29)\n-------------------\n\nNo breaking changes.\n\n* Fixed the dataclasses pretty printer that had regressed after changes to the dataclasses API. Fix was contributed by GitHub user ``dangirsh``.\n\n0.13.1 (2018-02-03)\n-------------------\n\nNo breaking changes.\n\n* Fixed GH issue #17 where Django models showed an incorrect display name for fields with choices.\n\n0.13.0 (2018-02-03)\n-------------------\n\nNo breaking changes.\n\n* Added definitions for the ``ast`` standard library module thanks to GitHub user ``johnnoone``.\n\n0.12.0 (2018-01-22)\n-------------------\n\nNo breaking changes.\n\n* Added a definition for classes that look like they were built with ``collections.namedtuple``\n* If a pretty printer raises an exception, it is caught and emitted as a warning, and the default repr implementation will be used instead.\n* Added definitions for ``collections.ChainMap``, ``collections.defaultdict``, ``collections.deque``, ``functools.partial``, and for exception objects.\n* Made pretty printers for primitive types (dict, list, set, etc.) render a subclass constructor around them\n\n\n0.11.0 (2018-01-20)\n-------------------\n\nNo breaking changes.\n\n* Added Python 3.5 support\n* Added ``pretty_call_alt`` function that doesn't depend on ``dict`` maintaining insertion order\n* Fixed bug in ``set_default_config`` where most configuration values were not updated\n* Added ``get_default_config``\n\n0.10.1 (2018-01-10)\n-------------------\n\nNo breaking changes.\n\n* Fixed regression with types.MappingProxyType not being properly registered.\n\n0.10.0 (2018-01-09)\n-------------------\n\nNo breaking changes.\n\n* Added support for deferred printer registration, where instead of a concrete type value, you can pass a qualified path to a type as a ``str`` to ``register_pretty``. For an example, see `the deferred printer registration for uuid.UUID <https://github.com/tommikaikkonen/prettyprinter/blob/05187126889ade1c2bf0557a40800e5c44a32bab/prettyprinter/pretty_stdlib.py#L38-L40>`_\n\n0.9.0 (2018-01-03)\n------------------\n\nNo breaking changes.\n\n* Added pretty printer definition for ``types.MappingProxyType`` thanks to GitHub user `Cologler <https://github.com/Cologler/>`_\n* Added support for ``_repr_pretty_`` in the extra ``ipython_repr_pretty``.\n\n\n0.8.1 (2018-01-01)\n------------------\n\n* 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.\n\n0.8.0 (2017-12-31)\n------------------\n\nBreaking changes:\n\n* 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.\n\nNon-breaking changes:\n\n* Improved performance of rendering colorized output by caching colors.\n* 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.\n* Deprecated use of ``PrettyContext.set`` in favor of less misleading ``PrettyContext.assoc``\n* Defined pretty printing for instances of ``type``, i.e. classes.\n* Defined pretty printing for functions\n\n\n\n0.7.0 (2017-12-23)\n------------------\n\nBreaking change: instances of lists, sets, frozensets, tuples and dicts will be truncated to 1000 elements by default when printing.\n\n* Added pretty printing definitions for ``dataclasses``\n* Improved performance of splitting strings to multiple lines by ~15%\n* 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.\n* 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.\n\n.. code:: python\n\n from prettyprinter import set_default_config\n\n set_default_config(\n style='dark',\n max_seq_len=1000,\n width=79,\n ribbon_width=71,\n depth=None,\n )\n\n0.6.0 (2017-12-21)\n------------------\n\nNo backwards incompatible changes.\n\n* Added pretty printer definitions for the ``requests`` library. To use it, include ``'requests'`` in your ``install_extras`` call: ``prettyprinter.install_extras(include=['requests'])``.\n\n0.5.0 (2017-12-21)\n------------------\n\nNo backwards incompatible changes.\n\n* Added integration for the default Python shell\n* Wrote docs to explain integration with the default Python shell\n* Check ``install_extras`` arguments for unknown extras\n\n0.4.0 (2017-12-14)\n------------------\n\n* Revised ``comment`` to accept both normal Python values and Docs, and reversed the argument order to be more Pythonic\n\n0.3.0 (2017-12-12)\n------------------\n\n* Add ``set_default_style`` function, improve docs on working with a light background\n\n0.2.0 (2017-12-12)\n------------------\n\n* Numerous API changes and improvements.\n\n\n0.1.0 (2017-12-07)\n------------------\n\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "Syntax-highlighting, declarative and composable pretty printer for Python 3.5+",
"version": "0.18.0",
"project_urls": {
"Homepage": "https://github.com/tommikaikkonen/prettyprinter"
},
"split_keywords": [
"prettyprinter"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9fd09effbeca8f1b8df9d33154de3477a51e55a9c46cb15612dd7791a1624397",
"md5": "1c4892e8668af663f3e359ae91e70a4e",
"sha256": "358a58f276cb312e3ca29d7a7f244c91e4e0bda7848249d30e4f36d2eb58b67c"
},
"downloads": -1,
"filename": "prettyprinter-0.18.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1c4892e8668af663f3e359ae91e70a4e",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 48013,
"upload_time": "2019-06-22T07:04:43",
"upload_time_iso_8601": "2019-06-22T07:04:43.916516Z",
"url": "https://files.pythonhosted.org/packages/9f/d0/9effbeca8f1b8df9d33154de3477a51e55a9c46cb15612dd7791a1624397/prettyprinter-0.18.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9741967b5e033b5b50eebe0b8154a9e9827c517e244b9b612ec3357c40a4a33c",
"md5": "511b87805c6e8565eee0f443ebc2fc23",
"sha256": "9fe5da7ec53510881dd35d7a5c677ba45f34cfe6a8e78d1abd20652cf82139a8"
},
"downloads": -1,
"filename": "prettyprinter-0.18.0.tar.gz",
"has_sig": false,
"md5_digest": "511b87805c6e8565eee0f443ebc2fc23",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 651884,
"upload_time": "2019-06-22T07:04:40",
"upload_time_iso_8601": "2019-06-22T07:04:40.337601Z",
"url": "https://files.pythonhosted.org/packages/97/41/967b5e033b5b50eebe0b8154a9e9827c517e244b9b612ec3357c40a4a33c/prettyprinter-0.18.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2019-06-22 07:04:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tommikaikkonen",
"github_project": "prettyprinter",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"tox": true,
"lcname": "prettyprinter"
}