Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sphinx documentation and autodoc-skip-member

I'm building my sphinx doc for a django project the following way:

sphinx-apidoc app -o docs/source/app --force

Now it includes all of the South migrations which I don't want to have in my documentation. I now tried to exclude them the following way:

conf.py:
    def skip_migrations(app, what, name, obj, skip, options):
        return skip or (what == 'module' and name.find('Migration') != -1)\ 
               or str(obj).find('migrations') != -1

    def setup(app):
       app.connect('autodoc-skip-member', skip_migrations)

Now they aren't documented anymore, but are still listed under modules. How can I exclude them?

like image 530
melbic Avatar asked May 08 '13 10:05

melbic


People also ask

What does Sphinx Autodoc do?

This extension can import the modules you are documenting, and pull in documentation from docstrings in a semi-automatic way.

What is Toctree Sphinx?

.. toctree is a Sphinx-defined directive in which you explicitly list documents whose TOCs will be listed out.


2 Answers

You may exclude the rst files created for the migrations by adding them to the exclude_pattern in your conf.py file:

exclude_patterns = ["**/*.migrations.rst",]
like image 70
hellphil Avatar answered Oct 12 '22 06:10

hellphil


Just avoid generating the .rst files with sphinx-apidoc in the first place:

sphinx-apidoc app -o docs/source/app --force */migrations/*

Patterns added after the module name are understood as excluded paths.

like image 30
pintoch Avatar answered Oct 12 '22 06:10

pintoch