diff --git a/CHANGES.rst b/CHANGES.rst index afd5391..eb5c304 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,10 @@ Changes in sphinx-automodapi 0.19.0 (unreleased) ------------------- +- Add ``automodsumm_properties_are_attributes`` configuration to control if + class properties are treated with ``autoattribute`` or ``autoproperty``. + [#197] + 0.18.0 (2024-09-13) ------------------- diff --git a/sphinx_automodapi/automodapi.py b/sphinx_automodapi/automodapi.py index eae0803..fdb49d5 100644 --- a/sphinx_automodapi/automodapi.py +++ b/sphinx_automodapi/automodapi.py @@ -104,6 +104,11 @@ class are included in the generated documentation. Defaults to ``False``. methods like ``__getitem__`` and ``__setitem__``. Defaults to ``['__init__', '__call__']``. +* ``automodsumm_properties_are_attributes`` + Should be a bool and if ``True`` properties are treated as attributes in the + documentation meaning that no property specific documentation is generated. + Defaults to ``True``. + .. _automodule: http://sphinx-doc.org/latest/ext/autodoc.html?highlight=automodule#directive-automodule """ diff --git a/sphinx_automodapi/automodsumm.py b/sphinx_automodapi/automodsumm.py index 42bf292..268a0a7 100644 --- a/sphinx_automodapi/automodsumm.py +++ b/sphinx_automodapi/automodsumm.py @@ -74,6 +74,11 @@ class members that are inherited from a base class. This value can be methods like ``__getitem__`` and ``__setitem__``. Defaults to ``['__init__', '__call__']``. +* ``automodsumm_properties_are_attributes`` + Should be a bool and if ``True`` properties are treated as attributes in the + documentation meaning that no property specific documentation is generated. + Defaults to ``True``. + .. _sphinx.ext.autosummary: http://sphinx-doc.org/latest/ext/autosummary.html .. _autosummary: http://sphinx-doc.org/latest/ext/autosummary.html#directive-autosummary @@ -321,7 +326,8 @@ def process_automodsumm_generation(app): lines, sfn, app=app, builder=app.builder, base_path=app.srcdir, inherited_members=app.config.automodsumm_inherited_members, - included_members=app.config.automodsumm_included_members) + included_members=app.config.automodsumm_included_members, + properties_are_attributes=app.config.automodsumm_properties_are_attributes) # _automodsummrex = re.compile(r'^(\s*)\.\. automodsumm::\s*([A-Za-z0-9_.]+)\s*' @@ -462,7 +468,8 @@ def generate_automodsumm_docs(lines, srcfn, app=None, suffix='.rst', base_path=None, builder=None, template_dir=None, inherited_members=False, - included_members=('__init__', '__call__')): + included_members=('__init__', '__call__'), + *, properties_are_attributes=True): """ This function is adapted from `sphinx.ext.autosummary.generate.generate_autosummmary_docs` to @@ -595,10 +602,10 @@ def get_members_class(obj, typ, include_public=[], continue if typ is None or documenter.objtype == typ: items.append(name) - elif typ == 'attribute' and documenter.objtype == 'property': - # In Sphinx 2.0 and above, properties have a separate - # objtype, but we treat them the same here. - items.append(name) + # elif typ == 'attribute' and documenter.objtype == 'property': + # # In Sphinx 2.0 and above, properties have a separate + # # objtype, but we treat them the same here. + # items.append(name) public = [x for x in items if x in include_public or not x.startswith('_')] return public, items @@ -629,6 +636,15 @@ def get_members_class(obj, typ, include_public=[], ns['attributes'], ns['all_attributes'] = \ get_members_class(obj, 'attribute', include_base=include_base) + public_properties, all_properties = \ + get_members_class(obj, 'property', + include_base=include_base) + if properties_are_attributes: + ns['attributes'].extend(public_properties) + ns['all_attributes'].extend(all_properties) + else: + ns['properties'] = public_properties + ns['all_properties'] = all_properties ns['methods'].sort() ns['attributes'].sort() @@ -703,6 +719,7 @@ def setup(app): app.add_config_value('automodsumm_inherited_members', False, 'env') app.add_config_value( 'automodsumm_included_members', ['__init__', '__call__'], 'env') + app.add_config_value('automodsumm_properties_are_attributes', True, 'env') return {'parallel_read_safe': True, 'parallel_write_safe': True} diff --git a/sphinx_automodapi/templates/autosummary_core/class.rst b/sphinx_automodapi/templates/autosummary_core/class.rst index 198d04b..0c0c57f 100644 --- a/sphinx_automodapi/templates/autosummary_core/class.rst +++ b/sphinx_automodapi/templates/autosummary_core/class.rst @@ -18,7 +18,7 @@ {% endif %} {% block attributes_summary %} - {% if attributes %} + {% if attributes or properties %} .. rubric:: Attributes Summary @@ -27,6 +27,10 @@ ~{{ name }}.{{ item }} {%- endfor %} + {% for item in properties %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} {% endblock %} @@ -44,7 +48,7 @@ {% endblock %} {% block attributes_documentation %} - {% if attributes %} + {% if attributes or properties%} .. rubric:: Attributes Documentation @@ -52,6 +56,10 @@ .. autoattribute:: {{ item }} {%- endfor %} + {% for item in properties %} + .. autoproperty:: {{ item }} + {%- endfor %} + {% endif %} {% endblock %} diff --git a/sphinx_automodapi/tests/cases/abstract_classes/output/api/sphinx_automodapi.tests.example_module.abstract_classes.SequenceSubclass.rst b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.abstract_classes.SequenceSubclass.rst similarity index 100% rename from sphinx_automodapi/tests/cases/abstract_classes/output/api/sphinx_automodapi.tests.example_module.abstract_classes.SequenceSubclass.rst rename to sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.abstract_classes.SequenceSubclass.rst diff --git a/sphinx_automodapi/tests/cases/abstract_classes/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/abstract_classes/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/abstract_classes/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/abstract_classes/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.abstract_classes.SequenceSubclass.rst b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.abstract_classes.SequenceSubclass.rst new file mode 100644 index 0000000..d9ec7cf --- /dev/null +++ b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.abstract_classes.SequenceSubclass.rst @@ -0,0 +1,27 @@ +SequenceSubclass +================ + +.. currentmodule:: sphinx_automodapi.tests.example_module.abstract_classes + +.. autoclass:: SequenceSubclass + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~SequenceSubclass.my_property + + .. rubric:: Methods Summary + + .. autosummary:: + + ~SequenceSubclass.my_method + + .. rubric:: Attributes Documentation + + .. autoproperty:: my_property + + .. rubric:: Methods Documentation + + .. automethod:: my_method diff --git a/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..4bdc13b --- /dev/null +++ b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,19 @@ + +sphinx_automodapi.tests.example_module.abstract_classes Module +-------------------------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module.abstract_classes + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module.abstract_classes + :classes-only: + :toctree: api + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module.abstract_classes + :private-bases: + :parts: 1 diff --git a/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..b280f1d --- /dev/null +++ b/sphinx_automodapi/tests/cases/abstract_classes/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,6 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module.abstract_classes + +.. autosummary:: + :toctree: api + + SequenceSubclass diff --git a/sphinx_automodapi/tests/cases/allowed_names/output/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst similarity index 100% rename from sphinx_automodapi/tests/cases/allowed_names/output/api/sphinx_automodapi.tests.example_module.Egg.rst rename to sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst diff --git a/sphinx_automodapi/tests/cases/allowed_names/output/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst similarity index 100% rename from sphinx_automodapi/tests/cases/allowed_names/output/api/sphinx_automodapi.tests.example_module.Spam.rst rename to sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst diff --git a/sphinx_automodapi/tests/cases/allowed_names/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/allowed_names/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/allowed_names/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/allowed_names/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/allowed_names/output_prop_is_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst new file mode 100644 index 0000000..f8d762a --- /dev/null +++ b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst @@ -0,0 +1,29 @@ +Egg +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Egg + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~Egg.weight + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Egg.buy + ~Egg.eat + + .. rubric:: Attributes Documentation + + .. autoproperty:: weight + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.Spam.rst rename to sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst diff --git a/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..aed3523 --- /dev/null +++ b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,21 @@ + +sphinx_automodapi.tests.example_module Package +---------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :classes-only: + :toctree: api + :allowed-package-names: sphinx_automodapi.tests.example_module.classes + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module + :private-bases: + :parts: 1 + :allowed-package-names: sphinx_automodapi.tests.example_module.classes diff --git a/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..1710307 --- /dev/null +++ b/sphinx_automodapi/tests/cases/allowed_names/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,7 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + Egg + Spam diff --git a/sphinx_automodapi/tests/cases/attribute_class/README.md b/sphinx_automodapi/tests/cases/attribute_class/README.md new file mode 100644 index 0000000..36c45c6 --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/README.md @@ -0,0 +1,2 @@ +This example is to make sure that classes can have attributes and properties +and they can be distiguished if ``automodsumm_properties_are_attributes = False`` diff --git a/sphinx_automodapi/tests/cases/attribute_class/input/index.rst b/sphinx_automodapi/tests/cases/attribute_class/input/index.rst new file mode 100644 index 0000000..aaea6f9 --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/input/index.rst @@ -0,0 +1 @@ +.. automodapi:: sphinx_automodapi.tests.example_module.attribute_class diff --git a/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.attribute_class.ClassWithAttribute.rst b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.attribute_class.ClassWithAttribute.rst new file mode 100644 index 0000000..45e84a5 --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.attribute_class.ClassWithAttribute.rst @@ -0,0 +1,29 @@ +ClassWithAttribute +================== + +.. currentmodule:: sphinx_automodapi.tests.example_module.attribute_class + +.. autoclass:: ClassWithAttribute + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~ClassWithAttribute.my_attribute + ~ClassWithAttribute.my_property + + .. rubric:: Methods Summary + + .. autosummary:: + + ~ClassWithAttribute.my_method + + .. rubric:: Attributes Documentation + + .. autoattribute:: my_attribute + .. autoattribute:: my_property + + .. rubric:: Methods Documentation + + .. automethod:: my_method diff --git a/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/index.rst.automodapi new file mode 100644 index 0000000..941dcac --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/index.rst.automodapi @@ -0,0 +1,19 @@ + +sphinx_automodapi.tests.example_module.attribute_class Module +------------------------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module.attribute_class + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module.attribute_class + :classes-only: + :toctree: api + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module.attribute_class + :private-bases: + :parts: 1 diff --git a/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/index.rst.automodsumm new file mode 100644 index 0000000..9aafd6b --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_attr/index.rst.automodsumm @@ -0,0 +1,6 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module.attribute_class + +.. autosummary:: + :toctree: api + + ClassWithAttribute diff --git a/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.attribute_class.ClassWithAttribute.rst b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.attribute_class.ClassWithAttribute.rst new file mode 100644 index 0000000..3a418d4 --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.attribute_class.ClassWithAttribute.rst @@ -0,0 +1,31 @@ +ClassWithAttribute +================== + +.. currentmodule:: sphinx_automodapi.tests.example_module.attribute_class + +.. autoclass:: ClassWithAttribute + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~ClassWithAttribute.my_attribute + + ~ClassWithAttribute.my_property + + .. rubric:: Methods Summary + + .. autosummary:: + + ~ClassWithAttribute.my_method + + .. rubric:: Attributes Documentation + + .. autoattribute:: my_attribute + + .. autoproperty:: my_property + + .. rubric:: Methods Documentation + + .. automethod:: my_method diff --git a/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..941dcac --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,19 @@ + +sphinx_automodapi.tests.example_module.attribute_class Module +------------------------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module.attribute_class + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module.attribute_class + :classes-only: + :toctree: api + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module.attribute_class + :private-bases: + :parts: 1 diff --git a/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..9aafd6b --- /dev/null +++ b/sphinx_automodapi/tests/cases/attribute_class/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,6 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module.attribute_class + +.. autosummary:: + :toctree: api + + ClassWithAttribute diff --git a/sphinx_automodapi/tests/cases/classes_no_inherit/output/api/sphinx_automodapi.tests.example_module.classes.Egg.rst b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst similarity index 100% rename from sphinx_automodapi/tests/cases/classes_no_inherit/output/api/sphinx_automodapi.tests.example_module.classes.Egg.rst rename to sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst diff --git a/sphinx_automodapi/tests/cases/classes_no_inherit/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/classes_no_inherit/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/classes_no_inherit/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/classes_no_inherit/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst new file mode 100644 index 0000000..07638af --- /dev/null +++ b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst @@ -0,0 +1,29 @@ +Egg +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autoclass:: Egg + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~Egg.weight + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Egg.buy + ~Egg.eat + + .. rubric:: Attributes Documentation + + .. autoproperty:: weight + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..79a2621 --- /dev/null +++ b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,21 @@ + +sphinx_automodapi.tests.example_module.classes Module +----------------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module.classes + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module.classes + :classes-only: + :toctree: api + :skip: Spam + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module.classes + :private-bases: + :parts: 1 + :skip: Spam diff --git a/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..966572f --- /dev/null +++ b/sphinx_automodapi/tests/cases/classes_no_inherit/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,6 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autosummary:: + :toctree: api + + Egg diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output/api/sphinx_automodapi.tests.example_module.classes.Egg.rst b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst similarity index 100% rename from sphinx_automodapi/tests/cases/classes_with_inherit/output/api/sphinx_automodapi.tests.example_module.classes.Egg.rst rename to sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output/api/sphinx_automodapi.tests.example_module.classes.Spam.rst b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst similarity index 100% rename from sphinx_automodapi/tests/cases/classes_with_inherit/output/api/sphinx_automodapi.tests.example_module.classes.Spam.rst rename to sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/classes_with_inherit/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/classes_with_inherit/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst new file mode 100644 index 0000000..07638af --- /dev/null +++ b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst @@ -0,0 +1,29 @@ +Egg +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autoclass:: Egg + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~Egg.weight + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Egg.buy + ~Egg.eat + + .. rubric:: Attributes Documentation + + .. autoproperty:: weight + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst new file mode 100644 index 0000000..b635876 --- /dev/null +++ b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst @@ -0,0 +1,7 @@ +Spam +==== + +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autoclass:: Spam + :show-inheritance: diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..467c878 --- /dev/null +++ b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,19 @@ + +sphinx_automodapi.tests.example_module.classes Module +----------------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module.classes + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module.classes + :classes-only: + :toctree: api + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module.classes + :private-bases: + :parts: 1 diff --git a/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..22da840 --- /dev/null +++ b/sphinx_automodapi/tests/cases/classes_with_inherit/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,7 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autosummary:: + :toctree: api + + Spam + Egg diff --git a/sphinx_automodapi/tests/cases/inherited_members/output/api/sphinx_automodapi.tests.example_module.classes.Egg.rst b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst similarity index 100% rename from sphinx_automodapi/tests/cases/inherited_members/output/api/sphinx_automodapi.tests.example_module.classes.Egg.rst rename to sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst diff --git a/sphinx_automodapi/tests/cases/inherited_members/output/api/sphinx_automodapi.tests.example_module.classes.Spam.rst b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst similarity index 100% rename from sphinx_automodapi/tests/cases/inherited_members/output/api/sphinx_automodapi.tests.example_module.classes.Spam.rst rename to sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst diff --git a/sphinx_automodapi/tests/cases/inherited_members/output/api/sphinx_automodapi.tests.example_module.other_classes.Foo.rst b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.other_classes.Foo.rst similarity index 100% rename from sphinx_automodapi/tests/cases/inherited_members/output/api/sphinx_automodapi.tests.example_module.other_classes.Foo.rst rename to sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.other_classes.Foo.rst diff --git a/sphinx_automodapi/tests/cases/inherited_members/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/inherited_members/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/inherited_members/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/inherited_members/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/inherited_members/output_prop_is_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst new file mode 100644 index 0000000..07638af --- /dev/null +++ b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Egg.rst @@ -0,0 +1,29 @@ +Egg +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autoclass:: Egg + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~Egg.weight + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Egg.buy + ~Egg.eat + + .. rubric:: Attributes Documentation + + .. autoproperty:: weight + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst new file mode 100644 index 0000000..e37d6b2 --- /dev/null +++ b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.classes.Spam.rst @@ -0,0 +1,19 @@ +Spam +==== + +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autoclass:: Spam + :show-inheritance: + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Spam.buy + ~Spam.eat + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.other_classes.Foo.rst b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.other_classes.Foo.rst new file mode 100644 index 0000000..80e8330 --- /dev/null +++ b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.other_classes.Foo.rst @@ -0,0 +1,17 @@ +Foo +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module.other_classes + +.. autoclass:: Foo + :show-inheritance: + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Foo.hmm + + .. rubric:: Methods Documentation + + .. automethod:: hmm diff --git a/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..dc0e6ff --- /dev/null +++ b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,41 @@ + +sphinx_automodapi.tests.example_module.classes Module +----------------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module.classes + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module.classes + :classes-only: + :toctree: api + :inherited-members: + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module.classes + :private-bases: + :parts: 1 + + + +sphinx_automodapi.tests.example_module.other_classes Module +----------------------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module.other_classes + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module.other_classes + :classes-only: + :toctree: api + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module.other_classes + :private-bases: + :parts: 1 diff --git a/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..51a0974 --- /dev/null +++ b/sphinx_automodapi/tests/cases/inherited_members/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,14 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module.classes + +.. autosummary:: + :toctree: api + :inherited-members: + + Spam + Egg +.. currentmodule:: sphinx_automodapi.tests.example_module.other_classes + +.. autosummary:: + :toctree: api + + Foo diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.Egg.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.Spam.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.add.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.add.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.add.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.add.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.multiply.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.multiply.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel/output/api/sphinx_automodapi.tests.example_module.multiply.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.multiply.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst new file mode 100644 index 0000000..f8d762a --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst @@ -0,0 +1,29 @@ +Egg +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Egg + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~Egg.weight + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Egg.buy + ~Egg.eat + + .. rubric:: Attributes Documentation + + .. autoproperty:: weight + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.Spam.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.add.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.add.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.multiply.rst b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.multiply.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..2821ea1 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,26 @@ + +sphinx_automodapi.tests.example_module Package +---------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module + +Functions +^^^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :functions-only: + :toctree: api + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :classes-only: + :toctree: api + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module + :private-bases: + :parts: 1 diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/mixed_toplevel/output_prop_is_not_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.Egg.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.FUNNY_WALK_STEPS.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.FUNNY_WALK_STEPS.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.FUNNY_WALK_STEPS.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.FUNNY_WALK_STEPS.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.PARROT_STATE.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.PARROT_STATE.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/api/sphinx_automodapi.tests.example_module.PARROT_STATE.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.PARROT_STATE.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst new file mode 100644 index 0000000..6d769e7 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst @@ -0,0 +1,7 @@ +Spam +==== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Spam + :show-inheritance: diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.add.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.add.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.add.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.add.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.multiply.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.multiply.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.multiply.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.multiply.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/index.rst.automodsumm b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/index.rst.automodsumm similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output/index.rst.automodsumm rename to sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_attr/index.rst.automodsumm diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst new file mode 100644 index 0000000..f8d762a --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst @@ -0,0 +1,29 @@ +Egg +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Egg + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~Egg.weight + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Egg.buy + ~Egg.eat + + .. rubric:: Attributes Documentation + + .. autoproperty:: weight + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.FUNNY_WALK_STEPS.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.FUNNY_WALK_STEPS.rst new file mode 100644 index 0000000..11fa366 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.FUNNY_WALK_STEPS.rst @@ -0,0 +1,6 @@ +FUNNY_WALK_STEPS +================ + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autodata:: FUNNY_WALK_STEPS diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.PARROT_STATE.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.PARROT_STATE.rst new file mode 100644 index 0000000..f720dbd --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.PARROT_STATE.rst @@ -0,0 +1,6 @@ +PARROT_STATE +============ + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autodata:: PARROT_STATE diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst new file mode 100644 index 0000000..6d769e7 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst @@ -0,0 +1,7 @@ +Spam +==== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Spam + :show-inheritance: diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst new file mode 100644 index 0000000..7b2b01a --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst @@ -0,0 +1,6 @@ +add +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autofunction:: add diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst new file mode 100644 index 0000000..41e5e00 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst @@ -0,0 +1,6 @@ +multiply +======== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autofunction:: multiply diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..76ea9e4 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,33 @@ + +sphinx_automodapi.tests.example_module Package +---------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module + +Functions +^^^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :functions-only: + :toctree: api + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :classes-only: + :toctree: api + +Variables +^^^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :variables-only: + :toctree: api + +Class Inheritance Diagram +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automod-diagram:: sphinx_automodapi.tests.example_module + :private-bases: + :parts: 1 diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..cc706fe --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_all_objects/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,22 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + add + multiply + subtract +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + Egg + Spam +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + FUNNY_WALK_STEPS + PARROT_STATE diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/api/sphinx_automodapi.tests.example_module.Egg.rst rename to sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Egg.rst diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst new file mode 100644 index 0000000..6d769e7 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.Spam.rst @@ -0,0 +1,7 @@ +Spam +==== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Spam + :show-inheritance: diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.add.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.add.rst new file mode 100644 index 0000000..7b2b01a --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.add.rst @@ -0,0 +1,6 @@ +add +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autofunction:: add diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.multiply.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.multiply.rst new file mode 100644 index 0000000..41e5e00 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/api/sphinx_automodapi.tests.example_module.multiply.rst @@ -0,0 +1,6 @@ +multiply +======== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autofunction:: multiply diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/index.rst.automodapi b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/index.rst.automodapi similarity index 100% rename from sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output/index.rst.automodapi rename to sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/index.rst.automodapi diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/index.rst.automodsumm new file mode 100644 index 0000000..86235af --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_attr/index.rst.automodsumm @@ -0,0 +1,15 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + add + multiply + subtract +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + Egg + Spam diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst new file mode 100644 index 0000000..f8d762a --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Egg.rst @@ -0,0 +1,29 @@ +Egg +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Egg + :show-inheritance: + + .. rubric:: Attributes Summary + + .. autosummary:: + + ~Egg.weight + + .. rubric:: Methods Summary + + .. autosummary:: + + ~Egg.buy + ~Egg.eat + + .. rubric:: Attributes Documentation + + .. autoproperty:: weight + + .. rubric:: Methods Documentation + + .. automethod:: buy + .. automethod:: eat diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst new file mode 100644 index 0000000..6d769e7 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.Spam.rst @@ -0,0 +1,7 @@ +Spam +==== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autoclass:: Spam + :show-inheritance: diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst new file mode 100644 index 0000000..7b2b01a --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.add.rst @@ -0,0 +1,6 @@ +add +=== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autofunction:: add diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst new file mode 100644 index 0000000..41e5e00 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/api/sphinx_automodapi.tests.example_module.multiply.rst @@ -0,0 +1,6 @@ +multiply +======== + +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autofunction:: multiply diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/index.rst.automodapi b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/index.rst.automodapi new file mode 100644 index 0000000..f602813 --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/index.rst.automodapi @@ -0,0 +1,19 @@ + +sphinx_automodapi.tests.example_module Package +---------------------------------------------- + +.. automodule:: sphinx_automodapi.tests.example_module + +Functions +^^^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :functions-only: + :toctree: api + +Classes +^^^^^^^ + +.. automodsumm:: sphinx_automodapi.tests.example_module + :classes-only: + :toctree: api diff --git a/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/index.rst.automodsumm b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/index.rst.automodsumm new file mode 100644 index 0000000..86235af --- /dev/null +++ b/sphinx_automodapi/tests/cases/mixed_toplevel_nodiagram/output_prop_is_not_attr/index.rst.automodsumm @@ -0,0 +1,15 @@ +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + add + multiply + subtract +.. currentmodule:: sphinx_automodapi.tests.example_module + +.. autosummary:: + :toctree: api + + Egg + Spam diff --git a/sphinx_automodapi/tests/example_module/attribute_class.py b/sphinx_automodapi/tests/example_module/attribute_class.py new file mode 100644 index 0000000..cc625f7 --- /dev/null +++ b/sphinx_automodapi/tests/example_module/attribute_class.py @@ -0,0 +1,12 @@ +class ClassWithAttribute(object): + """A class with an attribute.""" + my_attribute = 1 + + def my_method(self): + """A method.""" + pass + + @property + def my_property(self): + """A property.""" + return 1 diff --git a/sphinx_automodapi/tests/test_cases.py b/sphinx_automodapi/tests/test_cases.py index 0ffa4c8..487c904 100644 --- a/sphinx_automodapi/tests/test_cases.py +++ b/sphinx_automodapi/tests/test_cases.py @@ -21,6 +21,7 @@ CASES_DIRS = glob.glob(os.path.join(CASES_ROOT, '*')) PARALLEL = {False, True} +PROP_ATTR = {True, False} intersphinx_mapping = { @@ -58,18 +59,23 @@ def teardown_function(func): roles._roles = func._roles -@pytest.mark.parametrize(('case_dir', 'parallel'), product(CASES_DIRS, PARALLEL)) -def test_run_full_case(tmpdir, case_dir, parallel): +@pytest.mark.parametrize(('case_dir', 'parallel', 'prop_attr'), product(CASES_DIRS, PARALLEL, PROP_ATTR)) +def test_run_full_case(tmpdir, case_dir, parallel, prop_attr): input_dir = os.path.join(case_dir, 'input') - output_dir = os.path.join(case_dir, 'output') + + output_folder = "output_prop_is_attr" if prop_attr else "output_prop_is_not_attr" + output_dir = os.path.join(case_dir, output_folder) + if not os.path.isdir(output_dir): + output_dir = os.path.join(case_dir, 'output') docs_dir = tmpdir.mkdir('docs').strpath conf = deepcopy(DEFAULT_CONF) conf.update({'automodapi_toctreedirnm': 'api', 'automodapi_writereprocessed': True, - 'automodsumm_writereprocessed': True}) + 'automodsumm_writereprocessed': True, + 'automodsumm_properties_are_attributes': prop_attr}) if os.path.basename(case_dir) in ('mixed_toplevel', 'mixed_toplevel_all_objects',