Skip to main content

Python Fancy Printer

Project description

nicely

Python Fancy Printer

Abstract

The nicely 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.
    • Convinience functions are 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.

Usage

There are several ways to use nicel.

The Printer class:

from nicely import Printer

p = Printer()
p.print(some_data_structure)

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

The dump function:

from nicely import dump

dump(some_data_structure)

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

The format function:

from nicely import format

string = format(some_data_structure)

The format function uses the Printer class to get a string representation of an object.

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.

Installation

$ pip install nicely

Project details


Download files

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

Source Distribution

nicely-0.2439.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

nicely-0.2439.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file nicely-0.2439.0.tar.gz.

File metadata

  • Download URL: nicely-0.2439.0.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for nicely-0.2439.0.tar.gz
Algorithm Hash digest
SHA256 6e957361c75b7fdf36e294ad35a6334c6040848b69b005eb9d7faff0e55fcc67
MD5 005545993ab3d105990913e7cfa91529
BLAKE2b-256 9fe266d4461b7e85f5d96934958e278dabe7b2b7b02770ccfb510b7a5a336687

See more details on using hashes here.

File details

Details for the file nicely-0.2439.0-py3-none-any.whl.

File metadata

  • Download URL: nicely-0.2439.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for nicely-0.2439.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2d783433ee581b20ca8258813c7deb16eb2ef287aa21a55d50a15b6b26ca7c8
MD5 085169fc75aa49ed4cfc2661b53e3120
BLAKE2b-256 c87dbccb36aa30915123cb58ed1433844df741604fe585f423a80d71abf2dc4a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page