##// END OF EJS Templates
github stats for 3.0rc1
github stats for 3.0rc1

File last commit:

r19043:61844265
r20437:a2cda4fb
Show More
autogen_api.py
79 lines | 3.8 KiB | text/x-python | PythonLexer
Fernando Perez
Update docs for automatic API building.
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
update indexes to use .rst, remove .txt refs
r11730 docwriter = ApiDocWriter(package,rst_extension='.rst')
Brian Granger
Cleanup of docs....
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
Update API doc skip patterns
r13586 docwriter.package_skip_patterns += [r'\.external$',
# Extensions are documented elsewhere.
Brian Granger
Renaming Extensions=>extensions in code and imports.
r2064 r'\.extensions',
Brian Granger
Cleanup of docs....
r2275 r'\.config\.profile',
Thomas Kluyver
API docs gardening
r19043 # Old nbformat versions
r'\.nbformat\.v[1-2]',
Thomas Kluyver
Exclude kernel.zmq.gui package from docs
r17397 # Public API for this is in kernel.zmq.eventloops
r'\.kernel\.zmq\.gui',
Thomas Kluyver
Exclude magics package from API docs
r18299 # Magics are documented separately
r'\.core\.magics',
Fernando Perez
Update docs for automatic API building.
r1850 ]
Fernando Perez
Small fixes so the docs build....
r2404
Thomas Kluyver
Update API doc skip patterns
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
Update docs for automatic API building.
r1850 r'\.ipdoctest',
Thomas Kluyver
Various minor docs fixes
r13592 r'\.testing\.plugin',
Thomas Kluyver
Update API doc skip patterns
r13586 # This just prints a deprecation msg:
Thomas Kluyver
Include qt.console.frontend_widget in docs
r13886 r'\.frontend$',
Thomas Kluyver
Don't document a deprecated module
r17123 # Deprecated:
Thomas Kluyver
Fix excluded modules for docs
r17300 r'\.core\.magics\.deprecated',
Thomas Kluyver
Manually document py3compat module....
r14087 # We document this manually.
r'\.utils\.py3compat',
Thomas Kluyver
API docs gardening
r19043 # These are exposed by nbformat
Thomas Kluyver
Add option to generate API docs based on __all__
r17120 r'\.nbformat\.convert',
r'\.nbformat\.validator',
Thomas Kluyver
API docs gardening
r19043 r'\.nbformat\.notebooknode',
# Deprecated
r'\.nbformat\.current',
# Exposed by nbformat.vN
r'\.nbformat\.v[3-4]\.nbbase',
Thomas Kluyver
Document IPython.display API correctly
r17121 # These are exposed in display
r'\.core\.display',
r'\.lib\.display',
Thomas Kluyver
Don't try to autodocument fabfile
r17301 # This isn't actually a module
MinRK
use invoke instead of fabric...
r18351 r'\.html\.tasks',
Thomas Kluyver
API docs gardening
r19043 # This is private
r'\.html\.allow76'
Fernando Perez
Update docs for automatic API building.
r1850 ]
Thomas Kluyver
Add option to generate API docs based on __all__
r17120
# These modules import functions and classes from other places to expose
# them as part of the public API. They must have __all__ defined. The
# non-API modules they import from should be excluded by the skip patterns
# above.
docwriter.names_from__all__.update({
Thomas Kluyver
API docs gardening
r19043 'IPython.nbformat',
'IPython.nbformat.v3',
'IPython.nbformat.v4',
Thomas Kluyver
Document IPython.display API correctly
r17121 'IPython.display',
Thomas Kluyver
Add option to generate API docs based on __all__
r17120 })
Fernando Perez
Generate docs correctly if pexpect is not available....
r2568
# Now, generate the outputs
Fernando Perez
Update docs for automatic API building.
r1850 docwriter.write_api_docs(outdir)
Paul Ivanov
fix api docs post txt -> rst rename
r11758 # Write index with .txt extension - we can include it, but Sphinx won't try
Thomas Kluyver
Miscellaneous docs fixes
r9244 # to compile it
Paul Ivanov
fix api docs post txt -> rst rename
r11758 docwriter.write_index(outdir, 'gen.txt',
Fernando Perez
Update docs for automatic API building.
r1850 relative_to = pjoin('source','api')
)
MinRK
Python 3 print functions...
r11213 print ('%d files written' % len(docwriter.written_modules))