Skip to main content

A command-line-tool beautifier.

Project description

https://travis-ci.org/goldsborough/ecstasy.svg?branch=master https://coveralls.io/repos/goldsborough/ecstasy/badge.svg?branch=master&service=github https://landscape.io/github/goldsborough/ecstasy/master/landscape.svg?style=flat

Ecstasy is here to make your command-line tool beautiful and fancy.

Your command-line tool’s output without ecstasy:

https://raw.githubusercontent.com/goldsborough/ecstasy/master/docs/img/without.png

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

https://raw.githubusercontent.com/goldsborough/ecstasy/master/docs/img/with.gif

Usage

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.

print(text)

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

https://raw.githubusercontent.com/goldsborough/ecstasy/master/docs/img/usage.gif

Installation

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

$ pip install ecstasy

… and get crackin’.

Documentation

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

Compatibility

Python Versions

Built with Python 3.4 and Python 2.7. Additionally successfully backported to and tested with Python 2.6, 3.2 and also 3.3. See what Travis has to say about it.

Terminal Support

Works out of the box with your Mac’s terminal. For more information, please enjoy this table:

Terminal Bold Dim Underlined Blink Invert Hidden Color
aTerm X X X
Eterm (1) X X X
GNOME X
Guake X
Konsole X X
Nautilus X
rxvt X (2) X
Terminator X
Tilda X X X
XFCE4 X
XTerm X
xvt X X X X
Linux TTY X X X X
VTE X

(1) Lighter colors instead of bold.

(2) Lighter colors instead of blink.

License

Ecstasy is released under the MIT license.

Authors

Peter Goldsborough & cat :heart:

Join the chat at https://gitter.im/goldsborough/ecstasy

Project details


Release history Release notifications

This version
History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
ecstasy-0.1.3-py2.py3-none-any.whl (19.0 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Aug 9, 2015
ecstasy-0.1.3.tar.gz (15.4 kB) Copy SHA256 hash SHA256 Source None Aug 9, 2015

Supported by

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