Skip to content

Special Character Out (aka pypiscout) | Prints uniformly formatted console output

License

Notifications You must be signed in to change notification settings

holzkohlengrill/SCout

Repository files navigation

PyPI version

SCout - Standard Character Out

Lightweight python 3 library to print uniformly formatted console output tagged as

  • debug
  • info,
  • weak warning
  • warning,
  • error or
  • header.

There is the option to use custom tags and colours. If your console supports it coloured output will be used.

Since version 2 there is an extended logging functionality available which supports:

  • Actions on warning in the event of warnings or errors
  • Inverse verbosity options

The SCout Logger as well as Simple SCout can be used independently.

Installation

  • pip3 install git+https://github.com/holzkohlengrill/SCout.git
  • pip3 install pypiscout

Usage

Additionally example files are provided.

Simple SCout

Usie it similar to print():

from pypiscout import SCout as sc

sc.header("Welcome to SCout!")
sc.debug("Some debug message: 0xDEADBEEF")
sc.info("An info message")
sc.wwarning("Weak warnings are supported")
sc.warning("This is a warning")
sc.error("An error occured"))

Example output:

Output Image: https://github.com/holzkohlengrill/SCout/raw/master/output_SCout.png

SCout Logger

Optionally you can provide some settings for verbosity, warnings and errors.

Inverse verbosity

Instead of providing more verbose output we use inverse verbosity levels (default = 0) which provides less output the higher the level.

Level Description
-1 Print all (debug, info, weak warnings, warning & error)
0 Print info, weak warnings, warning & error
1 Print weak warnings, warning & error
2 Print warning & error
3 Print error
4 Do NOT print anything

Usage

Basic usage

Implicit construction with default settings during the first call. In order to make it more readable call sc() upfront or use simple SCout if you don't need the Logger functionality.

from pypiscout.SCout_Logger import Logger as sc

sc().header("Simple SCout")
sc().debug("Some debug message:", "0xDEADBEEF")

Edit current settings

sc()(invVerbosity=0, actionWarning=None, actionError=lambda: sys.exit(-10))
sc().header("SCout Logger")
sc().debug("Some debug message: 0xDEADBEEF")
sc().info("An info message")
sc().wwarning("Weak warning (does not support actions)")
sc().warning("This is a warning without defined action")
sc().error("Here the error action is defined as sys.exit(-10)")

Example output:

Output Image: https://github.com/holzkohlengrill/SCout/raw/master/output_SCout_Logger.png