Skip to main content

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}")

Metadata

Release files for rainbowsnake 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rainbowsnake 1.0.1
File Size Uploaded
rainbowsnake-1.0.1.tar.gz 4.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rainbowsnake 1.0.1
File Interpreter ABI Platform
rainbowsnake-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 kB

Release files / rainbowsnake-1.0.1.tar.gz

Download URL rainbowsnake-1.0.1.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5cb3cd400a41fc0c1a7b318fba5483969fb1088885e0583484f2430ddcbecbef
BLAKE2b-256 checksum
How to use checksums
c5736a799d4b770d436f7fddacfd7851e4fcc6ce2a819be096780e262fe50f3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 28, 2026.

Transparency log

Release files / rainbowsnake-1.0.1-py3-none-any.whl

Download URL rainbowsnake-1.0.1-py3-none-any.whl
Size 5.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42521085506132f157437c88bdedd0b4097037790b297be1ea552db2b71652f2
BLAKE2b-256 checksum
How to use checksums
408a1a3bc1d2dd680bcd1b931af9093d2577ea77d73dcc1bf5db27f7ef6468cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page