ReST index of functions#
This module contains a function that generates a ReST index table of functions for use in doc-strings.
Return a ReST table describing a list of functions. |
|
Return a ReST string of thematically sorted functions (or methods) of a module (or class). |
- sage.misc.rest_index_of_methods.doc_index(name)[source]#
Attribute an index name to a function.
This decorator can be applied to a function/method in order to specify in which index it must appear, in the index generated by
gen_thematic_rest_table_index()
.INPUT:
name
– a string, which will become the title of the index in which this function/method will appear.
EXAMPLES:
sage: from sage.misc.rest_index_of_methods import doc_index sage: @doc_index("Wouhouuuuu") ....: def a(): ....: print("Hey") sage: a.doc_index 'Wouhouuuuu'
>>> from sage.all import * >>> from sage.misc.rest_index_of_methods import doc_index >>> @doc_index("Wouhouuuuu") ... def a(): ... print("Hey") >>> a.doc_index 'Wouhouuuuu'
- sage.misc.rest_index_of_methods.gen_rest_table_index(obj, names=None, sort=True, only_local_functions=True, root=None)[source]#
Return a ReST table describing a list of functions.
The list of functions can either be given explicitly, or implicitly as the functions/methods of a module or class.
In the case of a class, only non-inherited methods are listed.
INPUT:
obj
– a list of functions, a module or a class. If given a list of functions, the generated table will consist of these. If given a module or a class, all functions/methods it defines will be listed, except deprecated or those starting with an underscore. In the case of a class, note that inherited methods are not displayed.names
– a dictionary associating a name to a function. Takes precedence over the automatically computed name for the functions. Only used whenlist_of_entries
is a list.sort
– boolean (default:True
); whether to sort the list of methods lexicographically.only_local_functions
– boolean (default:True
); iflist_of_entries
is a module,only_local_functions = True
means that imported functions will be filtered out. This can be useful to disable for making indexes of e.g. catalog modules such assage.coding.codes_catalog
.root
– module or class (default:None
); the module, or class, whose elements are to be listed. This is needed to recover the class when this method is called fromgen_thematic_rest_table_index()
(see Issue #36178).
Warning
The ReST tables returned by this function use ‘@’ as a delimiter for cells. This can cause trouble if the first sentence in the documentation of a function contains the ‘@’ character.
EXAMPLES:
sage: from sage.misc.rest_index_of_methods import gen_rest_table_index sage: print(gen_rest_table_index([graphs.PetersenGraph])) # needs sage.graphs .. csv-table:: :class: contentstable :widths: 30, 70 :delim: @ :func:`~sage.graphs.generators.smallgraphs.PetersenGraph` @ Return the Petersen Graph.
>>> from sage.all import * >>> from sage.misc.rest_index_of_methods import gen_rest_table_index >>> print(gen_rest_table_index([graphs.PetersenGraph])) # needs sage.graphs .. csv-table:: :class: contentstable :widths: 30, 70 :delim: @ <BLANKLINE> :func:`~sage.graphs.generators.smallgraphs.PetersenGraph` @ Return the Petersen Graph.
The table of a module:
sage: print(gen_rest_table_index(sage.misc.rest_index_of_methods)) .. csv-table:: :class: contentstable :widths: 30, 70 :delim: @ :func:`~sage.misc.rest_index_of_methods.doc_index` @ Attribute an index name to a function. :func:`~sage.misc.rest_index_of_methods.gen_rest_table_index` @ Return a ReST table describing a list of functions. :func:`~sage.misc.rest_index_of_methods.gen_thematic_rest_table_index` @ Return a ReST string of thematically sorted functions (or methods) of a module (or class). :func:`~sage.misc.rest_index_of_methods.list_of_subfunctions` @ Return the functions (resp. methods) of a given module (resp. class) with their names.
>>> from sage.all import * >>> print(gen_rest_table_index(sage.misc.rest_index_of_methods)) .. csv-table:: :class: contentstable :widths: 30, 70 :delim: @ <BLANKLINE> :func:`~sage.misc.rest_index_of_methods.doc_index` @ Attribute an index name to a function. :func:`~sage.misc.rest_index_of_methods.gen_rest_table_index` @ Return a ReST table describing a list of functions. :func:`~sage.misc.rest_index_of_methods.gen_thematic_rest_table_index` @ Return a ReST string of thematically sorted functions (or methods) of a module (or class). :func:`~sage.misc.rest_index_of_methods.list_of_subfunctions` @ Return the functions (resp. methods) of a given module (resp. class) with their names. <BLANKLINE> <BLANKLINE>
The table of a class:
sage: print(gen_rest_table_index(Graph)) # needs sage.graphs .. csv-table:: :class: contentstable :widths: 30, 70 :delim: @ ... :meth:`~sage.graphs.graph.Graph.sparse6_string` @ Return the sparse6 representation of the graph as an ASCII string. ...
>>> from sage.all import * >>> print(gen_rest_table_index(Graph)) # needs sage.graphs .. csv-table:: :class: contentstable :widths: 30, 70 :delim: @ ... :meth:`~sage.graphs.graph.Graph.sparse6_string` @ Return the sparse6 representation of the graph as an ASCII string. ...
- sage.misc.rest_index_of_methods.gen_thematic_rest_table_index(root, additional_categories=None, only_local_functions=True)[source]#
Return a ReST string of thematically sorted functions (or methods) of a module (or class).
INPUT:
root
– the module, or class, whose elements are to be listed.additional_categories
– dictionary (default:None
); a dictionary associating a category (given as a string) to a function’s name. Can be used when the decoratordoc_index()
does not work on a function.only_local_functions
– boolean (default:True
); ifroot
is a module,only_local_functions = True
means that imported functions will be filtered out. This can be useful to disable for making indexes of e.g. catalog modules such assage.coding.codes_catalog
.
EXAMPLES:
sage: from sage.misc.rest_index_of_methods import gen_thematic_rest_table_index, list_of_subfunctions sage: l = list_of_subfunctions(Graph)[0] # needs sage.graphs sage: Graph.bipartite_color in l # needs sage.graphs True
>>> from sage.all import * >>> from sage.misc.rest_index_of_methods import gen_thematic_rest_table_index, list_of_subfunctions >>> l = list_of_subfunctions(Graph)[Integer(0)] # needs sage.graphs >>> Graph.bipartite_color in l # needs sage.graphs True
- sage.misc.rest_index_of_methods.list_of_subfunctions(root, only_local_functions=True)[source]#
Return the functions (resp. methods) of a given module (resp. class) with their names.
INPUT:
root
– the module, or class, whose elements are to be listed.only_local_functions
– boolean (default:True
); ifroot
is a module,only_local_functions = True
means that imported functions will be filtered out. This can be useful to disable for making indexes of e.g. catalog modules such assage.coding.codes_catalog
.
OUTPUT:
A pair
(list,dict)
wherelist
is a list of function/methods anddict
associates to every function/method the name under which it appears inroot
.EXAMPLES:
sage: from sage.misc.rest_index_of_methods import list_of_subfunctions sage: l = list_of_subfunctions(Graph)[0] # needs sage.graphs sage: Graph.bipartite_color in l # needs sage.graphs True
>>> from sage.all import * >>> from sage.misc.rest_index_of_methods import list_of_subfunctions >>> l = list_of_subfunctions(Graph)[Integer(0)] # needs sage.graphs >>> Graph.bipartite_color in l # needs sage.graphs True