Skip to main content

"Simple terminal formatting in Python"

Project description

Build Status FOSSA Status Shield Badge

Download

Go to the releases page and download the latest (or previous) version.

Or use pip pip install git+https://github.com/ilovecode1/Pyfancy-2/

Overview

pyfancy is a simple Python library that provides a mechanism for easily styling text in some terminal environments. Text is styled by chaining together methods that add escape codes for color modifiers to the text.

Usage

Formatting using pyfancy all follows the same basic pattern. First, there is the initializer, which just sets up the pyfancy object. Next is a chain of function calls that provide text formatting. Finally, there is a last method chained on which either returns the text string with format escape codes, or which directly outputs the text using the print statement / method. (The output method should be compatible with Python 2 and 3.)

This chain of code looks basically like this:

pyfancy().[chained statements].output() # To print using print statement / method
pyfancy().[chained statements].get()    # To get formatted text string

There are two different ways to use the chained statements. The first is to provide the text that is to be chained as part of the statement call. For example, the following prints “Hello, world!” in red:

pyfancy().red("Hello, world!").output()

However, chained statements are really just modifiers with an optional text argument. The following example works identically to the previous example:

pyfancy().red().add("Hello, world!").output()

Using chained statements, then, allows for modifiers to be stacked:

pyfancy().red().bold().add("Hello, world!").output()

# or

pyfancy().red().bold("Hello, world!").output()

# The red() and bold() calls can also be in the opposite order.

Of course, there can only be, for example, one color active at a time. This allows for the creation of multicolored statements:

pyfancy().red("Hello").magenta(", ").blue("world!").output()

It is also possible to reset all styles, either to get default styling, or to ensure that styles are reset, using the raw modifier:

pyfancy().raw("You walk into a ").red().bold("DANGEROUS").raw(" room.").output()

Parsing is a simple, shorter and faster way to use Pyfancy 2. Instead of:

pyfancy().red("Hello").blue(" world!").output()

You can do this:

pyfancy("{red Hello {blue world!}}").output()

For parsing you can also import from a text file:

pyfancy().open("import.txt").output()

In order to use pyfancy, import the module with from pyfancy import *.

Types of effects

Text Effect

Background

bold

n/a

dim

n/a

Light/Dark

underlined

n/a

n/a

blinking

n/a

n/a

black

black_bg

n/a

red

red_bg

dark_red

green

green_bg

dark_green

yellow

yellow_bg

dark_yellow

blue

blue_bg

dark_blue

magenta

n/a

dark_magenta

cyan

n/a

dark_cyan

n/a

gray_bg

light_gray

white

n/a

n/a

rainbow

n/a

n/a

multi

n/a

n/a

n/a

dark_gray_bg

dark_gray

n/a

light_red_bg

light_red

n/a

light_green_bg

light_green

n/a

light_yellow_bg

light_yellow

n/a

light_blue_bg

light_blue

n/a

light_purple_bg

light_purple

n/a

light_cyan_bg

light_cyan

n/a

white_bg

white

License

Pyfancy-2 is under the MIT license.

FOSSA Status Large Badge

Contributors

Note: Because v2 was made in a fork the contribution graph does not truely reflect the contributions made by the bellow contributers.

Project by CosmicWebServices

TheMonsterFromTheDeep

joker314

baranskistad

jonathan50

rogersouza

vutondesign

cruxicheiros

hiccup01

Kristinita

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pyfancy-2.4.5-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyfancy-2.4.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pyfancy-2.4.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1bea397281522f4475181a423e5e7ffcca0417246ce5141927f0bdfef93ecded
MD5 78cea7b529af3b8a3728b13c7e132cea
BLAKE2b-256 f585e4a6fbb9dac5b6f9566e2302319892413f997562adef64bbf5d606832d9d

See more details on using hashes here.

Supported by

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