The wrapworks
package provides decorators and helper functions for various functionalities such as timing function execution, handling exceptions, and automatic function retries.
You can install wrapworks
using pip:
pip install wrapworks
-
timeit
: Decorator to print the execution duration of a function. -
tryexcept
: Decorator to add a try-except block around a function. -
retry
: Decorator to automatically retry a function.
from wrapworks import timeit
@timeit()
def my_function():
pass
from wrapworks import tryexcept
@tryexcept(default_return=None)
def another_function():
pass
from wrapworks import retry
@retry(max_retries=3, delay=1, default_return=None)
def some_function():
pass
from wrapworks import eprint
def some_function():
try:
raise ValueError()
except Exception as e:
eprint(e , some_function)
from wrapworks import cwdtoenv
cwdtoenv()
You can customize the output behavior of the wrapworks
decorators by specifying a level
parameter when using them.
Additionally, you can further control the display of print statements based on the WRAPWORKSLEVEL
environment variable as follows:
- If the
level
parameter in a decorator is higher than theWRAPWORKSLEVEL
environment variable, the print statement from that decorator will be displayed. - Set
WRAPWORKSLEVEL
to a specific level (e.g.,1
,2
,3
, etc.) to control which decorators' print statements are shown based on their respective levels. - Print statements from decorators with a level lower than the
WRAPWORKSLEVEL
will be suppressed, providing a cleaner output in the console or log files.