##// END OF EJS Templates
Backport PR #10022: Remove matplotlib requirement for building docs...
Matthias Bussonnier -
Show More
@@ -1,12 +1,12 b''
1 1 .. _api-index:
2 2
3 3 ###################
4 4 The IPython API
5 5 ###################
6 6
7 .. htmlonly::
7 .. only:: html
8 8
9 9 :Release: |version|
10 10 :Date: |today|
11 11
12 12 .. include:: generated/gen.txt
@@ -1,284 +1,276 b''
1 1 # -*- coding: utf-8 -*-
2 2 #
3 3 # IPython documentation build configuration file.
4 4
5 5 # NOTE: This file has been edited manually from the auto-generated one from
6 6 # sphinx. Do NOT delete and re-generate. If any changes from sphinx are
7 7 # needed, generate a scratch one and merge by hand any new fields needed.
8 8
9 9 #
10 10 # This file is execfile()d with the current directory set to its containing dir.
11 11 #
12 12 # The contents of this file are pickled, so don't put values in the namespace
13 13 # that aren't pickleable (module imports are okay, they're removed automatically).
14 14 #
15 15 # All configuration values have a default value; values that are commented out
16 16 # serve to show the default value.
17 17
18 18 import sys, os
19 19
20 # http://read-the-docs.readthedocs.io/en/latest/faq.html
20 21 ON_RTD = os.environ.get('READTHEDOCS', None) == 'True'
21 22
22 23 if ON_RTD:
23 # Mock the presence of matplotlib, which we don't have on RTD
24 # see
25 # http://read-the-docs.readthedocs.io/en/latest/faq.html
26 24 tags.add('rtd')
27 25
28 26 # RTD doesn't use the Makefile, so re-run autogen_{things}.py here.
29 27 for name in ('config', 'api', 'magics', 'shortcuts'):
30 28 fname = 'autogen_{}.py'.format(name)
31 29 fpath = os.path.abspath(os.path.join('..', fname))
32 30 with open(fpath) as f:
33 31 exec(compile(f.read(), fname, 'exec'), {
34 32 '__file__': fpath,
35 33 '__name__': '__main__',
36 34 })
37 35 else:
38 36 import sphinx_rtd_theme
39 37 html_theme = "sphinx_rtd_theme"
40 38 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
41 39
42 40 # If your extensions are in another directory, add it here. If the directory
43 41 # is relative to the documentation root, use os.path.abspath to make it
44 42 # absolute, like shown here.
45 43 sys.path.insert(0, os.path.abspath('../sphinxext'))
46 44
47 45 # We load the ipython release info into a dict by explicit execution
48 46 iprelease = {}
49 47 exec(compile(open('../../IPython/core/release.py').read(), '../../IPython/core/release.py', 'exec'),iprelease)
50 48
51 49 # General configuration
52 50 # ---------------------
53 51
54 52 # Add any Sphinx extension module names here, as strings. They can be extensions
55 53 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
56 54 extensions = [
57 'matplotlib.sphinxext.mathmpl',
58 'matplotlib.sphinxext.only_directives',
59 'matplotlib.sphinxext.plot_directive',
60 55 'sphinx.ext.autodoc',
61 56 'sphinx.ext.autosummary',
62 57 'sphinx.ext.doctest',
63 58 'sphinx.ext.inheritance_diagram',
64 59 'sphinx.ext.intersphinx',
65 60 'IPython.sphinxext.ipython_console_highlighting',
66 61 'IPython.sphinxext.ipython_directive',
67 62 'sphinx.ext.napoleon', # to preprocess docstrings
68 63 'github', # for easy GitHub links
69 64 'magics',
70 65 ]
71 66
72 67 if ON_RTD:
73 68 # Remove extensions not currently supported on RTD
74 extensions.remove('matplotlib.sphinxext.only_directives')
75 extensions.remove('matplotlib.sphinxext.mathmpl')
76 extensions.remove('matplotlib.sphinxext.plot_directive')
77 69 extensions.remove('IPython.sphinxext.ipython_directive')
78 70 extensions.remove('IPython.sphinxext.ipython_console_highlighting')
79 71
80 72 # Add any paths that contain templates here, relative to this directory.
81 73 templates_path = ['_templates']
82 74
83 75 # The suffix of source filenames.
84 76 source_suffix = '.rst'
85 77
86 78 def is_stable(extra):
87 79 for ext in {'dev', 'b', 'rc'}:
88 80 if ext in extra:
89 81 return False
90 82 return True
91 83
92 84 if is_stable(iprelease['_version_extra']):
93 85 tags.add('ipystable')
94 86 else:
95 87 tags.add('ipydev')
96 88 rst_prolog = """
97 89 .. warning::
98 90
99 91 This documentation is for a development version of IPython. There may be
100 92 significant differences from the latest stable release.
101 93
102 94 """
103 95
104 96 # The master toctree document.
105 97 master_doc = 'index'
106 98
107 99 # General substitutions.
108 100 project = 'IPython'
109 101 copyright = 'The IPython Development Team'
110 102
111 103 # ghissue config
112 104 github_project_url = "https://github.com/ipython/ipython"
113 105
114 106 # numpydoc config
115 107 numpydoc_show_class_members = False # Otherwise Sphinx emits thousands of warnings
116 108 numpydoc_class_members_toctree = False
117 109
118 110 # The default replacements for |version| and |release|, also used in various
119 111 # other places throughout the built documents.
120 112 #
121 113 # The full version, including alpha/beta/rc tags.
122 114 release = "%s" % iprelease['version']
123 115 # Just the X.Y.Z part, no '-dev'
124 116 version = iprelease['version'].split('-', 1)[0]
125 117
126 118
127 119 # There are two options for replacing |today|: either, you set today to some
128 120 # non-false value, then it is used:
129 121 #today = ''
130 122 # Else, today_fmt is used as the format for a strftime call.
131 123 today_fmt = '%B %d, %Y'
132 124
133 125 # List of documents that shouldn't be included in the build.
134 126 #unused_docs = []
135 127
136 128 # Exclude these glob-style patterns when looking for source files. They are
137 129 # relative to the source/ directory.
138 130 exclude_patterns = ['whatsnew/pr']
139 131
140 132
141 133 # If true, '()' will be appended to :func: etc. cross-reference text.
142 134 #add_function_parentheses = True
143 135
144 136 # If true, the current module name will be prepended to all description
145 137 # unit titles (such as .. function::).
146 138 #add_module_names = True
147 139
148 140 # If true, sectionauthor and moduleauthor directives will be shown in the
149 141 # output. They are ignored by default.
150 142 #show_authors = False
151 143
152 144 # The name of the Pygments (syntax highlighting) style to use.
153 145 pygments_style = 'sphinx'
154 146
155 147 # Set the default role so we can use `foo` instead of ``foo``
156 148 default_role = 'literal'
157 149
158 150 # Options for HTML output
159 151 # -----------------------
160 152
161 153 # The style sheet to use for HTML and HTML Help pages. A file of that name
162 154 # must exist either in Sphinx' static/ path, or in one of the custom paths
163 155 # given in html_static_path.
164 156 # html_style = 'default.css'
165 157
166 158
167 159 # The name for this set of Sphinx documents. If None, it defaults to
168 160 # "<project> v<release> documentation".
169 161 #html_title = None
170 162
171 163 # The name of an image file (within the static path) to place at the top of
172 164 # the sidebar.
173 165 #html_logo = None
174 166
175 167 # Add any paths that contain custom static files (such as style sheets) here,
176 168 # relative to this directory. They are copied after the builtin static files,
177 169 # so a file named "default.css" will overwrite the builtin "default.css".
178 170 html_static_path = ['_static']
179 171
180 172 # Favicon needs the directory name
181 173 html_favicon = '_static/favicon.ico'
182 174 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
183 175 # using the given strftime format.
184 176 html_last_updated_fmt = '%b %d, %Y'
185 177
186 178 # If true, SmartyPants will be used to convert quotes and dashes to
187 179 # typographically correct entities.
188 180 #html_use_smartypants = True
189 181
190 182 # Custom sidebar templates, maps document names to template names.
191 183 #html_sidebars = {}
192 184
193 185 # Additional templates that should be rendered to pages, maps page names to
194 186 # template names.
195 187 html_additional_pages = {
196 188 'interactive/htmlnotebook': 'notebook_redirect.html',
197 189 'interactive/notebook': 'notebook_redirect.html',
198 190 'interactive/nbconvert': 'notebook_redirect.html',
199 191 'interactive/public_server': 'notebook_redirect.html',
200 192 }
201 193
202 194 # If false, no module index is generated.
203 195 #html_use_modindex = True
204 196
205 197 # If true, the reST sources are included in the HTML build as _sources/<name>.
206 198 #html_copy_source = True
207 199
208 200 # If true, an OpenSearch description file will be output, and all pages will
209 201 # contain a <link> tag referring to it. The value of this option must be the
210 202 # base URL from which the finished HTML is served.
211 203 #html_use_opensearch = ''
212 204
213 205 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
214 206 #html_file_suffix = ''
215 207
216 208 # Output file base name for HTML help builder.
217 209 htmlhelp_basename = 'ipythondoc'
218 210
219 211 intersphinx_mapping = {'python': ('https://docs.python.org/3/', None),
220 212 'rpy2': ('https://rpy2.readthedocs.io/en/version_2.8.x/', None),
221 213 'traitlets': ('https://traitlets.readthedocs.io/en/latest/', None),
222 214 'jupyterclient': ('https://jupyter-client.readthedocs.io/en/latest/', None),
223 215 'ipyparallel': ('https://ipyparallel.readthedocs.io/en/latest/', None),
224 216 'jupyter': ('https://jupyter.readthedocs.io/en/latest/', None),
225 217 }
226 218
227 219 # Options for LaTeX output
228 220 # ------------------------
229 221
230 222 # The paper size ('letter' or 'a4').
231 223 latex_paper_size = 'letter'
232 224
233 225 # The font size ('10pt', '11pt' or '12pt').
234 226 latex_font_size = '11pt'
235 227
236 228 # Grouping the document tree into LaTeX files. List of tuples
237 229 # (source start file, target name, title, author, document class [howto/manual]).
238 230
239 231 latex_documents = [
240 232 ('index', 'ipython.tex', 'IPython Documentation',
241 233 u"""The IPython Development Team""", 'manual', True),
242 234 ('parallel/winhpc_index', 'winhpc_whitepaper.tex',
243 235 'Using IPython on Windows HPC Server 2008',
244 236 u"Brian E. Granger", 'manual', True)
245 237 ]
246 238
247 239 # The name of an image file (relative to this directory) to place at the top of
248 240 # the title page.
249 241 #latex_logo = None
250 242
251 243 # For "manual" documents, if this is true, then toplevel headings are parts,
252 244 # not chapters.
253 245 #latex_use_parts = False
254 246
255 247 # Additional stuff for the LaTeX preamble.
256 248 #latex_preamble = ''
257 249
258 250 # Documents to append as an appendix to all manuals.
259 251 #latex_appendices = []
260 252
261 253 # If false, no module index is generated.
262 254 latex_use_modindex = True
263 255
264 256
265 257 # Options for texinfo output
266 258 # --------------------------
267 259
268 260 texinfo_documents = [
269 261 (master_doc, 'ipython', 'IPython Documentation',
270 262 'The IPython Development Team',
271 263 'IPython',
272 264 'IPython Documentation',
273 265 'Programming',
274 266 1),
275 267 ]
276 268
277 269 modindex_common_prefix = ['IPython.']
278 270
279 271
280 272 # Cleanup
281 273 # -------
282 274 # delete release info to avoid pickling errors from sphinx
283 275
284 276 del iprelease
@@ -1,111 +1,111 b''
1 1 .. _introduction:
2 2
3 3 =====================
4 4 IPython Documentation
5 5 =====================
6 6
7 .. htmlonly::
7 .. only:: html
8 8
9 9 :Release: |release|
10 10 :Date: |today|
11 11
12 12 Welcome to the official IPython documentation
13 13
14 14 IPython provides a rich toolkit to help you make the most out of using Python
15 15 interactively. Its main components are:
16 16
17 17 * A powerful interactive Python shell
18 18
19 19 * A `Jupyter <http://jupyter.org/>`_ kernel to work with Python code in Jupyter
20 20 notebooks and other interactive frontends.
21 21
22 22 The enhanced interactive Python shells and kernel have the following main
23 23 features:
24 24
25 25 * Comprehensive object introspection.
26 26
27 27 * Input history, persistent across sessions.
28 28
29 29 * Caching of output results during a session with automatically generated
30 30 references.
31 31
32 32 * Extensible tab completion, with support by default for completion of python
33 33 variables and keywords, filenames and function keywords.
34 34
35 35 * Extensible system of 'magic' commands for controlling the environment and
36 36 performing many tasks related either to IPython or the operating system.
37 37
38 38 * A rich configuration system with easy switching between different setups
39 39 (simpler than changing $PYTHONSTARTUP environment variables every time).
40 40
41 41 * Session logging and reloading.
42 42
43 43 * Extensible syntax processing for special purpose situations.
44 44
45 45 * Access to the system shell with user-extensible alias system.
46 46
47 47 * Easily embeddable in other Python programs and GUIs.
48 48
49 49 * Integrated access to the pdb debugger and the Python profiler.
50 50
51 51
52 52 The Command line interface inherit all the above functionality and posses
53 53
54 54 * real multi-line editing.
55 55
56 56 * syntax highlighting as you type
57 57
58 58 * integration with command line editor for a better workflow.
59 59
60 60 The kernel also have its share of feature, when used with a compatible frontend
61 61 it allows for:
62 62
63 63 * rich display system for object allowing to display Html, Images, Latex,Sounds
64 64 Video.
65 65
66 66 * interactive widgets with the use of the ``ipywidgets`` package.
67 67
68 68
69 69 This documentation will walk through most of the features of the IPython
70 70 command line and kernel, as well as describe the internals mechanisms in order
71 71 to improve your Python workflow.
72 72
73 73 You can always find the table of content for this documentation in the left
74 74 sidebar, allowing you to come back on previous section if needed, or skip ahead.
75 75
76 76
77 77 The latest development version is always available from IPython's `GitHub
78 78 repository <http://github.com/ipython/ipython>`_.
79 79
80 80
81 81
82 82
83 83 .. toctree::
84 84 :maxdepth: 1
85 85 :hidden:
86 86
87 87 self
88 88 overview
89 89 whatsnew/index
90 90 install/index
91 91 interactive/index
92 92 config/index
93 93 development/index
94 94 coredev/index
95 95 api/index
96 96 about/index
97 97
98 98 .. seealso::
99 99
100 100 `Jupyter documentation <http://jupyter.readthedocs.io/en/latest/>`__
101 101 The Notebook code and many other pieces formerly in IPython are now parts
102 102 of Project Jupyter.
103 103 `ipyparallel documentation <http://ipyparallel.readthedocs.io/en/latest/>`__
104 104 Formerly ``IPython.parallel``.
105 105
106 106
107 .. htmlonly::
107 .. only:: html
108 108 * :ref:`genindex`
109 109 * :ref:`modindex`
110 110 * :ref:`search`
111 111
General Comments 0
You need to be logged in to leave comments. Login now