Metadata-Version: 2.1
Name: detool
Version: 1.1.3
Summary: decorator tool collection
Home-page: UNKNOWN
Author: abo123456789
Author-email: abcdef123456chen@sohu.com
Maintainer: abo123456789
Maintainer-email: abcdef123456chen@sohu.com
License: MIT License
Keywords: detool,decorators
Platform: all
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries
Description-Content-Type: text/markdown
Requires-Dist: loguru (>=0.6.0)
Requires-Dist: redis (>=3.0.0)
Requires-Dist: memory-profiler (>=0.61.0)

[![Supported Versions](https://img.shields.io/pypi/pyversions/leek.svg)](https://pypi.org/project/leek)
### 常用装饰器工具集

#### pip安装
```shell
pip install detool
```

#### 1.统计函数执行时长装饰器
```python
import time
from detool import timer_cost

@timer_cost
def t_time():
    time.sleep(0.01)
    print(123)
```

#### 2.redis缓存装饰器
```python
    from detool import RedisCache

    redis_cache = RedisCache(host='127.0.0.1', password='', port=6379, db=0)

    @redis_cache.cache(ttl=30)
    def sum_t(a, b):
        print(f'{a}+{b}={a + b}')
        return a + b

    r = sum_t(1, 2)
    print(r)
```
#### 3.日志装饰器
```python
    from detool import class_log_decorator,log_decorator

    @class_log_decorator
    class Cal(object):
        def __init__(self, c):
            self.c = c

        def sum(self, a, b):
            return a + b
    @log_decorator
    def calculate(a, b):
        return a + b

    Cal(3).sum(a=3, b=6)
```

#### 4.异常捕获装饰器
```python
    from detool import class_exception_decorator,exception_decorator

    @exception_decorator
    def r_exception():
        raise Exception("function Exception raised")


    @class_exception_decorator
    class ClassException(object):
        def r_exception(self):
            raise Exception("class Exception raised")


    r_exception()
    ClassException().r_exception()
```

#### 5.分析内存装饰器
```python
    from detool import profile

    @profile
    def t_memory():
        return [i for i in range(1, 1001)]

    t_memory()
```


