##// END OF EJS Templates
Merge pull request #8701 from takluyver/docs-4.0-misc...
Min RK -
r21581:6c98e7a2 merge
parent child Browse files
Show More
@@ -485,7 +485,7 b' def back_unicode_name_matches(text):'
485 Note that snowman is not a valid python3 combining character but will be expanded.
485 Note that snowman is not a valid python3 combining character but will be expanded.
486 Though it will not recombine back to the snowman character by the completion machinery.
486 Though it will not recombine back to the snowman character by the completion machinery.
487
487
488 This will not either back-complete standard sequences like \n, \b ...
488 This will not either back-complete standard sequences like \\n, \\b ...
489
489
490 Used on Python 3 only.
490 Used on Python 3 only.
491 """
491 """
@@ -86,11 +86,11 b' class PylabMagics(Magics):'
86
86
87 In [3]: %matplotlib qt
87 In [3]: %matplotlib qt
88
88
89 You can list the available backends using the -l/--list option
89 You can list the available backends using the -l/--list option::
90
90
91 In [4]: %matplotlib --list
91 In [4]: %matplotlib --list
92 Available matplotlib backends: ['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg',
92 Available matplotlib backends: ['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg',
93 'gtk', 'tk', 'inline']
93 'gtk', 'tk', 'inline']
94 """
94 """
95 args = magic_arguments.parse_argstring(self.matplotlib, line)
95 args = magic_arguments.parse_argstring(self.matplotlib, line)
96 if args.list:
96 if args.list:
@@ -1,3 +1,5 b''
1 """Find files and directories which IPython uses.
2 """
1 import os.path
3 import os.path
2 import shutil
4 import shutil
3 import tempfile
5 import tempfile
@@ -20,54 +20,45 b" if __name__ == '__main__':"
20 docwriter.package_skip_patterns += [r'\.external$',
20 docwriter.package_skip_patterns += [r'\.external$',
21 # Extensions are documented elsewhere.
21 # Extensions are documented elsewhere.
22 r'\.extensions',
22 r'\.extensions',
23 r'\.config\.profile',
24 # Old nbformat versions
25 r'\.nbformat\.v[1-2]',
26 # Public API for this is in kernel.zmq.eventloops
27 r'\.kernel\.zmq\.gui',
28 # Magics are documented separately
23 # Magics are documented separately
29 r'\.core\.magics',
24 r'\.core\.magics',
25 # This isn't API
26 r'\.sphinxext',
27 # Shims
28 r'\.kernel',
30 ]
29 ]
31
30
32 # The inputhook* modules often cause problems on import, such as trying to
31 # The inputhook* modules often cause problems on import, such as trying to
33 # load incompatible Qt bindings. It's easiest to leave them all out. The
32 # load incompatible Qt bindings. It's easiest to leave them all out. The
34 # main API is in the inputhook module, which is documented.
35 docwriter.module_skip_patterns += [ r'\.lib\.inputhook.+',
33 docwriter.module_skip_patterns += [ r'\.lib\.inputhook.+',
36 r'\.ipdoctest',
34 r'\.ipdoctest',
37 r'\.testing\.plugin',
35 r'\.testing\.plugin',
38 # This just prints a deprecation msg:
39 r'\.frontend$',
40 # Deprecated:
36 # Deprecated:
41 r'\.core\.magics\.deprecated',
37 r'\.core\.magics\.deprecated',
42 # Backwards compat import for lib.lexers
38 # Backwards compat import for lib.lexers
43 r'\.nbconvert\.utils\.lexers',
39 r'\.nbconvert\.utils\.lexers',
44 # We document this manually.
40 # We document this manually.
45 r'\.utils\.py3compat',
41 r'\.utils\.py3compat',
46 # These are exposed by nbformat
47 r'\.nbformat\.convert',
48 r'\.nbformat\.validator',
49 r'\.nbformat\.notebooknode',
50 # Deprecated
51 r'\.nbformat\.current',
52 # Exposed by nbformat.vN
53 r'\.nbformat\.v[3-4]\.nbbase',
54 # These are exposed in display
42 # These are exposed in display
55 r'\.core\.display',
43 r'\.core\.display',
56 r'\.lib\.display',
44 r'\.lib\.display',
57 # This isn't actually a module
45 # Shims
58 r'\.html\.tasks',
46 r'\.config',
59 # This is private
47 r'\.consoleapp',
60 r'\.html\.allow76'
48 r'\.frontend$',
49 r'\.html',
50 r'\.nbconvert',
51 r'\.nbformat',
52 r'\.parallel',
53 r'\.qt',
61 ]
54 ]
55 # main API is in the inputhook module, which is documented.
62
56
63 # These modules import functions and classes from other places to expose
57 # These modules import functions and classes from other places to expose
64 # them as part of the public API. They must have __all__ defined. The
58 # them as part of the public API. They must have __all__ defined. The
65 # non-API modules they import from should be excluded by the skip patterns
59 # non-API modules they import from should be excluded by the skip patterns
66 # above.
60 # above.
67 docwriter.names_from__all__.update({
61 docwriter.names_from__all__.update({
68 'IPython.nbformat',
69 'IPython.nbformat.v3',
70 'IPython.nbformat.v4',
71 'IPython.display',
62 'IPython.display',
72 })
63 })
73
64
@@ -1,12 +1,10 b''
1 IPython requires Python 2.7 or ≥ 3.3.
1 IPython requires Python 2.7 or ≥ 3.3.
2
2
3 .. note::
3 .. seealso::
4
4
5 If you need to use Python 2.6 or 3.2, you can find IPython 1.x
5 `Installing Jupyter <http://jupyter.readthedocs.org/en/latest/install.html>`__
6 `here <http://archive.ipython.org/release/>`__,
6 The Notebook, nbconvert, and many other former pieces of IPython are now
7 or get it with pip::
7 part of Project Jupyter.
8
9 pip install 'ipython<2'
10
8
11
9
12 Quickstart
10 Quickstart
@@ -17,12 +15,10 b' the quickest way to get up and running with IPython is:'
17
15
18 .. code-block:: bash
16 .. code-block:: bash
19
17
20 $ pip install "ipython[all]"
18 $ pip install ipython
21
19
22 This will download and install IPython and its main optional dependencies for the notebook,
20 To use IPython with notebooks or the Qt console, you should also install
23 qtconsole, tests, and other functionality.
21 ``jupyter``.
24 Some dependencies (Qt, PyQt for the QtConsole, pandoc for nbconvert) are not pip-installable,
25 and will not be pulled in by pip.
26
22
27 To run IPython's test suite, use the :command:`iptest` command:
23 To run IPython's test suite, use the :command:`iptest` command:
28
24
@@ -34,16 +30,10 b" To run IPython's test suite, use the :command:`iptest` command:"
34 Overview
30 Overview
35 ========
31 ========
36
32
37 This document describes in detail the steps required to install IPython,
33 This document describes in detail the steps required to install IPython.
38 and its various optional dependencies.
39 For a few quick ways to get started with package managers or full Python distributions,
34 For a few quick ways to get started with package managers or full Python distributions,
40 see `the install page <http://ipython.org/install.html>`_ of the IPython website.
35 see `the install page <http://ipython.org/install.html>`_ of the IPython website.
41
36
42 IPython is organized into a number of subpackages, each of which has its own dependencies.
43 All of the subpackages come with IPython, so you don't need to download and
44 install them separately. However, to use a given subpackage, you will need to
45 install all of its dependencies.
46
47 Please let us know if you have problems installing IPython or any of its dependencies.
37 Please let us know if you have problems installing IPython or any of its dependencies.
48
38
49 IPython and most dependencies can be installed via :command:`pip`.
39 IPython and most dependencies can be installed via :command:`pip`.
@@ -84,8 +74,8 b' Installation from source'
84 ------------------------
74 ------------------------
85
75
86 If you don't want to use :command:`pip`, or don't have it installed,
76 If you don't want to use :command:`pip`, or don't have it installed,
87 grab the latest stable build of IPython from `here
77 grab the latest stable tarball of IPython `from PyPI
88 <http://ipython.org/download.html>`_. Then do the following:
78 <https://pypi.python.org/pypi/ipython>`__. Then do the following:
89
79
90 .. code-block:: bash
80 .. code-block:: bash
91
81
@@ -97,7 +87,6 b' If you are installing to a location (like ``/usr/local``) that requires higher'
97 permissions, you may need to run the last command with :command:`sudo`.
87 permissions, you may need to run the last command with :command:`sudo`.
98
88
99
89
100
101 Installing the development version
90 Installing the development version
102 ----------------------------------
91 ----------------------------------
103
92
@@ -127,51 +116,34 b' Then, if you want to update your IPython at any time, do:'
127
116
128 $ git pull
117 $ git pull
129
118
130 IPython now uses git submodules to ship its javascript dependencies. If you run
119 .. _dependencies:
131 IPython from git master, you may need to update submodules once in a while with:
132
133 .. code-block:: bash
134
135 $ git submodule update
136
137 or
138
139 .. code-block:: bash
140
141 $ python setup.py submodule
142
143 Another option is to copy `git hooks <https://github.com/ipython/ipython/tree/master/git-hooks>`_
144 to your ``./git/hooks/`` directory to ensure that your submodules are up to date on each pull.
145
120
121 Dependencies
122 ============
146
123
147 Basic optional dependencies
124 IPython relies on a number of other Python packages. Installing using a package
148 ===========================
125 manager like pip or conda will ensure the necessary packages are installed. If
126 you install manually, it's up to you to make sure dependencies are installed.
127 They're not listed here, because they may change from release to release, so a
128 static list will inevitably get out of date.
149
129
150 There are a number of basic optional dependencies that most users will want to
130 It also has one key non-Python dependency which you may need to install separately.
151 get. These are:
152
153 * readline (for command line editing, tab completion, etc.)
154 * nose (to run the IPython test suite)
155 * mock (Python < 3, also for tests)
156
157 If you are comfortable installing these things yourself, have at it, otherwise
158 read on for more details.
159
160 IPython uses several other modules, such as pexpect_ and path.py, if they are
161 installed on your system, but it can also use bundled versions from
162 :mod:`IPython.external`, so there's no need to install them separately.
163
131
164 readline
132 readline
165 --------
133 --------
166
134
167 As indicated above, on Windows, to get full functionality in the console
135 IPython's terminal interface relies on readline to provide features like tab
168 version of IPython, PyReadline is needed.
136 completion and history navigation. If you only want to use IPython as a kernel
137 for Jupyter notebooks and other frontends, you don't need readline.
138
139
140 **On Windows**, to get full console functionality, *PyReadline* is required.
169 PyReadline is a separate, Windows only implementation of readline that uses
141 PyReadline is a separate, Windows only implementation of readline that uses
170 native Windows calls through :mod:`ctypes`. The easiest way of installing
142 native Windows calls through :mod:`ctypes`. The easiest way of installing
171 PyReadline is you use the binary installer available `here
143 PyReadline is you use the binary installer available `here
172 <http://pypi.python.org/pypi/pyreadline>`__.
144 <http://pypi.python.org/pypi/pyreadline>`__.
173
145
174 On OS X, if you are using the built-in Python shipped by Apple, you will be
146 **On OS X**, if you are using the built-in Python shipped by Apple, you will be
175 missing a proper readline implementation as Apple ships instead a library called
147 missing a proper readline implementation as Apple ships instead a library called
176 ``libedit`` that provides only some of readline's functionality. While you may
148 ``libedit`` that provides only some of readline's functionality. While you may
177 find libedit sufficient, we have occasional reports of bugs with it and several
149 find libedit sufficient, we have occasional reports of bugs with it and several
@@ -179,7 +151,8 b' developers who use OS X as their main environment consider libedit unacceptable'
179 for productive, regular use with IPython.
151 for productive, regular use with IPython.
180
152
181 Therefore, IPython on OS X depends on the :mod:`gnureadline` module.
153 Therefore, IPython on OS X depends on the :mod:`gnureadline` module.
182 We will *not* consider completion/history problems to be bugs for IPython if you are using libedit.
154 We will *not* consider completion/history problems to be bugs for IPython if you
155 are using libedit.
183
156
184 To get a working :mod:`readline` module on OS X, do (with :mod:`pip`
157 To get a working :mod:`readline` module on OS X, do (with :mod:`pip`
185 installed):
158 installed):
@@ -201,174 +174,7 b' optional dependencies:'
201
174
202 $ pip install "ipython[terminal]"
175 $ pip install "ipython[terminal]"
203
176
177 **On Linux**, readline is normally installed by default. If not, install it
178 from your system package manager. If you are compiling your own Python, make
179 sure you install the readline development headers first.
204
180
205 nose
206 ----
207
208 To run the IPython test suite you will need the :mod:`nose` package. Nose
209 provides a great way of sniffing out and running all of the IPython tests. The
210 simplest way of getting nose is to use :command:`pip`:
211
212 .. code-block:: bash
213
214 $ pip install nose
215
216 Another way of getting this is to do:
217
218 .. code-block:: bash
219
220 $ pip install "ipython[test]"
221
222 For more installation options, see the `nose website
223 <https://nose.readthedocs.org>`_.
224
225 Once you have nose installed, you can run IPython's test suite using the
226 iptest command:
227
228 .. code-block:: bash
229
230 $ iptest
231
232 Dependencies for IPython.parallel (parallel computing)
233 ======================================================
234
235 IPython's inter-process communication uses the PyZMQ_ bindings for the ZeroMQ_ messaging library.
236 This is the only dependency for :mod:`IPython.parallel`.
237
238 Shortcut:
239
240 .. code-block:: bash
241
242 pip install "ipython[parallel]"
243
244 or manual
245
246 .. code-block:: bash
247
248 pip install pyzmq
249
250 PyZMQ provides wheels for current Python on OS X and Windows, so installing pyzmq will typically not require compilation.
251
252 IPython.parallel can use SSH tunnels, which require paramiko_ on Windows.
253
254 Dependencies for the IPython Qt console
255 =======================================
256
257 pyzmq_, pygments_, PyQt_ (or PySide_)
258
259 Shortcut:
260
261 .. code-block:: bash
262
263 pip install "ipython[qtconsole]"
264
265 or manual
266
267 .. code-block:: bash
268
269 pip install pyzmq pygments
270
271 PyQt/PySide are not pip installable, so generally must be installed via system package managers (or conda).
272
273 .. _installnotebook:
274
275 Dependencies for the IPython HTML notebook
276 ==========================================
277
278 The HTML notebook is a complex web application with quite a few dependencies:
279
280 pyzmq_, jinja2_, tornado_, mistune_, jsonschema_, pygments_, terminado_
281
282 Shortcut:
283
284 .. code-block:: bash
285
286 pip install "ipython[notebook]"
287
288 or manual:
289
290 .. code-block:: bash
291
292 pip install pyzmq jinja2 tornado mistune jsonschema pygments terminado
293
294 The IPython notebook is a notebook-style web interface to IPython and can be
295 started with the command ``ipython notebook``.
296
297 MathJax
298 -------
299
300 The IPython notebook uses the MathJax_ Javascript library for rendering LaTeX
301 in web browsers. Because MathJax is large, we don't include it with
302 IPython. Normally IPython will load MathJax from a CDN, but if you have a slow
303 network connection, or want to use LaTeX without an internet connection at all,
304 you can install MathJax locally.
305
306 A quick and easy method is to install it from a python session::
307
308 python -m IPython.external.mathjax
309
310 If you need tighter configuration control, you can download your own copy
311 of MathJax from http://www.mathjax.org/download/ - use the MathJax-2.0 link.
312 When you have the file stored locally, install it with::
313
314 python -m IPython.external.mathjax /path/to/source/mathjax-MathJax-v2.0-20-g07669ac.zip
315
316 For unusual needs, IPython can tell you what directory it wants to find MathJax in::
317
318 python -m IPython.external.mathjax -d /some/other/mathjax
319
320 By default MathJax will be installed in your ipython directory, but you
321 can install MathJax system-wide. Please refer to the documentation
322 of :mod:`IPython.external.mathjax`
323
324 Browser Compatibility
325 ---------------------
326
327 The IPython notebook is officially supported on the following browsers:
328
329 * Chrome ≥ 13
330 * Safari ≥ 5
331 * Firefox ≥ 6
332
333 The is mainly due to the notebook's usage of WebSockets and the flexible box model.
334
335 The following browsers are unsupported:
336
337 * Safari < 5
338 * Firefox < 6
339 * Chrome < 13
340 * Opera (any): CSS issues, but execution might work
341 * Internet Explorer < 10
342 * Internet Explorer ≥ 10 (same as Opera)
343
344 Using Safari with HTTPS and an untrusted certificate is known to not work (websockets will fail).
345
346
347 Dependencies for nbconvert (converting notebooks to various formats)
348 ====================================================================
349
350 For converting markdown to formats other than HTML, nbconvert uses Pandoc_ (1.12.1 or later).
351
352 To install pandoc on Linux, you can generally use your package manager::
353
354 sudo apt-get install pandoc
355
356 On other platforms, you can get pandoc from `their website <http://johnmacfarlane.net/pandoc/installing.html>`_.
357
358
359 .. _ZeroMQ: http://www.zeromq.org
360 .. _PyZMQ: https://github.com/zeromq/pyzmq
361 .. _paramiko: https://github.com/robey/paramiko
362 .. _pygments: http://pygments.org
363 .. _pexpect: http://pexpect.readthedocs.org/en/latest/
364 .. _Jinja: http://jinja.pocoo.org
365 .. _Sphinx: http://sphinx-doc.org
366 .. _pandoc: http://johnmacfarlane.net/pandoc
367 .. _Tornado: http://www.tornadoweb.org
368 .. _MathJax: http://www.mathjax.org
369 .. _PyQt: http://www.riverbankcomputing.com/software/pyqt/intro
370 .. _PySide: http://qt-project.org/wiki/PySide
371 .. _jinja2: http://jinja.pocoo.org/
372 .. _mistune: https://github.com/lepture/mistune
373 .. _jsonschema: https://github.com/Julian/jsonschema
374 .. _terminado: https://github.com/takluyver/terminado
@@ -190,6 +190,8 b' Profiles allow you to use IPython for different tasks, keeping separate config'
190 files and history for each one. More details in :ref:`the profiles section
190 files and history for each one. More details in :ref:`the profiles section
191 <profiles>`.
191 <profiles>`.
192
192
193 .. _startup_files:
194
193 Startup Files
195 Startup Files
194 -------------
196 -------------
195
197
@@ -11,7 +11,7 b' GitHub stats for 2015/02/27 - 2015/04/03 (since 3.0)'
11 These lists are automatically generated, and may be incomplete or contain duplicates.
11 These lists are automatically generated, and may be incomplete or contain duplicates.
12
12
13 We closed 46 issues and merged 133 pull requests.
13 We closed 46 issues and merged 133 pull requests.
14 The full list can be seen `on GitHub <https://github.com/ipython/ipython/milestones/3.1>`_.
14 The full list can be seen `on GitHub <https://github.com/ipython/ipython/milestones/3.1>`__.
15
15
16 The following 33 authors contributed 344 commits:
16 The following 33 authors contributed 344 commits:
17
17
@@ -58,7 +58,7 b' GitHub stats for 2014/04/02 - 2015/02/13 (since 2.0)'
58 These lists are automatically generated, and may be incomplete or contain duplicates.
58 These lists are automatically generated, and may be incomplete or contain duplicates.
59
59
60 We closed 469 issues and merged 925 pull requests.
60 We closed 469 issues and merged 925 pull requests.
61 The full list can be seen `on GitHub <https://github.com/ipython/ipython/milestones/3.0>`_.
61 The full list can be seen `on GitHub <https://github.com/ipython/ipython/milestones/3.0>`__.
62
62
63 The following 155 authors contributed 5975 commits.
63 The following 155 authors contributed 5975 commits.
64
64
@@ -253,8 +253,8 b' Twisted is itself a Python library. So while Twisted is a very capable'
253 framework, we think ZeroMQ fits our needs much better and we hope you will find
253 framework, we think ZeroMQ fits our needs much better and we hope you will find
254 the change to be a significant improvement in the long run.
254 the change to be a significant improvement in the long run.
255
255
256 Our manual contains :ref:`a full description of how to use IPython for parallel
256 Our manual contains a full description of how to use IPython for parallel
257 computing <parallel_overview>`, and the `tutorial`__ presented by Min
257 computing, and the `tutorial`__ presented by Min
258 Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the
258 Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the
259 reference docs.
259 reference docs.
260
260
@@ -287,7 +287,7 b' that assigning values is pure Python assignment. Simple flags exist for'
287 commonly used options, these are always prefixed with '--'.
287 commonly used options, these are always prefixed with '--'.
288
288
289 The IPython command-line help has the details of all the options (via
289 The IPython command-line help has the details of all the options (via
290 ``ipythyon --help``), but a simple example should clarify things; the ``pylab``
290 ``ipython --help``), but a simple example should clarify things; the ``pylab``
291 flag can be used to start in pylab mode with the qt4 backend::
291 flag can be used to start in pylab mode with the qt4 backend::
292
292
293 ipython --pylab=qt
293 ipython --pylab=qt
@@ -283,7 +283,7 b' that provide specialized magics. These typically require additional software'
283 to run and must be manually loaded via ``%load_ext <extension name>``, but are
283 to run and must be manually loaded via ``%load_ext <extension name>``, but are
284 extremely useful. The following extensions are provided:
284 extremely useful. The following extensions are provided:
285
285
286 **Cython magics** (extension :ref:`cythonmagic <extensions_cythonmagic>`)
286 **Cython magics** (extension ``cythonmagic``)
287 This extension provides magics to automatically build and compile Python
287 This extension provides magics to automatically build and compile Python
288 extension modules using the Cython_ language. You must install Cython
288 extension modules using the Cython_ language. You must install Cython
289 separately, as well as a C compiler, for this to work. The examples
289 separately, as well as a C compiler, for this to work. The examples
@@ -425,7 +425,7 b' of the internal execution parts:'
425 The parallel tools now default to using ``NoDB`` as the storage backend for
425 The parallel tools now default to using ``NoDB`` as the storage backend for
426 intermediate results. This means that the default usage case will have a
426 intermediate results. This means that the default usage case will have a
427 significantly reduced memory footprint, though certain advanced features are
427 significantly reduced memory footprint, though certain advanced features are
428 not available with this backend. For more details, see :ref:`parallel_db`.
428 not available with this backend.
429
429
430 The parallel magics now display all output, so you can do parallel plotting or
430 The parallel magics now display all output, so you can do parallel plotting or
431 other actions with complex display. The ``px`` magic has now both line and cell
431 other actions with complex display. The ``px`` magic has now both line and cell
@@ -530,10 +530,7 b' The directory ``docs/resources`` in the source distribution contains SVG and'
530 PNG versions of our file icons, as well as an ``Info.plist.example`` file with
530 PNG versions of our file icons, as well as an ``Info.plist.example`` file with
531 instructions to install them on Mac OSX. This is a first draft of our icons,
531 instructions to install them on Mac OSX. This is a first draft of our icons,
532 and we encourage contributions from users with graphic talent to improve them
532 and we encourage contributions from users with graphic talent to improve them
533 in the future:
533 in the future.
534
535 .. image:: ../../resources/ipynb_icon_128x128.png
536 :alt: IPython notebook file icon.
537
534
538
535
539 New top-level `locate` command
536 New top-level `locate` command
@@ -212,7 +212,7 b' if __name__ == "__main__":'
212
212
213 print("We closed %d issues and merged %d pull requests." % (n_issues, n_pulls))
213 print("We closed %d issues and merged %d pull requests." % (n_issues, n_pulls))
214 if milestone:
214 if milestone:
215 print("The full list can be seen `on GitHub <https://github.com/%s/milestone/%s>`"
215 print("The full list can be seen `on GitHub <https://github.com/%s/milestone/%s>`__"
216 % (project, milestone)
216 % (project, milestone)
217 )
217 )
218
218
General Comments 0
You need to be logged in to leave comments. Login now