Features that Python should have in the standard library
There are 5 sub modules:
SuperPy's logging system is a simple abstraction from the standard library logging module. It also provides some nice extra functionalities. Here are some examples:
import super_py as sp log = sp.logging.Logger("info", ts_color="bright_green", terminal=True, files=["info.log", "combined.log"], ) log("This is a simple log!")
This will write the following log line to the terminal, and the files
[info ] 2022-10-04 15:53:09 This is a simple log!
where the name and timestamp will be colored in
Logging function benchmarks
You can also use the provided decorator to log benchmarks of your functions:
import super_py as sp log = sp.logging.Logger("benchmark", ts_color="bright_green", terminal=True, ) @log.benchmark(with_args=) def wait(seconds): time.sleep(seconds) for i in range(10): wait(i / 10)
This will write the following log lines:
[benchmark ] 2022-10-04 16:03:39 0.0ms wait((0.0)) [benchmark ] 2022-10-04 16:03:39 105.1ms wait((0.1)) [benchmark ] 2022-10-04 16:03:39 205.1ms wait((0.2)) [benchmark ] 2022-10-04 16:03:40 308.3ms wait((0.3)) [benchmark ] 2022-10-04 16:03:40 403.5ms wait((0.4)) [benchmark ] 2022-10-04 16:03:40 505.1ms wait((0.5)) [benchmark ] 2022-10-04 16:03:41 605.1ms wait((0.6)) [benchmark ] 2022-10-04 16:03:42 705.1ms wait((0.7)) [benchmark ] 2022-10-04 16:03:43 804.1ms wait((0.8)) [benchmark ] 2022-10-04 16:03:43 903.3ms wait((0.9))
You can use benchmark without calling the decorator, it will still work:
@log.benchmark def wait(seconds): time.sleep(seconds)
The benchmark decorator takes the following keyword arguments:
with_args: list[int]: The list of indices of function arguments which should be logged.
with_kwargs: list[str]: The list of keyword argument names of the function which should be logged.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.