Skip to main content

A command-line-tool beautifier.

Project description

Ecstasy is a Python package and markup language that makes your command-line tool so much more beautiful and pretty.

Your command-line tool’s output without ecstasy:


Your command-line tool’s output with (on?) ecstasy:



To use ecstasy, you mark up a standard Python string using ecstasy’s special syntax, chose some sassy styling and formatting flags, pass them on to the package-level beautify() method and, in return, get your beautified string, ready to kick ass when printed to your command-line:

import ecstasy

# <...> is a normal phrase, its style is determined by its position
# <(x)...> is a phrase with an argument, its style is the one at index 'x'
# <<...> <...>> is a phrase with nested phrases, their styles cascade
text = "<Cats> are <(0)just> <<small>, furry <elephants>>!"

# Beautify text by specifying styles via flag combinations
text = ecstasy.beautify(text,
                                                ecstasy.Style.Blink | ecstasy.Color.Red,
                                                ecstasy.Style.Bold | ecstasy.Fill.Blue,
                                                ecstasy.Color.Magenta | ecstasy.Style.Underline,
                                                small=ecstasy.Style.Invert | ecstasy.Color.White)

# Keyword arguments (small=...) cause all phrases matching the string of
# the key to have the style specified by the keyword argument's value.


Running this in a script from a command-line outputs:



Now that you’re convinced, you can install ecstasy with pip::

pip install ecstasy

… and get crackin’.


Full documentation and usage descriptions specifying all possible options and possibilities of how you can beautify your strings with ecstasy can be found here.


According to pyqver, the minimum required Python version is 2.6. Definitely successfully tested with Python 2.7.10 and Python 3.4.3.


Ecstasy is released under the MIT license (see the LICENSE file).


Peter Goldsborough + cat.

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 ecstasy, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size ecstasy-0.1-py2.7.egg (34.3 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size ecstasy-0.1-py3.4.egg (35.3 kB) File type Egg Python version 3.4 Upload date Hashes View
Filename, size ecstasy-0.1.tar.gz (14.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page