Skip to main content

A simple python package that allows you to colour and format text in both terminal and idle environments.

Project description

Rainbow Snake

A simple python package that allows you to colour and format text in both terminal and idle environments.

Example

from rainbowsnake import Color

Color.clear()
Color.clear()
    
Color.output(
    f"\nWelcome to {Color.bold + Color.hexbg('#EE1C25') + Color.hextext('#ffffff')}Mushroom Cafe{Color.hexOFF + Color.boldOFF} Payroll Management \n \n"
)
    
Color.output(
    f"{Color.warning}Please enter a number between 1 and 4{Color.warningOFF} \n"
)
    
Color.output("Select task:")
Color.output(f"{Color.bold}1{Color.boldOFF}. Enter hours worked")
Color.output(f"{Color.bold}2{Color.boldOFF}. Manage employees")
Color.output(f"{Color.bold}3{Color.boldOFF}. Export payroll slips")
Color.output(f"{Color.bold}4{Color.boldOFF}. View statistics \n")

Output of example

Platform Type Image
Terminal Screenshot of code output in terminal
Idle Screenshot of code output in Idle

About

Rainbow Snake is a python package that allows you to add colour to your command line programs.

Unlike other solutions that target terminal escape codes or idle colouring exclusively, Rainbow Snake works across all platforms, including idle and terminal based systems.

Rainbowsnake supports progressive enhancement. That means that in terminal environments it can display full hex colours, but falls back to simple colour definitions in idle.

In the terminal, Rainbowsnake can provide bold, any hex colour for text and any hex colour for background. It can also colour based on the built-in colours/symbolic styles of error, warning, success, information and important.

In idle, Rainbow Snake can only provide bold and the contextual colours of error warning success information and important.

Usage

Install Package

pip install rainbowsnake

Import color class:

from rainbowsnake import Color

Use Output [print()]

Color.output(f"Sometext")

Use Input

somevalue = Color.input(f"Enter some input: ")

Clear the Terminal

Color.clear()

Bold text

Color.output(f"{Color.bold}Sometext{Color.boldOFF}")

Symbolically Color

Available Colors

Name Color Start fString Code end fString Code
Error Red {Color.error} {Color.errorOFF}
Warning Yellow {Color.warning} {Color.warningOFF}
Success Green {Color.success} {Color.successOFF}
Information Blue {Color.information} {Color.informationOFF}
Important Purple {Color.important} {Color.importantOFF}
Color.output(f"{Color.error}Sometext{Color.errorOFF}")

Hex Color Background

color.output( f"{color.hexbg('#EE1C25')}Sometext{color.hexOFF}")

Hex Color Text

color.output( f"{color.hextext('#EE1C25')}Sometext{color.hexOFF}")

Combining Codes

color.output( f"{color.hexbg('#EE1C25')}This text has a red background{color.hexOFF} and this is {Color.bold}bold{Color.boldOFF} and this an {Color.error}Error{Color.errorOFF}")

API Reference

Available Codes

Available Modifiers

Name Start fString Code end fString Code
Bold {Color.bold} {Color.boldOFF}

Available Colors

Name Color Start fString Code end fString Code
Error Red {Color.error} {Color.errorOFF}
Warning Yellow {Color.warning} {Color.warningOFF}
Success Green {Color.success} {Color.successOFF}
Information Blue {Color.information} {Color.informationOFF}
Important Purple {Color.important} {Color.importantOFF}

Hex Colors (Terminal Only)

Type Start Code End Code
Text Color {Color.hextext("#RRGGBB")} {Color.hexOFF}
Background Color {Color.hexbg("#RRGGBB")} {Color.hexOFF}

Functions

Color.output(string)

Prints styled text using embedded color codes.


Color.input(string)

Displays a styled prompt and returns user input.


Color.clear()

Clears the screen.


Tips

Do not nest codes

Color.output(f"{Color.error}This {Color.warning}will{Color.warningOFF} not work {Color.errorOFF}")

This will result in an error, instead, to change colors, end the current color and start the next color.

Color.output(f"{Color.error}This {Color.errorOFF}{Color.warning}will{Color.warningOFF}{Color.error} not work {Color.errorOFF}")

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

rainbowsnake-1.0.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

rainbowsnake-1.0.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file rainbowsnake-1.0.0.tar.gz.

File metadata

  • Download URL: rainbowsnake-1.0.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rainbowsnake-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9b5a3468484c78af7fd24bd5825b07eab7d241191c550f451146f6b9461effd0
MD5 b9c493d812b84db46464972d97752b6d
BLAKE2b-256 1815fcd4b069538443a551e499b0798348014b6f76420530a057f4f8eb51ca09

See more details on using hashes here.

Provenance

The following attestation bundles were made for rainbowsnake-1.0.0.tar.gz:

Publisher: python-publish.yml on Milnerrafe/Rainbow_Snake

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rainbowsnake-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: rainbowsnake-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rainbowsnake-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b2c63ca85f03be00782eb4605d19a0ecf442360de4acc859fcce2279d638be0
MD5 55ca3bf1292e80db326cc89a36f8aad8
BLAKE2b-256 5cfc2c6f3a2cd97d02e219e068b466e0d39f7ccf4a1c1f03fe521a9e4deb3347

See more details on using hashes here.

Provenance

The following attestation bundles were made for rainbowsnake-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on Milnerrafe/Rainbow_Snake

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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