Skip to main content

Templated docstrings for Python classes.

Project description

documented

Python Version wemake-python-styleguide PyPI - License

Templated docstrings for Python classes.

Features

  • Describe your business logic in docstrings of your classes and exceptions;
  • When printing an object or an exception, the library will substitute the placeholders in the docstring text with runtime values,
  • And you (or your user) will see a human-readable text.

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! 🎓

For more examples, see: https://anatoly-scherbakov.github.io/documented/

This project was generated with wemake-python-package.

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.4.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

documented-0.1.4-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file documented-0.1.4.tar.gz.

File metadata

  • Download URL: documented-0.1.4.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.0 Linux/6.2.0-33-generic

File hashes

Hashes for documented-0.1.4.tar.gz
Algorithm Hash digest
SHA256 f02ff67419b5d2403e6fad6c992fb5d3392673a2825ebb7d93a97f825102d4f2
MD5 1d0d94de2b71696de5d62a3f03bfee4b
BLAKE2b-256 bef1ee7c58862854fb5778aee40c15a0926415eaa9ed03d8a33bae5728f8e685

See more details on using hashes here.

File details

Details for the file documented-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: documented-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.0 Linux/6.2.0-33-generic

File hashes

Hashes for documented-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 de3fd47c1f11f01c3237a8857d6dc730809c32b252d5b53e16bccdf6b6bb0894
MD5 f25783958543dde41effd94e69d08236
BLAKE2b-256 5e0de61fc5e2e6423fdb68d6bae00e3f7c6d61fb1be1737f987d38473aab227e

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