Skip to main content

Exception guard capture utility library

Project description

Minder

Vercel deployment PyPI pdm-managed pre-commit.ci status Supported Python versions

Exception guard capture utility library.

Installation

pip install minder

Demo

The Minder context manager keeps failure modes contained with minimal legibility cost:

from minder import Minder


def succeed() -> dict:
    with Minder() as guard:
        with guard.duty("winning"):
            guard.result = 100
    return guard.report()


response = succeed()
print(response)
{'result': 100, 'success': True}

When an error is encountered, we get the same interface.

from minder import Minder


def fail() -> dict:
    with Minder() as guard:
        with guard.duty("greet"):
            print("Hello world")
        with guard.duty("division"):
            guard.result = 1 / 0
    return guard.report()


response = fail()
print(response)
Hello world
{'result': {'error': 'division by zero', 'where': 'division'}, 'success': False}

In this example we expose a reliable interface of a result and success boolean.

We could also return guard (the Minder instance) and handle success/failure at the call site, but the assumption is we would rather have this prepared for us.

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

minder-0.0.2.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

minder-0.0.2-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file minder-0.0.2.tar.gz.

File metadata

  • Download URL: minder-0.0.2.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.12.3 CPython/3.11.5

File hashes

Hashes for minder-0.0.2.tar.gz
Algorithm Hash digest
SHA256 928c48a83744a2e68846c7b1b5d6e53e3d56740584e61936c70ac636ef38c80c
MD5 4a63efd82f65691745a4a6e16ca531d2
BLAKE2b-256 a88cdf1327d97897ba81d619095731761c7cee40fb92732e46676e0350edc442

See more details on using hashes here.

File details

Details for the file minder-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: minder-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.12.3 CPython/3.11.5

File hashes

Hashes for minder-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1d97777f08ba7088abeabf50ad8863dc299a801cff0bfc242f23540eb29a9eb6
MD5 23a4ccc209bba59ca797bd8ce92ab0c8
BLAKE2b-256 6c315b019178f908516756305717bd072b51ad985f0afac26836c9e2f661db3e

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