Skip to main content

A set of tools that keep Python sweeter.

Project description

SmarTool - Smart Util Tool for Python

简介

SmarTool是一个小而全的Python工具类库,类似Java的Hutool

安装

pip install SmarTool

使用

1. Retry - 重试工具

import random
import requests
from SmarTool import retry

# 默认重试5次,每次间隔2秒,所有异常都重试
@retry
def div1(a, b):
    return a / random.choice([0, 1, b])
div1(2, 1)

# 重试10次,每次间隔1秒,仅在出现ZeroDivisionError时重试
@retry(times=10, delay=1, catch_error=ZeroDivisionError)
def div2(a, b):
    return a / random.choice([0, 1, b])
div2(2, 1)

# 在出现TypeError时不重试直接抛出异常
@retry(ignore_error=TypeError)
def div3(a, b):
    return a / random.choice([0, 1, b])
div3(2)

# 出现指定的多个异常时重试
@retry(catch_error=[requests.exceptions.ConnectionError, requests.exceptions.ConnectTimeout])
def get():
    return requests.get("https://xxx.com").json()
get()

2. Timeout - 超时工具

import time
from SmarTool import timeout

# 默认超时时间为5秒,函数执行时间超过5秒抛出TimeoutException
@timeout
def f1():
    time.sleep(6)
f1()

# 自定义超时时间为10秒
@timeout(10)
def f2():
    time.sleep(6)
f2()

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

SmarTool-1.0.6.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

SmarTool-1.0.6-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file SmarTool-1.0.6.tar.gz.

File metadata

  • Download URL: SmarTool-1.0.6.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for SmarTool-1.0.6.tar.gz
Algorithm Hash digest
SHA256 e9fed78dff29fd6bd2a1a4be500528a71c111753734642c2e0133f9766450bc3
MD5 3fab9fea0d6f3087bd82b7e26833020d
BLAKE2b-256 64c8d512e9b26cdc0e7ff7e258c8aeeed99ae409a2aaaf92cd3913d17edccce7

See more details on using hashes here.

File details

Details for the file SmarTool-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: SmarTool-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for SmarTool-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 68a65139bb49545def22e8b2be7080948062326296adef9067027fc76ab86d87
MD5 f7efaca10f43f20a6daa4de6178a8a77
BLAKE2b-256 566812a762c153db21b97852b4814c510c77f445ce00aafc48598f0e55bafc2c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page