forked from jamesgao/ipython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautogen_api.py
More file actions
executable file
·79 lines (71 loc) · 3.7 KB
/
Copy pathautogen_api.py
File metadata and controls
executable file
·79 lines (71 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/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')
# You have to escape the . here because . is a special char for regexps.
# You must do make clean if you change this!
docwriter.package_skip_patterns += [r'\.fixes$',
r'\.external$',
r'\.extensions',
r'\.kernel\.config',
r'\.attic',
r'\.quarantine',
r'\.deathrow',
r'\.config\.default',
r'\.config\.profile',
r'\.frontend',
r'\.gui',
# For now, the zmq code has
# unconditional top-level code so it's
# not import safe. This needs fixing
# soon.
r'\.zmq',
]
docwriter.module_skip_patterns += [ r'\.core\.fakemodule',
# XXX These need fixing, disabling for
# now but we need to figure out why
# they are breaking. Error from sphinx
# for each group copied below
# AttributeError: __abstractmethods__
r'\.config\.configurable',
r'\.utils\.traitlets',
# AttributeError: __provides__
r'\.kernel\.clusterdir',
r'\.kernel\.configobjfactory',
r'\.kernel\.fcutil',
r'\.kernel\.ipcontrollerapp',
r'\.kernel\.launcher',
r'\.kernel\.task',
r'\.kernel\.winhpcjob',
r'\.testing\.util',
# Keeping these disabled is OK
r'\.cocoa',
r'\.ipdoctest',
r'\.Gnuplot',
r'\.frontend\.process\.winprocess',
r'\.Shell',
]
# 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
docwriter.write_api_docs(outdir)
docwriter.write_index(outdir, 'gen',
relative_to = pjoin('source','api')
)
print '%d files written' % len(docwriter.written_modules)