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
levelparameter in a decorator is higher than theWRAPWORKSLEVELenvironment variable, the print statement from that decorator will be displayed. - Set
WRAPWORKSLEVELto 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
WRAPWORKSLEVELwill be suppressed, providing a cleaner output in the console or log files.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wrapworks-1.1.2.tar.gz.
File metadata
- Download URL: wrapworks-1.1.2.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
860000ef6a8eee24fc10ece375b27e790258550bf070de01206fcf3ff75bff65
|
|
| MD5 |
697f9e91d570ccf40e79705e718246ff
|
|
| BLAKE2b-256 |
437784759910462b332007ae3ad6c651c1252a805c345d42706627f78376f6b9
|
File details
Details for the file wrapworks-1.1.2-py3-none-any.whl.
File metadata
- Download URL: wrapworks-1.1.2-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0c160d185d99fc787adbcedb3a03b7adcaf6a4ab5a5ac51147a88703484efbe
|
|
| MD5 |
204380c913e926d934d8ab9b23578751
|
|
| BLAKE2b-256 |
6e7c475e0a414f4fad74e5bbfdc09a1af53294fb5f92c52a4db1cd4048bf46fa
|