{"categories":[{"label":"Documentation","url":"https://skillfed.io/packages/category/documentation/2"}],"enrichment":{"capability":"Automatically inherits docstrings from parent classes to child classes, eliminating duplicate documentation while supporting NumPy and Google docstring formats.","skillfed_tags":["docstring-management","documentation-automation","sphinx-mkdocs"],"use_cases":["Automatically populate child class docstrings during Sphinx or mkdocs documentation builds without manually repeating parent descriptions.","Maintain consistent parameter documentation across a class hierarchy where child methods override parent signatures.","Detect and report duplicated or similar docstring sections that could be consolidated through inheritance.","Build libraries with deep inheritance hierarchies where manual docstring duplication becomes a maintenance burden.","Ensure parameter documentation stays synchronized when child classes add or remove arguments from inherited methods."],"what_it_does":"docstring-inheritance is a Python package that automatically propagates docstrings from parent classes to their subclasses, reducing the need to write and maintain duplicate documentation. It understands both NumPy and Google docstring formats and handles inheritance at the section level\u2014for example, inheriting individual parameter descriptions while allowing child classes to override or add new ones. The package uses metaclasses to intercept class creation and applies inheritance only when explicitly enabled via an environment variable, so it has negligible performance cost during normal runtime.\n\nThe package is designed to integrate with documentation build tools like Sphinx and mkdocs. It handles complex inheritance patterns, including multiple and multi-level inheritance, and can inherit docstrings for functions, methods, class methods, static methods, and properties. It also supports abstract base classes when combined with abc.ABCMeta, and can warn about missing parameter descriptions when configured.","worth_installing":"Yes, if you maintain a Python library with class hierarchies and use Sphinx or mkdocs for documentation. The package is actively maintained, has no known vulnerabilities, and solves a real documentation maintenance problem with minimal runtime overhead. Install it in your documentation build environment and enable it only during doc generation. Not necessary for projects with shallow hierarchies or those that don't use structured docstring formats."},"id":"docstring-inheritance","links":{"html":"https://skillfed.io/packages/docstring-inheritance","md":"https://skillfed.io/packages/docstring-inheritance.md","pypi":"https://pypi.org/project/docstring-inheritance/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-12-11","license_spdx":"MIT","license_treatment":"permissive","name":"docstring-inheritance","python_support":"supports_current","summary":"Avoid writing and maintaining duplicated docstrings."},"popularity":{"monthly_downloads":93555,"position":13377,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"3.0.0"}
