Decorators for Developers
Project description
wrapworks
Introduction
The wrapworks
package provides decorators and helper functions for various functionalities such as timing function execution, handling exceptions, and automatic function retries.
Installation
You can install wrapworks
using pip:
pip install wrapworks
Features
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.
Usage
Timing Function Execution
from wrapworks import timeit
@timeit()
def my_function():
pass
Handling Exceptions
from wrapworks import tryexcept
@tryexcept(default_return=None)
def another_function():
pass
Automatic Function Retries
from wrapworks import retry
@retry(max_retries=3, delay=1, default_return=None)
def some_function():
pass
Easy printing of exceptions
from wrapworks import eprint
def some_function():
try:
raise ValueError()
except Exception as e:
eprint(e , some_function)
Add current directory to system path and load environment variables
from wrapworks import cwdtoenv
cwdtoenv()
Customizing Output
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wrapworks-1.0.2.tar.gz
(5.2 kB
view hashes)
Built Distribution
Close
Hashes for wrapworks-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 958602ff9c0ae7b3878dec7eeb528ee568e16e2278e78f49e39e333e9c7e7b86 |
|
MD5 | 76d17f8ca40fd4739ee0963b1b6f8adb |
|
BLAKE2b-256 | 590ca580c714a916e5d2c98f4f630af6b50b1ac8f509881fd39a8a95079e2861 |