Signale.py can be installed using pip.
[sudo] pip install signalepy
Package consists of a class Signale, it is the main constructor class. The object created has all the logger functions in it.
Each logger function takes in three arguments:-
textprefix( Optional )suffix( Optional )
They all are available in the logger object. To create one do this:-
from signalepy import Signale
logger = Signale()Now you can use the default loggers using this object like:-
...
logger.success("Started Successfully", prefix="Debugger")
logger.warning("`a` function is deprecated", suffix="main.py")
logger.complete("Run Complete")
...This will produce the following result:-
View All Available Loggers
simplesuccesserrorwarningstartstopwatchimportantpendingcompletedebugpauseinfolikecenterboldunderlinereversedcoloured
To create scoped loggers, define the scope field in the options argument of constructor like:-
from signalepy import Signale
logger = Signale({
"scope": "global scope"
})
logger.success("Scoped Logger Works!")This will produce the following result:-
You also create multiple scopes by setting the scope field to a list of strings like:-
from signalepy import Signale
logger = Signale({
"scope": ["global scope", "inner scope"]
})
logger.success("Scoped Logger Works!")This will produce the following result:-
You can also create scoped a logger which is just clone of other by using by using the scoped function like this:-
from signalepy import Signale
logger = Signale({
"scope": "global scope"
})
logger2 = logger.scoped("inner")
logger2.like("I love Signale.py", prefix="Shardul Nalegave", suffix="Creator")This will produce the following result:-
Note:- All the configuration will be copied to the new logger just the scope will be extended.
Custom loggers can be created by passing a array of custom logger configuration to the field custom in the options passed to the constructor. Even clone loggers inherit the parent's custom loggers. For example:-
from signalepy import Signale
logger = Signale({
"scope": "global scope",
"custom": [
{
"badge": "!",
"label": "Attention",
"color": "red",
"name": "attention"
}
]
})
logger2 = logger.scoped("inner")
logger.attention("It Works!")
logger2.attention("With Logger2")This will produce the following result:-
You can set labels to be underlined by setting the underlined field to True in the options passed to the constructor. For example:-
from signalepy import Signale
s = Signale({
"underlined": True
})
s.center("Testing Logger")
s.simple("ABC", prefix="Debugger", suffix="xyz")
s.info("Starting", prefix="Debugger")
s.success("Started Successfully", prefix="Debugger", suffix="xyz")
s.watch("Watching All Files", prefix="Debugger")
s.error("Something Went Wrong", prefix="Debugger")
s.warning("Deprecation Warning", prefix="Debugger")
s.pending("Postponed", prefix="Debugger")
s.debug("Found A Bug on L55", prefix="Debugger")
s.start("Started New Process", prefix="Debugger")
s.pause("Process Paused", prefix="Debugger")
s.complete("Task Completed", prefix="Debugger")
s.important("New Update Available. Please Update!", prefix="Debugger")
s.like("I Love Signale", prefix="Debugger")
s.stop("Stopping", prefix="Debugger")This will produce the following result:-
Options taken by constructor
-
scope
- Type:
strorlist
Signale Logger Scope
- Type:
-
underlined
- Type:
bool
Labels Should Be Underlined Or Not
- Type:
-
custom
- Type:
list
List of custom logger configuration.
-
Configuration Type:
dictCustom Logger Configuration Dictionary
-
Keys
-
name- Type:
str
Name of the logger
- Type:
-
label- Type:
str
Label displayed beside the icon ( colored text )
- Type:
-
badge- Type:
str
Icon
- Type:
-
color- Type:
str
Color of the icon and label. Should be from:-
reddarkbluepinkgreengreypurpleyellowcyanreset(color reset code)
- Type:
-
-
- Type:
-
logger =
Signale(<options>)
Signale- Type:
class
Signale class imported from
signalepymodule
options- Type:
dict
Options Dictionary for logger.
- Returns: Signale Logger Object
Logger object which can be used for logging
- Type:
-
logger.
<logger>(message="", prefix="", suffix="")
logger- Type:
function
Can be any default logger
message- Type:
str
Message to be displayed
prefix- Type:
str - Required: False
Prefix text
suffix- Type:
str - Required: False
Suffix text
- Returns:
None
- Type:
-
logger2 =
logger.scoped(<new scope>)
logger- Type: Signale Logger Object
Parent Logger
new scope- Type:
str
New Scope Name
- Returns: Signale Logger Object
Clone Logger object with extended scope






