sphinx.ext.autosummary
– Gera resumos autodoc¶
Adicionado na versão 0.6.
Essa extensão gera lista resumida de função/método/atributo, similar a saída produzida pelo Epydoc e outras ferramentas para API. Isso é especialmente útil quando as strings dos docs são longas e detalhadas e separando cada uma em página diferente torna mais fácil a leitura.
A extensão sphinx.ext.autosummary
faz isso em duas partes:
Há uma diretiva para gerar listagens resumidas
autosummary
que contém links para itens documentados e sumário extraído dessas strings de docs.A
autosummary
directive also generates short “stub” files for the entries listed in its content. These files by default contain only the correspondingsphinx.ext.autodoc
directive, but can be customized with templates.The sphinx-autogen script is also able to generate “stub” files from command line.
- .. autosummary::¶
Inserir uma tabela que contém links para os itens documentados e um pequeno sumário (a primeira sentença do docstring) para cada um desses.
The
autosummary
directive can also optionally serve as atoctree
entry for the included items. Optionally, stub.rst
files for these items can also be automatically generated whenautosummary_generate
is True.Por examplo,
.. currentmodule:: sphinx .. autosummary:: environment.BuildEnvironment util.relative_uri
produz uma tabela como esta:
O ambiente no qual os arquivos ReSt são traduzidos.
util.relative_uri
(base, to)Retorna URL relativa da
base
parato
.Autosummary preprocessa as docstrings e assinaturas no mesmo evento
autodoc-process-docstring
eautodoc-process-signature
comporta-se comoautodoc
.Opções
- :class: class names (a list of class names, separated by spaces)¶
Assign class attributes to the table. This is a common option.
Adicionado na versão 8.2.
- :toctree: optional directory name¶
Se deseja que a tabela
autosummary
também sirva como entradatoctree
usar opçãotoctree
, por exemplo:.. autosummary:: :toctree: DIRNAME sphinx.environment.BuildEnvironment sphinx.util.relative_uri
A opção
toctree
também sinaliza ao script sphinx-autogen que páginas stub devem ter entradas geradas e listadas nessa diretiva. A opção aceita nome de diretório como argumento sphinx-autogen como local padrão da saída. Se nenhum argumento é informado, a saída ocorre no mesmo diretório do arquivo da diretiva.Adicionado na versão 0.6.
- :caption: caption of ToC¶
Add a caption to the toctree.
Adicionado na versão 3.1.
- :signatures: format¶
How to display signatures. Valid values are
long
(default): use a long signature. This is still cut off so that name plus signature do not exceeed a certain length.short
: Function and class signatures are displayed as(…)
if they have arguments and as()
if they don’t have arguments.none
: do not show signatures.
Adicionado na versão 8.2.
- :nosignatures:¶
Do not show function signatures in the summary.
This is equivalent to
:signatures: none
.Adicionado na versão 0.6.
Alterado na versão 8.2: The directive option is superseded by the more general
:signatures: none
.It will be deprecated and removed in a future version of Sphinx.
- :template: filename¶
Specify a custom template for rendering the summary. For example,
.. autosummary:: :template: mytemplate.rst sphinx.environment.BuildEnvironment
would use the template
mytemplate.rst
in yourtemplates_path
to generate the pages for all entries listed. See Customizing templates below.Adicionado na versão 1.0.
- :recursive:¶
Generate documents for modules and sub-packages recursively. For example,
.. autosummary:: :recursive: sphinx.environment.BuildEnvironment
Adicionado na versão 3.1.
sphinx-autogen – generate autodoc stub pages¶
The sphinx-autogen script can be used to conveniently generate stub
documentation pages for items included in autosummary
listings.
Por exemplo, o comando
$ sphinx-autogen -o generated *.rst
will read all autosummary
tables in the *.rst
files that have
the :toctree:
option set, and output corresponding stub pages in directory
generated
for all documented items. The generated pages by default contain
text of the form:
sphinx.util.relative_uri
========================
.. autofunction:: sphinx.util.relative_uri
If the -o
option is not given, the script will place the output files in the
directories specified in the :toctree:
options.
For more information, refer to the sphinx-autogen documentation
Gerando páginas stub automaticamente¶
If you do not want to create stub pages with sphinx-autogen, you can also use these config values:
- autosummary_context¶
- Type:
dict[str, Any]
- Default:
{}
A dictionary of values to pass into the template engine’s context for autosummary stubs files.
Adicionado na versão 3.1.
- autosummary_generate¶
- Type:
bool
- Default:
True
Boolean indicating whether to scan all found documents for autosummary directives, and to generate stub pages for each.
Can also be a list of documents for which stub pages should be generated.
The new files will be placed in the directories specified in the
:toctree:
options of the directives.Alterado na versão 2.3: Emits
autodoc-skip-member
event asautodoc
does.Alterado na versão 4.0: Enabled by default.
- autosummary_generate_overwrite¶
- Type:
bool
- Default:
True
If true, autosummary overwrites existing files by generated stub pages.
Adicionado na versão 3.0.
- autosummary_mock_imports¶
- Type:
list[str]
- Default:
[]
This value contains a list of modules to be mocked up. See
autodoc_mock_imports
for more details. It defaults toautodoc_mock_imports
.Adicionado na versão 2.0.
- autosummary_imported_members¶
- Type:
bool
- Default:
False
A boolean flag indicating whether to document classes and functions imported in modules.
Adicionado na versão 2.1.
Alterado na versão 4.4: If
autosummary_ignore_module_all
isFalse
, this configuration value is ignored for members listed in__all__
.
- autosummary_ignore_module_all¶
- Type:
bool
- Default:
True
If
False
and a module has the__all__
attribute set, autosummary documents every member listed in__all__
and no others.Note that if an imported member is listed in
__all__
, it will be documented regardless of the value ofautosummary_imported_members
. To match the behaviour offrom module import *
, setautosummary_ignore_module_all
to False andautosummary_imported_members
to True.Adicionado na versão 4.4.
- autosummary_filename_map¶
- Type:
dict[str, str]
- Default:
{}
A dict mapping object names to filenames. This is necessary to avoid filename conflicts where multiple objects have names that are indistinguishable when case is ignored, on file systems where filenames are case-insensitive.
Adicionado na versão 3.2.
Personalizando templates¶
Adicionado na versão 1.0.
You can customize the stub page templates, in a similar way as the HTML Jinja
templates, see Criando modelos. (TemplateBridge
is not supported.)
Nota
If you find yourself spending much time tailoring the stub templates, this may indicate that it’s a better idea to write custom narrative documentation instead.
Autosummary uses the following Jinja template files:
autosummary/base.rst
– fallback templateautosummary/module.rst
– template for modulesautosummary/class.rst
– template for classesautosummary/function.rst
– template for functionsautosummary/attribute.rst
– template for class attributesautosummary/method.rst
– template for class methods
The following variables are available in the templates:
- name¶
Name of the documented object, excluding the module and class parts.
- objname¶
Name of the documented object, excluding the module parts.
- fullname¶
Full name of the documented object, including module and class parts.
- objtype¶
Type of the documented object, one of
"module"
,"function"
,"class"
,"method"
,"attribute"
,"data"
,"object"
,"exception"
,"newvarattribute"
,"newtypedata"
,"property"
.
- module¶
Name of the module the documented object belongs to.
- class¶
Name of the class the documented object belongs to. Only available for methods and attributes.
- underline¶
A string containing
len(full_name) * '='
. Use theunderline
filter instead.
- members¶
List containing names of all members of the module or class. Only available for modules and classes.
- inherited_members¶
List containing names of all inherited members of class. Only available for classes.
Adicionado na versão 1.8.0.
- functions¶
List containing names of “public” functions in the module. Here, “public” means that the name does not start with an underscore. Only available for modules.
- classes¶
List containing names of “public” classes in the module. Only available for modules.
- exceptions¶
List containing names of “public” exceptions in the module. Only available for modules.
- methods¶
List containing names of “public” methods in the class. Only available for classes.
- attributes¶
List containing names of “public” attributes in the class/module. Only available for classes and modules.
Alterado na versão 3.1: Attributes of modules are supported.
- modules¶
List containing names of “public” modules in the package. Only available for modules that are packages and the
recursive
option is on.Adicionado na versão 3.1.
Additionally, the following filters are available
- escape(s)¶
Escape any special characters in the text to be used in formatting RST contexts. For instance, this prevents asterisks making things bold. This replaces the builtin Jinja escape filter that does html-escaping.
- underline(s, line='=')
Add a title underline to a piece of text.
For instance, {{ fullname | escape | underline }}
should be used to produce
the title of a page.
Nota
You can use the autosummary
directive in the stub pages.
Stub pages are generated also based on these directives.