Human readable Python exceptions.
Project description
documented
Templated docstrings for Python classes.
Features
- Describe your business logic in docstrings of your classes and exceptions;
- When printing an object or an exception, your code will explain to you what is going on.
Installation
pip install documented
Example
from dataclasses import dataclass
from documented import DocumentedError
@dataclass
class InsufficientWizardryLevel(DocumentedError):
"""
🧙 Your level of wizardry is insufficient ☹
Spell: {self.spell}
Minimum level required: {self.required_level}
Actual level: {self.actual_level} {self.comment}
Unseen University will be happy to assist in your training! 🎓
"""
spell: str
required_level: int
actual_level: int
@property
def comment(self) -> str:
if self.actual_level <= 0:
return '(You are Rincewind, right? Hi!)'
else:
return ''
raise InsufficientWizardryLevel(
spell='Animal transformation',
required_level=8,
actual_level=0,
)
which prints:
---------------------------------------------------------------------
InsufficientWizardryLevel Traceback (most recent call last)
<ipython-input-1-d8ccdb953cf6> in <module>
27
28
---> 29 raise InsufficientWizardryLevel(
30 spell='Animal transformation',
31 required_level=8,
InsufficientWizardryLevel:
🧙 Your level of wizardry is insufficient ☹
Spell: Animal transformation
Minimum level required: 8
Actual level: 0 (You are Rincewind, right? Hi!)
Unseen University will be happy to assist in your training! 🎓
License
Credits
This project was generated with wemake-python-package
. Current template version is: 5840464a31423422d7523897d854e92408eee6b8. See what is updated since then.
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
documented-0.1.0.tar.gz
(3.9 kB
view hashes)
Built Distribution
Close
Hashes for documented-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a204fdfe9de4f3d83fa5c1fc2019abe35364ee3a5928dc0924988408fbd77ce9 |
|
MD5 | a7ea93304f3150f3d4394801afea072c |
|
BLAKE2b-256 | 68e5771a4169e8390eb577e5c21cd78da029408f8140bb3eaed602d0d26707f1 |