Skip to main content

colourise_output

PyPI - Python Version PyPI - Implementation PyPI - Wheel PyPI - Version PyPI - Downloads PyPI - License Execution status GitHub Workflow Status (with event) GitHub repo size GitHub Repo stars GitHub commit activity (branch) GitHub last commit (branch)

Static Badge

Description

This is a module that allows you the change the colour of the terminal using the batch colour syntax. It works on all known platforms.

Table of Content

  1. colourise_output
  2. Description
  3. Table of Content
  4. Installation
    1. Using pip
    2. Using python
  5. Usage
    1. Importing
    2. Initialising
    3. Calling the test_colours function
      1. Epilepsy warning
    4. Changing the colour
      1. Displaying text and the colour
      2. Only changing the colour
  6. Available colours
  7. Change the initialisation content
    1. Changing the forbidden characters
    2. Changing the description
    3. Changing both
  8. Author
  9. Version

Installation

Using pip

pip install -U colorama
pip install -U colourise-output

Using python

Under windows:

py -m pip install -U colorama
py -m pip install -U colourise-output

Under Linux/Mac OS:

python3 -m pip install -U colorama
python3 -m pip install -U colourise-output

Usage

Importing

import colourise_output as co

Initialising

The generic class is: ColouriseOutput() The generic loading function is: init_ressources(self) The output is: None

COI = co.ColouriseOutput()
COI.init_ressources()

Calling the test_colours function

The generic function is:

test_colours(self, delay:int=0)

The output is: None

COI.test_colours()

Calling this function will result in the function displaying all the available colours as well as their colour code (what you use to call them).

Epilepsy warning

Warning: Avoid this function if you are epileptic or set the delay to 1

COI.test_colours(1)

Changing the colour

The generic function to ask a question is:

display(self, colour:str, attributes:tuple=(), text:str="")

The outputs of this function is: None The terminal will display the next lines in the desired colour.

Displaying text and the colour

COI.display("0A", (), "Hello World !\n")

The text "Hello World" will be displayed in green (A) on a black background (0).

Only changing the colour

answer = AQI.ask_question("How old are you?", "uint")
ADD_S = ""
if answer > 1:
    ADD_S = "s"
print(f"You are {answer} year{ADD_S} old !")

Available colours

Here is the windows colour pallet and how to use it:

Windows colour pallet

  • 0: Black
  • 1: Blue
  • 2: Green
  • 3: Aqua
  • 4: Red
  • 5: Purple
  • 6: Yellow
  • 7: White
  • 8: Gray
  • 9: Light Blue
  • A: Light Green
  • B: Light Aqua
  • C: Light Red
  • D: Light Purple
  • E: Light Yellow
  • F: Bright White

Using the Windows colour pallet

Change the initialisation content

When initialising the class it is possible to change the forbidden characters and/or the descriptions of the available types.

changing the forbidden characters

import ask_question as aq
illegal_characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \\t\\n\\r\\x0b\\x0c"
illegal_characters = illegal_characters.replace("0123456789","")
AQI = aq.AskQuestion(dict(), illegal_characters)

This initialisation has changed the characters that will be allowed for the number conversion in the 'int' and 'float' options.

Changing the descriptions

import ask_question as aq
human_type = {
    "int":"whole number (-1, 0, 1, 2, 3, etc...)",
    "float":"floating number (-1.2, 0.1, 1.2, etc...)",
    "uint":"whole positive number (0, 1, 2, etc...)",
    "ufloat":"whole positive floating number (0.1, 1.2, etc ...)",
    "num":"numeric (numbers from 0 onwards)",
    "alnum":"alphanumeric (only numbers and the alphabet)",
    "isalpha":"alphabet (from a to z and A to Z)",
    "char":"alphabet (from a to z and A to Z)",
    "ascii":"ascii Table",
    "str":"string (any character you can type)",
    "version":"version (numbers seperated by '.' characters)",
    "ver":"version (numbers seperated by '.' characters)",
    "bool":"boolean (yes/True/1 or no/False/0 answer type)",
}
AQI = aq.AskQuestion(human_type)

This initialisation has changed the descriptions for the types. When the user will enter a wrong answer, the description displayed for the type you were expecting will be taken from the human_type dictionnary you have entered.

Changing both

import ask_question as aq
illegal_characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \\t\\n\\r\\x0b\\x0c"
illegal_characters = illegal_characters.replace("0123456789","")
human_type = {
    "int":"whole number (-1, 0, 1, 2, 3, etc...)",
    "float":"floating number (-1.2, 0.1, 1.2, etc...)",
    "uint":"whole positive number (0, 1, 2, etc...)",
    "ufloat":"whole positive floating number (0.1, 1.2, etc ...)",
    "num":"numeric (numbers from 0 onwards)",
    "alnum":"alphanumeric (only numbers and the alphabet)",
    "isalpha":"alphabet (from a to z and A to Z)",
    "char":"alphabet (from a to z and A to Z)",
    "ascii":"ascii Table",
    "str":"string (any character you can type)",
    "version":"version (numbers seperated by '.' characters)",
    "ver":"version (numbers seperated by '.' characters)",
    "bool":"boolean (yes/True/1 or no/False/0 answer type)",
}
AQI = aq.AskQuestion(human_type)

You have now impacted the int and float typing as well as the 'type' descriptions.

Author

This module was written by (c) Henry Letellier Attributions are appreciated.

Quick way (I assume you have already initialised the class):

print(f"AskQuestion is written by {AQI.author}")

Version

The current version is 1.0.0

An easy way to display the version is:

import ask_question as aq
print(f"Version : {aq.__Version__}")

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colourise_output-1.1.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

colourise_output-1.1.3-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file colourise_output-1.1.3.tar.gz.

File metadata

  • Download URL: colourise_output-1.1.3.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for colourise_output-1.1.3.tar.gz
Algorithm Hash digest
SHA256 4a535b609b2a12591351eda75f4f48a2ab2ae6d6026e1cb256d2049901cf2eb3
MD5 8574825e7cdf8e2c63480414f97c72b2
BLAKE2b-256 559a318584125e31061e95f57331eb97cd9aa91c79f4be383a231bced4d9dedd

See more details on using hashes here.

File details

Details for the file colourise_output-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for colourise_output-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9a9a44ffda350bc429b8e3901487bf4d94fb1afd9339eb58c2e52bcbd0fb2e13
MD5 10558b4fd28e3c66ae9e0a9c9c629161
BLAKE2b-256 87263edebb166af31594c57a809d968df7bb9f286f5db4debfb373d9236c9808

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