Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python Pretty Printer

Project description

Python Pretty Printer


The prettypy package is yet another ‘pretty printer’.

It is meant to:

  • have a readable and consistent output.
    • Nested levels are indented. (the indentation string is configurable (4 spaces by default))
    • The sequences and the mapping keys are sorted. (can be disabled)
    • Mapping keys are padded. (so the values are aligned)
    • The data types may be shown. (disabled by default)
  • be simple to use.
    • Only one class is required.
    • A convinience function is also provided.
  • be extensible
    • If the provided support for standard types doesn’t suit your need, it’s easy to modify it.
    • Any object can easaly be supported.
  • be able to handle large data structure.
    • Sequences, mappings, strings and multi-lines can be truncated as needed.
    • Mapping items can be omitted based on regex.


There are 2 basic ways to use prettypy: With the Printer class or the dump function.

The Printer class:

from prettypy import Printer

p = Printer()

The Printer.print method sends a formatted representation of its argument to a file-like destination (stdout by default).

The dump function:

from prettypy import dump


The dump function uses the Printer class to ‘dump’ its argument on stdout as well as to a file (‘prettypy.dump’ by default).

Data Types support

There are 2 ways for an object to be “printable” / “dumpable”:

The Formatter class

The Printer class needs one Formatter for each supported data type (exept for string).

A set of default Formatter is provided by the formatters module for Python’s builtin types and should be good enough for most purposes.

These formatters can be modified or extended at will to support new types or modify the output for existing ones.

The __print__ method

Any object can become ‘printable’ by implementing the __print__ method which will call the Printer’s methods in appropriate ways.


$ pip install prettypy

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for prettypy, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size prettypy-0.5.0.tar.gz (7.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page