Skip to main content

Super-simple templated printing. E.g.: say("Hello, {whoever}!", indent=1)

Project description

print, format, and %, evolved.

Q: It’s been forty years since C introduced printf() and the basic formatted printing of positional parameters. Isn’t it time for an upgrade?

A: Yes! ZOMG, yes!

https://pypip.in/d/say/badge.png

say supplements or replaces Python’s print statement/function, format function/method, and % string interpolation operator with higher-level facilities:

  • Straightforward string formatting with DRY, Pythonic templates that piggyback the built in format() method, formatting syntax, and well-proven underlying engine.

  • A single output mechanism compatible with both Python 2.x and Python 3.x–dramatically more compatible than Python’s own print.

  • Indentation and wrapping (to help stucture output)

  • Convenience printing functions for horizontal rules (lines), titles, and vertical whitespace.

  • Convenient template/text aggregator objects for easily building, reading, and writing multi-line texts.

Usage

from say import say, fmt

x = 12
nums = list(range(4))

say("There are {x} things.")
say("Nums has {len(nums)} items: {nums}")

yields:

There are 12 things.
Nums has 4 items: [0, 1, 2, 3]

say is basically a simpler, nicer recasting of:

print "There are {} things.".format(x)
print "Nums has {} items: {}".format(len(nums), nums)

(NB in Python 2.6 one must number each of the {} placeholders–e.g. "Nums has {0} items: {1}"– in order to avoid a ValueError: zero length field name in format error. Python 2.7 and later assume the placeholders are sequential.)

The more items that are being printed, and the complicated the format invocation, the more valuable having it stated in-line becomes. Note that full expressions are are supported. They are evaluated in the context of the caller.

For this and much more, see the full documentation at Read the Docs.

Project details


Download files

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

Source Distributions

say-1.0.3.zip (21.6 kB view hashes)

Uploaded Source

say-1.0.3.tar.gz (16.0 kB view hashes)

Uploaded Source

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