Skip to main content

Add a succinct TOC to auto-documented classes.

Project description

https://img.shields.io/pypi/v/autoclasstoc.svg https://img.shields.io/pypi/pyversions/autoclasstoc.svg https://img.shields.io/readthedocs/autoclasstoc.svg https://img.shields.io/github/actions/workflow/status/kalekundert/autoclasstoc/test.yml?branch=master https://img.shields.io/codecov/c/gh/kalekundert/autoclasstoc

It’s surprisingly difficult to document large Python classes in a way that’s easy for users to navigate. Most projects use the autodoc Sphinx plugin, which simply puts the complete documentation for each class member one after another. While this does fully document the class, it doesn’t give the user a quick way to see everything the class can do. This makes classes of even moderate complexity difficult to navigate. It also encourages projects to be stingy about which class members to include in the documentation (e.g. excluding special methods, inherited methods, private methods, and/or undocumented methods), to the further detriment of the user.

What’s needed is for each class to have a succinct table of contents (TOC) that:

  • Is organized into sections that will be meaningful to the user. Different projects and classes may call for different sections, e.g. public/private methods, methods that share a decorator, methods with a common prefix, etc.

  • Includes every method of the class (so that the documentation is complete), while still making it easy for the user to get a sense for what the class does and find what they’re looking for.

  • Collapses inherited methods. Complex classes in particular can inherit a lot of methods from their parent classes, and while these methods should be present in the TOC (since they’re part of the class), collapsing them makes it easier for the user to grok the functionality provided by the class itself.

autoclasstoc provides a new Restructured Text directive that is all of these things. It also works well with autodoc and autogen, and should be easy to incorporate into any existing project.

See the complete documentation for more information (including examples).

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

autoclasstoc-1.7.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

autoclasstoc-1.7.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file autoclasstoc-1.7.0.tar.gz.

File metadata

  • Download URL: autoclasstoc-1.7.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for autoclasstoc-1.7.0.tar.gz
Algorithm Hash digest
SHA256 93a604be070a1f0ab19b0a0dd9d03d3fb16377da8a7a49ed8919692ef882775a
MD5 7bab19e5b530b26309e1e8628daaecda
BLAKE2b-256 879fe3ef0f487fb0ced67f5f527cc0b528a8607f1d2eefb77ff4f06316178e87

See more details on using hashes here.

File details

Details for the file autoclasstoc-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: autoclasstoc-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for autoclasstoc-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00d7f8450d9fb043a500a0ac5fe9cda3699d51d68211f183178734f14df526ec
MD5 4eb779df99438b28f263c731d6bd086c
BLAKE2b-256 7346a8f6be3b9f410949be16ca33ca5ac533398de705327d156446d298631f64

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