autogen_api.py
52 lines
| 2.2 KiB
| text/x-python
|
PythonLexer
/ docs / autogen_api.py
Fernando Perez
|
r1850 | #!/usr/bin/env python | ||
"""Script to auto-generate our API docs. | ||||
""" | ||||
# stdlib imports | ||||
import os | ||||
import sys | ||||
# local imports | ||||
sys.path.append(os.path.abspath('sphinxext')) | ||||
from apigen import ApiDocWriter | ||||
#***************************************************************************** | ||||
if __name__ == '__main__': | ||||
pjoin = os.path.join | ||||
package = 'IPython' | ||||
outdir = pjoin('source','api','generated') | ||||
Paul Ivanov
|
r11730 | docwriter = ApiDocWriter(package,rst_extension='.rst') | ||
Brian Granger
|
r2275 | # You have to escape the . here because . is a special char for regexps. | ||
# You must do make clean if you change this! | ||||
Thomas Kluyver
|
r13586 | docwriter.package_skip_patterns += [r'\.external$', | ||
# Extensions are documented elsewhere. | ||||
Brian Granger
|
r2064 | r'\.extensions', | ||
Brian Granger
|
r2275 | r'\.config\.profile', | ||
Fernando Perez
|
r1850 | ] | ||
Fernando Perez
|
r2404 | |||
Thomas Kluyver
|
r13586 | # The inputhook* modules often cause problems on import, such as trying to | ||
# load incompatible Qt bindings. It's easiest to leave them all out. The | ||||
# main API is in the inputhook module, which is documented. | ||||
docwriter.module_skip_patterns += [ r'\.lib\.inputhook.+', | ||||
Fernando Perez
|
r1850 | r'\.ipdoctest', | ||
Thomas Kluyver
|
r13592 | r'\.testing\.plugin', | ||
Thomas Kluyver
|
r13586 | # This just prints a deprecation msg: | ||
Thomas Kluyver
|
r13886 | r'\.frontend$', | ||
Thomas Kluyver
|
r14087 | # We document this manually. | ||
r'\.utils\.py3compat', | ||||
Fernando Perez
|
r1850 | ] | ||
Fernando Perez
|
r2568 | |||
Thomas Kluyver
|
r13586 | # We're rarely working on machines with the Azure SDK installed, so we | ||
# skip the module that needs it in that case. | ||||
Fernando Perez
|
r2568 | try: | ||
Thomas Kluyver
|
r13586 | import azure # analysis:ignore | ||
Fernando Perez
|
r2568 | except ImportError: | ||
Thomas Kluyver
|
r13586 | docwriter.module_skip_patterns.append(r'\.html\.services\.notebooks\.azurenbmanager') | ||
Fernando Perez
|
r2568 | # Now, generate the outputs | ||
Fernando Perez
|
r1850 | docwriter.write_api_docs(outdir) | ||
Paul Ivanov
|
r11758 | # Write index with .txt extension - we can include it, but Sphinx won't try | ||
Thomas Kluyver
|
r9244 | # to compile it | ||
Paul Ivanov
|
r11758 | docwriter.write_index(outdir, 'gen.txt', | ||
Fernando Perez
|
r1850 | relative_to = pjoin('source','api') | ||
) | ||||
MinRK
|
r11213 | print ('%d files written' % len(docwriter.written_modules)) | ||