autogen_api.py
66 lines
| 3.0 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') | ||||
docwriter = ApiDocWriter(package,rst_extension='.txt') | ||||
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! | ||||
Fernando Perez
|
r1850 | docwriter.package_skip_patterns += [r'\.fixes$', | ||
Brian Granger
|
r2275 | r'\.external$', | ||
Brian Granger
|
r2064 | r'\.extensions', | ||
Brian Granger
|
r2275 | r'\.kernel\.config', | ||
Fernando Perez
|
r1850 | r'\.attic', | ||
Brian Granger
|
r2197 | r'\.quarantine', | ||
Brian Granger
|
r2275 | r'\.deathrow', | ||
r'\.config\.default', | ||||
r'\.config\.profile', | ||||
r'\.frontend', | ||||
Fernando Perez
|
r2735 | r'\.gui', | ||
MinRK
|
r4130 | r'\.kernel', | ||
Fernando Perez
|
r2735 | # For now, the zmq code has | ||
# unconditional top-level code so it's | ||||
# not import safe. This needs fixing | ||||
r'\.zmq', | ||||
Fernando Perez
|
r1850 | ] | ||
Fernando Perez
|
r2404 | |||
Brian Granger
|
r2275 | docwriter.module_skip_patterns += [ r'\.core\.fakemodule', | ||
Fernando Perez
|
r5266 | r'\.testing\.iptest', | ||
Fernando Perez
|
r2404 | # Keeping these disabled is OK | ||
MinRK
|
r4130 | r'\.parallel\.controller\.mongodb', | ||
r'\.lib\.inputhookwx', | ||||
r'\.lib\.inputhookgtk', | ||||
Fernando Perez
|
r1850 | r'\.cocoa', | ||
r'\.ipdoctest', | ||||
r'\.Gnuplot', | ||||
Brian Granger
|
r2275 | r'\.frontend\.process\.winprocess', | ||
Thomas Kluyver
|
r11139 | r'\.frontend', | ||
Fernando Perez
|
r2339 | r'\.Shell', | ||
Fernando Perez
|
r1850 | ] | ||
Fernando Perez
|
r2568 | |||
# If we don't have pexpect, we can't load irunner, so skip any code that | ||||
# depends on it | ||||
try: | ||||
import pexpect | ||||
except ImportError: | ||||
docwriter.module_skip_patterns += [r'\.lib\.irunner', | ||||
r'\.testing\.mkdoctests'] | ||||
# Now, generate the outputs | ||||
Fernando Perez
|
r1850 | docwriter.write_api_docs(outdir) | ||
Thomas Kluyver
|
r9244 | # Write index with .rst extension - we can include it, but Sphinx won't try | ||
# to compile it | ||||
docwriter.write_index(outdir, 'gen.rst', | ||||
Fernando Perez
|
r1850 | relative_to = pjoin('source','api') | ||
) | ||||
MinRK
|
r11213 | print ('%d files written' % len(docwriter.written_modules)) | ||