Skip to main content

Rich errors (sort of)

Project description

Welcome

PyPI version codecov FOSSA Status

RichErr

RichErr is a tiny module that gives you basic error class, which can be used in JSON, dict, list, and other mutation

from richerr import RichErr

print(RichErr.convert(ValueError('Hello world!')).json(indent=2))
{
  "error": {
    "code": 400,
    "exception": "BadRequest",
    "message": "Hello world!",
    "caused_by": {
      "error": {
        "code": 500,
        "exception": "ValueError",
        "message": "Hello world!",
        "caused_by": null
      }
    }
  }
}

Installation

Poetry

poetry add RichErr

PIP

pip install RichErr

Requirements

  • Python 3.10+
  • No package dependencies

Plugins

  • Supported Django Validation and ObjectNotFound errors
  • Supported DRF Validation errors
  • Supported Pydantic Validation errors

Want to add your own error conversion?

Add direct conversion

from richerr import RichErr, GatewayTimeout


class MyTimeoutError(IOError): ...


RichErr.add_conversion(MyTimeoutError, GatewayTimeout)

Or add conversion method

from richerr import RichErr


class MyTimeoutError(IOError): ...


def _convert(err: MyTimeoutError):
    return RichErr.from_error(err, message='Something happened', code=500, name='MyTimeoutError')


RichErr.add_conversion(MyTimeoutError, _convert)

!!! Subclasses will be checked before their parent, if multiple classes in same MRO will be registered. !!!

FOSSA Status

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

RichErr-0.2.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

RichErr-0.2.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file RichErr-0.2.0.tar.gz.

File metadata

  • Download URL: RichErr-0.2.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.10 CPython/3.10.0rc2 Linux/5.8.0-1042-azure

File hashes

Hashes for RichErr-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2ac1fe1c0208c55f2db93154fa2f025e769587c614b00893a0fd11b84208d51c
MD5 bd5f2c942cade84872e3cc56a8592d24
BLAKE2b-256 85493ac686b93f9660e5f5a52631218479b76308042343fcb66e393d6251ac24

See more details on using hashes here.

File details

Details for the file RichErr-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: RichErr-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.10 CPython/3.10.0rc2 Linux/5.8.0-1042-azure

File hashes

Hashes for RichErr-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6775ff63bdf610df73b2e2c908028c04cd008e390539a195d01aa5f451589de
MD5 5b3af7e20e31f3034daad4d0e94ea091
BLAKE2b-256 5d7227086d83d9449658ea2753b504dc2dd3dc0129993f46c89d13741c77d479

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