scvi.utils.setup_anndata_dsp#
- scvi.utils.setup_anndata_dsp = <docrep.DocstringProcessor object>#
Class that is intended to process docstrings.
It is, but only to minor extends, inspired by the
matplotlib.docstring.Substitution
class.Examples
Create docstring processor via:
>>> from docrep import DocstringProcessor >>> d = DocstringProcessor(doc_key='My doc string')
And then use it as a decorator to process the docstring:
>>> @d ... def doc_test(): ... '''That's %(doc_key)s''' ... pass >>> print(doc_test.__doc__) That's My doc string
Use the
get_sections()
method to extract Parameter sections (or others) form the docstring for later usage (and make sure, that the docstring is dedented):>>> @d.get_sections(base='docstring_example', ... sections=['Parameters', 'Examples']) ... @d.dedent ... def doc_test(a=1, b=2): ... ''' ... That's %(doc_key)s ... ... Parameters ... ---------- ... a: int, optional ... A dummy parameter description ... b: int, optional ... A second dummy parameter ... ... Examples ... -------- ... Some dummy example doc''' ... print(a) >>> @d.dedent ... def second_test(a=1, b=2): ... ''' ... My second function where I want to use the docstring from ... above ... ... Parameters ... ---------- ... %(docstring_example.parameters)s ... ... Examples ... -------- ... %(docstring_example.examples)s''' ... pass >>> print(second_test.__doc__) My second function where I want to use the docstring from above Parameters ---------- a: int, optional A dummy parameter description b: int, optional A second dummy parameter Examples -------- Some dummy example doc
Another example uses non-dedented docstrings:
>>> @d.get_sections(base='not_dedented') ... def doc_test2(a=1): ... '''That's the summary ... ... Parameters ... ---------- ... a: int, optional ... A dummy parameter description''' ... print(a)
These sections must then be used with the
with_indent()
method to indent the inserted parameters:>>> @d.with_indent(4) ... def second_test2(a=1): ... ''' ... My second function where I want to use the docstring from ... above ... ... Parameters ... ---------- ... %(not_dedented.parameters)s''' ... pass