Skip to content

Selectively filter function parameters from your Sphinx documentation

License

Notifications You must be signed in to change notification settings

kor4ik/sphinxcontrib-autodoc-filterparams

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sphinxcontrib-autodoc-filterparams

Although it might usually be a symptom of poor architecture, sometimes you really want to exclude function parameters from your Sphinx documentation.

This extension does just that.

Usage

  • Add it to your conf.py extension list, typically immediately after the entry for sphinx.ext.autodoc. If you use something like the napoleon extension to re-format docstrings, then add it immediately after that.
  • Declare a function called sphinxcontrib_autodoc_filterparams.

Example

The following would hide all parameters whose names starts with an underscore:

extensions = [
    'sphinx.ext.autodoc',
    'sphinxcontrib_autodoc_filterparams'
]

def sphinxcontrib_autodoc_filterparams(fun, param):
    return not param.startswith('_')

The callback takes two arguments, the current function and parameter, and it should return a boolean indicating whether or not to keep the parameter.

A slightly more elaborate example looks at the function context as well as the name of the parameter:

exclude_params = {
    'my_package.my_module.MyClass.my_method': {'**kwargs'}
}

def sphinxcontrib_autodoc_filterparams(fun, param):
    exclude = exclude_params.get(fun.__module__ + '.' + fun.__qualname__)
    return exclude is None or param not in exclude

Options

sphinxcontrib_autodoc_filterparams

The callback function, invoked for each function parameter. If this function returns True then the parameter will be documented, otherwise it will be excluded.

sphinxcontrib_autodoc_filterparams_stars

A boolean indicating whether or not asterisks should be prepended to parameter names when invoking the callback (one star for variadic positional, two stars for variadic keyword). Default is True.

About

Selectively filter function parameters from your Sphinx documentation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%