Skip to main content

This is a work-in-progress library to add documentation functionality to dataclasses introduced in Python 3.7. The library can be used as a drop-in replacement for the standard dataclasses and can be installed from PyPI.

$ pip install literate_dataclasses

Literate dataclasses modify their own class docstrings and add attribute docs in [Google code style](https://google.github.io/styleguide/pyguide.html) with the goal of removing redundant code. The docs can be written as follows:

from literate_dataclasses import dataclass, field

@dataclass(test_arg = "hello")
class Test:
    """My dataclass

    Some comment.

    Args:
        See dataclass signature.
    """

    x: int = field(default = 42, doc = \
    """Some value x."""
    )

    y: int = field(default = 72, doc = \
    """Some value x."""
    )

    name: int = field(default = 'foo', doc = \
    """The object name.""",
    )

test = Test(x = 5, y = 3)
help(Test)

which will generate the output

Help on class Test in module __main__:

class Test(builtins.object)
|  Test(x: int = 42, y: int = 72, name: int = 'foo') -> None
|
|  My dataclass
|
|  Some comment.
|
|  Args:
|      x: Some value x.
|      y: Some value x.
|      name: The object name.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

literate_dataclasses-0.0.6.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

literate_dataclasses-0.0.6-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file literate_dataclasses-0.0.6.tar.gz.

File metadata

  • Download URL: literate_dataclasses-0.0.6.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for literate_dataclasses-0.0.6.tar.gz
Algorithm Hash digest
SHA256 bac03b318aa19504dc69b7ce3b1a03c17304b8f2a9156337ec8ac2c02a78072d
MD5 53bbc23a70350ce020a08e1719970f2e
BLAKE2b-256 556e4dec6ba9484821799bab1b529e37cdae6d05dd2caf8ab61746a5e4bca4fa

See more details on using hashes here.

File details

Details for the file literate_dataclasses-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for literate_dataclasses-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b8617f7e8e838b224053bdde86005bd48fa83de71733aa61accb78fd215744b3
MD5 8557d13860390a504f4a1428927e2a85
BLAKE2b-256 9c9af8294a4f52408b228f8fdb447b2e842f40b3ab37780b48d6a5d12afcabae

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page