Skip to main content

Decorators for common developer utility.

Project description

wrappy

Decorators for common developer utilities in Python 3.6+.

Documentation

Documentation is built with Mkdocs and hosted here.

Quick Examples (see the docs for more detail)

from wrappy import probe, guard, todo, memoize

@probe()
def do_some_heavy_computation(a, b, c):
    return a * b + c

@probe(show_args=True, show_kwargs=True, show_returns=True)
def someone_elses_code():
    # code that does not explain itself
    #
    # show examples of args, kwargs, and return values at runtime to get some clue

@probe(show_caller=5)
def a_call_chain_would_be_nice():
    # find out with show_caller=<number_of_callers_along_the_chain>

@guard(fallback_retval=0)
def this_could_blow_up(a, b):
    return a / b

@todo('Not implemented')
def i_am_not_ready():
    # code is under construction, so throw an error when called prematurely

@guard()
@memoize()
def recursive_or_dynamic_programming_subroutine(n):
    assert isinstance(n, int) and n >= 0
    if n == 0:
        return 0
    return n + recursive_or_dynamic_programming_subroutine(n-1)

Examples by Comparison

This section is under construction!

Release Notes

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

wrappy-0.2.7.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

wrappy-0.2.7-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file wrappy-0.2.7.tar.gz.

File metadata

  • Download URL: wrappy-0.2.7.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for wrappy-0.2.7.tar.gz
Algorithm Hash digest
SHA256 afba2a4c6fc59b19425dd83ec6285984f2fbe5db105a2634a2cf12216844d5a6
MD5 14ce49101dd3d5b4db697b8db241f05f
BLAKE2b-256 92f2378dbc506e0a74dd27d13ae8833e1e6fc89bc65ddd4982e0400a0927466b

See more details on using hashes here.

File details

Details for the file wrappy-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: wrappy-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for wrappy-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1ba7545c91a9f49df899b588fa45815357f1d8fc8a140d85235514c1320ab401
MD5 643f16827fe71013adfd3a9b6c1b2696
BLAKE2b-256 5627665a9337328efc85c3a832962e8666ae0ff7aaca41b621737fe6d8ae8ead

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