Skip to main content

A package for formatted console output using ANSI escape codes - colors AND formatting.

Project description

This script allows you to set the foreground, and background colors of your Console output as well as setting a few styles. The script uses ANSI Escape Codes for colors black, red, green, yellow, blue, magenta, cyan, & white. It also uses the ANSI Escape Codes for styles bold, underline, and both combined. Coders can either put together a mult-formatted message in JSON or simply set the format for the whole line.

OS COMPATIBILITY

Though Linux and Mac are pretty much alsways compatible... This library seamlessly takes into account Windows machines that are not configured to support ANSI escape codes. When your script runs, the library attempts to enable this feature for this session. If you're compatible, I go formatted. If I can make you compatible for this seesion, I go formatted. If all fails, then I go back to printing with default behavior.

HOW TO REFERENCE

  1. install the library
    pip install formatted-console-output
  1. At the top of your main script add the following import statement:
    from formatted_console_output import ForegroundColor, BackgroundColor, TextFormat, output_formatted_message as print, output_many_format_message as printf

CODE COMPATIBILITY/OVERLOADING

You do not have to alias the method imports as "print" and "printf" but that makes it more natural for you to code against and allows you to leverage everything else about the print() method. The script passes on all extra keyword arguments that are normally used in a print() call, so go wild. Anyone referencing this library that tries to use the print() method as normal would still get default console output with no format and normal behavior otherwise.

HOW TO USE IN CODE

The enumerators that define these colors/formats are:

  • ForegroundColor [BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, NONE]
  • BackgroundColor [BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, NONE]
  • TextFormat [BOLD, UNDERLINE, BOLD_AND_UNDERLINE, NONE]

The added keyword arguments are:

  • fg_color (default is ForegroundColor.NONE)
  • bg_color (default is BackgroundColor.NONE)
  • format (default is TextFormat.NONE)

In the following example we're printing a message to console with one format for the entire line: blue text on a yellow background in bold style.

I also threw in some standard keyword arguments to show that:

print(
    f"Archiving files and reporting against them in '{dir_path}'",
    fg_color=ForegroundColor.BLUE,
    bg_color=BackgroundColor.YELLOW,
    format=TextFormat.BOLD,
    sep="  -  ",
    end="\n\n"
)

In this example we're formatting each phrase differently and putting it together using a JSON structure where the key is the phrase being formatted and the parameters are the text formatting and colors (any left out parameter is considered to be set to NONE):

message = {
    "The ": {"bg_color": BackgroundColor.BLACK, "fg_color": ForegroundColor.YELLOW},
    "quick brown foo ": {
        "bg_color": BackgroundColor.RED,
        "fg_color": ForegroundColor.YELLOW,
        "format": TextFormat.BOLD,
    },
    "jumped over the ": {
        "bg_color": BackgroundColor.BLACK,
        "fg_color": ForegroundColor.YELLOW,
    },
    "lazy ": {
        "bg_color": BackgroundColor.BLUE,
        "fg_color": ForegroundColor.YELLOW,
        "format": TextFormat.BOLD,
    },
    "bar": {
        "bg_color": BackgroundColor.BLUE,
        "fg_color": ForegroundColor.YELLOW,
        "format": TextFormat.BOLD_AND_UNDERLINE,
    },
}
printf(message)

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

formatted_console_output-0.2.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

formatted_console_output-0.2.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file formatted_console_output-0.2.1.tar.gz.

File metadata

File hashes

Hashes for formatted_console_output-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9c64c4147199f83c1023b1a8cfc0f9c08b6e82715e35fedb6d7dc10138de9c66
MD5 1bd69d09834c33ba104431e79f179005
BLAKE2b-256 0b90666e77887b26753456f7ba42af4556792f1c554438970863f5b043afbd7f

See more details on using hashes here.

File details

Details for the file formatted_console_output-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for formatted_console_output-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e89d12c34a25b157a953a92de135a4a879b7d1c2451c530d8a8ebe20a8d8ebc
MD5 1f7840d69a13125b3f2436ad6eae3f39
BLAKE2b-256 5ee3c560e646e0758713229de94247440f8414977c00d35df2d1e87e71823298

See more details on using hashes here.

Supported by

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