Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dusktreader/py-buzz

"That's not flying, it's falling with style": Python Exceptions with extras
https://github.com/dusktreader/py-buzz

exceptions python python-3

Last synced: about 1 month ago
JSON representation

"That's not flying, it's falling with style": Python Exceptions with extras

Awesome Lists containing this project

README

        

![Latest Version](https://badge.fury.io/py/py-buzz.svg)
![Build Status](https://github.com/dusktreader/py-buzz/actions/workflows/main.yml/badge.svg)
![Documentation Status](https://github.com/dusktreader/py-buzz/actions/workflows/docs.yml/badge.svg)

![py-buzz-logo](https://github.com/dusktreader/py-buzz/blob/main/docs/source/images/buzz-logo-text.png)

**That's not flying, _it's falling with style_: Exceptions with extras**

![asciicast](https://github.com/dusktreader/py-buzz/blob/main/docs/source/images/py-buzz.gif)

py-buzz is fully equipped with a suite of exception tools that will save you
from writing the same code over and over again in your python projects. These
include:

* checking conditions and raising errors on failure (`require_conditon`)
* checking that values are defined and raising errors if not (`enforce_defined`)
* catching exceptions wrapping them in clearer exception types with better error
messages (`handle_errors`)
* checking many conditions and reporting which ones failed
(`check_expressions`)

py-buz also provides an exception class, Buzz, that can be used as a base class
for custom exceptions within a project.

## Super-quick Start

* Only requires Python 3.8 or later
* Installed with pip (`$ pip install py-buzz`)
* Each feature demonstrated in [examples](https://github.com/dusktreader/py-buzz/tree/main/examples)

## Documentation

The complete documentation can be found at the [py-buzz documentation page](https://dusktreader.github.io/py-buzz/)