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.1.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.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rainbowsnake-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 5cb3cd400a41fc0c1a7b318fba5483969fb1088885e0583484f2430ddcbecbef
MD5 a3f30e7c08a3ea456ee35d2017d11066
BLAKE2b-256 c5736a799d4b770d436f7fddacfd7851e4fcc6ce2a819be096780e262fe50f3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rainbowsnake-1.0.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: rainbowsnake-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 42521085506132f157437c88bdedd0b4097037790b297be1ea552db2b71652f2
MD5 1b5127d72cd958ac262b83ac0127da45
BLAKE2b-256 408a1a3bc1d2dd680bcd1b931af9093d2577ea77d73dcc1bf5db27f7ef6468cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rainbowsnake-1.0.1-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