Show More
The requested changes are too big and content was truncated. Show full diff
@@ -1,151 +1,151 b'' | |||
|
1 | 1 | # encoding: utf-8 |
|
2 | 2 | """ |
|
3 | 3 | IPython: tools for interactive and parallel computing in Python. |
|
4 | 4 | |
|
5 | http://ipython.org | |
|
5 | https://ipython.org | |
|
6 | 6 | """ |
|
7 | 7 | #----------------------------------------------------------------------------- |
|
8 | 8 | # Copyright (c) 2008-2011, IPython Development Team. |
|
9 | 9 | # Copyright (c) 2001-2007, Fernando Perez <fernando.perez@colorado.edu> |
|
10 | 10 | # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de> |
|
11 | 11 | # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu> |
|
12 | 12 | # |
|
13 | 13 | # Distributed under the terms of the Modified BSD License. |
|
14 | 14 | # |
|
15 | 15 | # The full license is in the file COPYING.txt, distributed with this software. |
|
16 | 16 | #----------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | 18 | #----------------------------------------------------------------------------- |
|
19 | 19 | # Imports |
|
20 | 20 | #----------------------------------------------------------------------------- |
|
21 | 21 | |
|
22 | 22 | import os |
|
23 | 23 | import sys |
|
24 | 24 | |
|
25 | 25 | #----------------------------------------------------------------------------- |
|
26 | 26 | # Setup everything |
|
27 | 27 | #----------------------------------------------------------------------------- |
|
28 | 28 | |
|
29 | 29 | # Don't forget to also update setup.py when this changes! |
|
30 | 30 | if sys.version_info < (3,4): |
|
31 | 31 | raise ImportError( |
|
32 | 32 | """ |
|
33 | 33 | IPython 7.0+ supports Python 3.4 and above. |
|
34 | 34 | When using Python 2.7, please install IPython 5.x LTS Long Term Support version. |
|
35 | 35 | Python 3.3 was supported up to IPython 6.x. |
|
36 | 36 | |
|
37 | 37 | See IPython `README.rst` file for more information: |
|
38 | 38 | |
|
39 | 39 | https://github.com/ipython/ipython/blob/master/README.rst |
|
40 | 40 | |
|
41 | 41 | """) |
|
42 | 42 | |
|
43 | 43 | # Make it easy to import extensions - they are always directly on pythonpath. |
|
44 | 44 | # Therefore, non-IPython modules can be added to extensions directory. |
|
45 | 45 | # This should probably be in ipapp.py. |
|
46 | 46 | sys.path.append(os.path.join(os.path.dirname(__file__), "extensions")) |
|
47 | 47 | |
|
48 | 48 | #----------------------------------------------------------------------------- |
|
49 | 49 | # Setup the top level names |
|
50 | 50 | #----------------------------------------------------------------------------- |
|
51 | 51 | |
|
52 | 52 | from .core.getipython import get_ipython |
|
53 | 53 | from .core import release |
|
54 | 54 | from .core.application import Application |
|
55 | 55 | from .terminal.embed import embed |
|
56 | 56 | |
|
57 | 57 | from .core.interactiveshell import InteractiveShell |
|
58 | 58 | from .testing import test |
|
59 | 59 | from .utils.sysinfo import sys_info |
|
60 | 60 | from .utils.frame import extract_module_locals |
|
61 | 61 | |
|
62 | 62 | # Release data |
|
63 | 63 | __author__ = '%s <%s>' % (release.author, release.author_email) |
|
64 | 64 | __license__ = release.license |
|
65 | 65 | __version__ = release.version |
|
66 | 66 | version_info = release.version_info |
|
67 | 67 | |
|
68 | 68 | def embed_kernel(module=None, local_ns=None, **kwargs): |
|
69 | 69 | """Embed and start an IPython kernel in a given scope. |
|
70 | 70 | |
|
71 | 71 | If you don't want the kernel to initialize the namespace |
|
72 | 72 | from the scope of the surrounding function, |
|
73 | 73 | and/or you want to load full IPython configuration, |
|
74 | 74 | you probably want `IPython.start_kernel()` instead. |
|
75 | 75 | |
|
76 | 76 | Parameters |
|
77 | 77 | ---------- |
|
78 | 78 | module : ModuleType, optional |
|
79 | 79 | The module to load into IPython globals (default: caller) |
|
80 | 80 | local_ns : dict, optional |
|
81 | 81 | The namespace to load into IPython user namespace (default: caller) |
|
82 | 82 | |
|
83 | 83 | kwargs : various, optional |
|
84 | 84 | Further keyword args are relayed to the IPKernelApp constructor, |
|
85 | 85 | allowing configuration of the Kernel. Will only have an effect |
|
86 | 86 | on the first embed_kernel call for a given process. |
|
87 | 87 | """ |
|
88 | 88 | |
|
89 | 89 | (caller_module, caller_locals) = extract_module_locals(1) |
|
90 | 90 | if module is None: |
|
91 | 91 | module = caller_module |
|
92 | 92 | if local_ns is None: |
|
93 | 93 | local_ns = caller_locals |
|
94 | 94 | |
|
95 | 95 | # Only import .zmq when we really need it |
|
96 | 96 | from ipykernel.embed import embed_kernel as real_embed_kernel |
|
97 | 97 | real_embed_kernel(module=module, local_ns=local_ns, **kwargs) |
|
98 | 98 | |
|
99 | 99 | def start_ipython(argv=None, **kwargs): |
|
100 | 100 | """Launch a normal IPython instance (as opposed to embedded) |
|
101 | 101 | |
|
102 | 102 | `IPython.embed()` puts a shell in a particular calling scope, |
|
103 | 103 | such as a function or method for debugging purposes, |
|
104 | 104 | which is often not desirable. |
|
105 | 105 | |
|
106 | 106 | `start_ipython()` does full, regular IPython initialization, |
|
107 | 107 | including loading startup files, configuration, etc. |
|
108 | 108 | much of which is skipped by `embed()`. |
|
109 | 109 | |
|
110 | 110 | This is a public API method, and will survive implementation changes. |
|
111 | 111 | |
|
112 | 112 | Parameters |
|
113 | 113 | ---------- |
|
114 | 114 | |
|
115 | 115 | argv : list or None, optional |
|
116 | 116 | If unspecified or None, IPython will parse command-line options from sys.argv. |
|
117 | 117 | To prevent any command-line parsing, pass an empty list: `argv=[]`. |
|
118 | 118 | user_ns : dict, optional |
|
119 | 119 | specify this dictionary to initialize the IPython user namespace with particular values. |
|
120 | 120 | kwargs : various, optional |
|
121 | 121 | Any other kwargs will be passed to the Application constructor, |
|
122 | 122 | such as `config`. |
|
123 | 123 | """ |
|
124 | 124 | from IPython.terminal.ipapp import launch_new_instance |
|
125 | 125 | return launch_new_instance(argv=argv, **kwargs) |
|
126 | 126 | |
|
127 | 127 | def start_kernel(argv=None, **kwargs): |
|
128 | 128 | """Launch a normal IPython kernel instance (as opposed to embedded) |
|
129 | 129 | |
|
130 | 130 | `IPython.embed_kernel()` puts a shell in a particular calling scope, |
|
131 | 131 | such as a function or method for debugging purposes, |
|
132 | 132 | which is often not desirable. |
|
133 | 133 | |
|
134 | 134 | `start_kernel()` does full, regular IPython initialization, |
|
135 | 135 | including loading startup files, configuration, etc. |
|
136 | 136 | much of which is skipped by `embed()`. |
|
137 | 137 | |
|
138 | 138 | Parameters |
|
139 | 139 | ---------- |
|
140 | 140 | |
|
141 | 141 | argv : list or None, optional |
|
142 | 142 | If unspecified or None, IPython will parse command-line options from sys.argv. |
|
143 | 143 | To prevent any command-line parsing, pass an empty list: `argv=[]`. |
|
144 | 144 | user_ns : dict, optional |
|
145 | 145 | specify this dictionary to initialize the IPython user namespace with particular values. |
|
146 | 146 | kwargs : various, optional |
|
147 | 147 | Any other kwargs will be passed to the Application constructor, |
|
148 | 148 | such as `config`. |
|
149 | 149 | """ |
|
150 | 150 | from IPython.kernel.zmq.kernelapp import launch_new_instance |
|
151 | 151 | return launch_new_instance(argv=argv, **kwargs) |
@@ -1,119 +1,119 b'' | |||
|
1 | 1 | # -*- coding: utf-8 -*- |
|
2 | 2 | """Release data for the IPython project.""" |
|
3 | 3 | |
|
4 | 4 | #----------------------------------------------------------------------------- |
|
5 | 5 | # Copyright (c) 2008, IPython Development Team. |
|
6 | 6 | # Copyright (c) 2001, Fernando Perez <fernando.perez@colorado.edu> |
|
7 | 7 | # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de> |
|
8 | 8 | # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu> |
|
9 | 9 | # |
|
10 | 10 | # Distributed under the terms of the Modified BSD License. |
|
11 | 11 | # |
|
12 | 12 | # The full license is in the file COPYING.txt, distributed with this software. |
|
13 | 13 | #----------------------------------------------------------------------------- |
|
14 | 14 | |
|
15 | 15 | # Name of the package for release purposes. This is the name which labels |
|
16 | 16 | # the tarballs and RPMs made by distutils, so it's best to lowercase it. |
|
17 | 17 | name = 'ipython' |
|
18 | 18 | |
|
19 | 19 | # IPython version information. An empty _version_extra corresponds to a full |
|
20 | 20 | # release. 'dev' as a _version_extra string means this is a development |
|
21 | 21 | # version |
|
22 | 22 | _version_major = 7 |
|
23 | 23 | _version_minor = 0 |
|
24 | 24 | _version_patch = 0 |
|
25 | 25 | _version_extra = '.dev' |
|
26 | 26 | # _version_extra = 'rc2' |
|
27 | 27 | # _version_extra = '' # Uncomment this for full releases |
|
28 | 28 | |
|
29 | 29 | # Construct full version string from these. |
|
30 | 30 | _ver = [_version_major, _version_minor, _version_patch] |
|
31 | 31 | |
|
32 | 32 | __version__ = '.'.join(map(str, _ver)) |
|
33 | 33 | if _version_extra: |
|
34 | 34 | __version__ = __version__ + _version_extra |
|
35 | 35 | |
|
36 | 36 | version = __version__ # backwards compatibility name |
|
37 | 37 | version_info = (_version_major, _version_minor, _version_patch, _version_extra) |
|
38 | 38 | |
|
39 | 39 | # Change this when incrementing the kernel protocol version |
|
40 | 40 | kernel_protocol_version_info = (5, 0) |
|
41 | 41 | kernel_protocol_version = "%i.%i" % kernel_protocol_version_info |
|
42 | 42 | |
|
43 | 43 | description = "IPython: Productive Interactive Computing" |
|
44 | 44 | |
|
45 | 45 | long_description = \ |
|
46 | 46 | """ |
|
47 | 47 | IPython provides a rich toolkit to help you make the most out of using Python |
|
48 | 48 | interactively. Its main components are: |
|
49 | 49 | |
|
50 | 50 | * A powerful interactive Python shell |
|
51 | * A `Jupyter <http://jupyter.org/>`_ kernel to work with Python code in Jupyter | |
|
51 | * A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter | |
|
52 | 52 | notebooks and other interactive frontends. |
|
53 | 53 | |
|
54 | 54 | The enhanced interactive Python shells have the following main features: |
|
55 | 55 | |
|
56 | 56 | * Comprehensive object introspection. |
|
57 | 57 | |
|
58 | 58 | * Input history, persistent across sessions. |
|
59 | 59 | |
|
60 | 60 | * Caching of output results during a session with automatically generated |
|
61 | 61 | references. |
|
62 | 62 | |
|
63 | 63 | * Extensible tab completion, with support by default for completion of python |
|
64 | 64 | variables and keywords, filenames and function keywords. |
|
65 | 65 | |
|
66 | 66 | * Extensible system of 'magic' commands for controlling the environment and |
|
67 | 67 | performing many tasks related either to IPython or the operating system. |
|
68 | 68 | |
|
69 | 69 | * A rich configuration system with easy switching between different setups |
|
70 | 70 | (simpler than changing $PYTHONSTARTUP environment variables every time). |
|
71 | 71 | |
|
72 | 72 | * Session logging and reloading. |
|
73 | 73 | |
|
74 | 74 | * Extensible syntax processing for special purpose situations. |
|
75 | 75 | |
|
76 | 76 | * Access to the system shell with user-extensible alias system. |
|
77 | 77 | |
|
78 | 78 | * Easily embeddable in other Python programs and GUIs. |
|
79 | 79 | |
|
80 | 80 | * Integrated access to the pdb debugger and the Python profiler. |
|
81 | 81 | |
|
82 | 82 | The latest development version is always available from IPython's `GitHub |
|
83 | 83 | site <http://github.com/ipython>`_. |
|
84 | 84 | """ |
|
85 | 85 | |
|
86 | 86 | license = 'BSD' |
|
87 | 87 | |
|
88 | 88 | authors = {'Fernando' : ('Fernando Perez','fperez.net@gmail.com'), |
|
89 | 89 | 'Janko' : ('Janko Hauser','jhauser@zscout.de'), |
|
90 | 90 | 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'), |
|
91 | 91 | 'Ville' : ('Ville Vainio','vivainio@gmail.com'), |
|
92 | 92 | 'Brian' : ('Brian E Granger', 'ellisonbg@gmail.com'), |
|
93 | 93 | 'Min' : ('Min Ragan-Kelley', 'benjaminrk@gmail.com'), |
|
94 | 94 | 'Thomas' : ('Thomas A. Kluyver', 'takowl@gmail.com'), |
|
95 | 95 | 'Jorgen' : ('Jorgen Stenarson', 'jorgen.stenarson@bostream.nu'), |
|
96 | 96 | 'Matthias' : ('Matthias Bussonnier', 'bussonniermatthias@gmail.com'), |
|
97 | 97 | } |
|
98 | 98 | |
|
99 | 99 | author = 'The IPython Development Team' |
|
100 | 100 | |
|
101 | 101 | author_email = 'ipython-dev@python.org' |
|
102 | 102 | |
|
103 | 103 | url = 'https://ipython.org' |
|
104 | 104 | |
|
105 | 105 | |
|
106 | 106 | platforms = ['Linux','Mac OSX','Windows'] |
|
107 | 107 | |
|
108 | 108 | keywords = ['Interactive','Interpreter','Shell', 'Embedding'] |
|
109 | 109 | |
|
110 | 110 | classifiers = [ |
|
111 | 111 | 'Framework :: IPython', |
|
112 | 112 | 'Intended Audience :: Developers', |
|
113 | 113 | 'Intended Audience :: Science/Research', |
|
114 | 114 | 'License :: OSI Approved :: BSD License', |
|
115 | 115 | 'Programming Language :: Python', |
|
116 | 116 | 'Programming Language :: Python :: 3', |
|
117 | 117 | 'Programming Language :: Python :: 3 :: Only', |
|
118 | 118 | 'Topic :: System :: Shells' |
|
119 | 119 | ] |
@@ -1,341 +1,341 b'' | |||
|
1 | 1 | # -*- coding: utf-8 -*- |
|
2 | 2 | """Usage information for the main IPython applications. |
|
3 | 3 | """ |
|
4 | 4 | #----------------------------------------------------------------------------- |
|
5 | 5 | # Copyright (C) 2008-2011 The IPython Development Team |
|
6 | 6 | # Copyright (C) 2001-2007 Fernando Perez. <fperez@colorado.edu> |
|
7 | 7 | # |
|
8 | 8 | # Distributed under the terms of the BSD License. The full license is in |
|
9 | 9 | # the file COPYING, distributed as part of this software. |
|
10 | 10 | #----------------------------------------------------------------------------- |
|
11 | 11 | |
|
12 | 12 | import sys |
|
13 | 13 | from IPython.core import release |
|
14 | 14 | |
|
15 | 15 | cl_usage = """\ |
|
16 | 16 | ========= |
|
17 | 17 | IPython |
|
18 | 18 | ========= |
|
19 | 19 | |
|
20 | 20 | Tools for Interactive Computing in Python |
|
21 | 21 | ========================================= |
|
22 | 22 | |
|
23 | 23 | A Python shell with automatic history (input and output), dynamic object |
|
24 | 24 | introspection, easier configuration, command completion, access to the |
|
25 | 25 | system shell and more. IPython can also be embedded in running programs. |
|
26 | 26 | |
|
27 | 27 | |
|
28 | 28 | Usage |
|
29 | 29 | |
|
30 | 30 | ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ... |
|
31 | 31 | |
|
32 | 32 | If invoked with no options, it executes the file and exits, passing the |
|
33 | 33 | remaining arguments to the script, just as if you had specified the same |
|
34 | 34 | command with python. You may need to specify `--` before args to be passed |
|
35 | 35 | to the script, to prevent IPython from attempting to parse them. If you |
|
36 | 36 | specify the option `-i` before the filename, it will enter an interactive |
|
37 | 37 | IPython session after running the script, rather than exiting. Files ending |
|
38 | 38 | in .py will be treated as normal Python, but files ending in .ipy can |
|
39 | 39 | contain special IPython syntax (magic commands, shell expansions, etc.). |
|
40 | 40 | |
|
41 | 41 | Almost all configuration in IPython is available via the command-line. Do |
|
42 | 42 | `ipython --help-all` to see all available options. For persistent |
|
43 | 43 | configuration, look into your `ipython_config.py` configuration file for |
|
44 | 44 | details. |
|
45 | 45 | |
|
46 | 46 | This file is typically installed in the `IPYTHONDIR` directory, and there |
|
47 | 47 | is a separate configuration directory for each profile. The default profile |
|
48 | 48 | directory will be located in $IPYTHONDIR/profile_default. IPYTHONDIR |
|
49 | 49 | defaults to to `$HOME/.ipython`. For Windows users, $HOME resolves to |
|
50 | 50 | C:\\Users\\YourUserName in most instances. |
|
51 | 51 | |
|
52 | 52 | To initialize a profile with the default configuration file, do:: |
|
53 | 53 | |
|
54 | 54 | $> ipython profile create |
|
55 | 55 | |
|
56 | 56 | and start editing `IPYTHONDIR/profile_default/ipython_config.py` |
|
57 | 57 | |
|
58 | 58 | In IPython's documentation, we will refer to this directory as |
|
59 | 59 | `IPYTHONDIR`, you can change its default location by creating an |
|
60 | 60 | environment variable with this name and setting it to the desired path. |
|
61 | 61 | |
|
62 | 62 | For more information, see the manual available in HTML and PDF in your |
|
63 | installation, or online at http://ipython.org/documentation.html. | |
|
63 | installation, or online at https://ipython.org/documentation.html. | |
|
64 | 64 | """ |
|
65 | 65 | |
|
66 | 66 | interactive_usage = """ |
|
67 | 67 | IPython -- An enhanced Interactive Python |
|
68 | 68 | ========================================= |
|
69 | 69 | |
|
70 | 70 | IPython offers a fully compatible replacement for the standard Python |
|
71 | 71 | interpreter, with convenient shell features, special commands, command |
|
72 | 72 | history mechanism and output results caching. |
|
73 | 73 | |
|
74 | 74 | At your system command line, type 'ipython -h' to see the command line |
|
75 | 75 | options available. This document only describes interactive features. |
|
76 | 76 | |
|
77 | 77 | GETTING HELP |
|
78 | 78 | ------------ |
|
79 | 79 | |
|
80 | 80 | Within IPython you have various way to access help: |
|
81 | 81 | |
|
82 | 82 | ? -> Introduction and overview of IPython's features (this screen). |
|
83 | 83 | object? -> Details about 'object'. |
|
84 | 84 | object?? -> More detailed, verbose information about 'object'. |
|
85 | 85 | %quickref -> Quick reference of all IPython specific syntax and magics. |
|
86 | 86 | help -> Access Python's own help system. |
|
87 | 87 | |
|
88 | 88 | If you are in terminal IPython you can quit this screen by pressing `q`. |
|
89 | 89 | |
|
90 | 90 | |
|
91 | 91 | MAIN FEATURES |
|
92 | 92 | ------------- |
|
93 | 93 | |
|
94 | 94 | * Access to the standard Python help with object docstrings and the Python |
|
95 | 95 | manuals. Simply type 'help' (no quotes) to invoke it. |
|
96 | 96 | |
|
97 | 97 | * Magic commands: type %magic for information on the magic subsystem. |
|
98 | 98 | |
|
99 | 99 | * System command aliases, via the %alias command or the configuration file(s). |
|
100 | 100 | |
|
101 | 101 | * Dynamic object information: |
|
102 | 102 | |
|
103 | 103 | Typing ?word or word? prints detailed information about an object. Certain |
|
104 | 104 | long strings (code, etc.) get snipped in the center for brevity. |
|
105 | 105 | |
|
106 | 106 | Typing ??word or word?? gives access to the full information without |
|
107 | 107 | snipping long strings. Strings that are longer than the screen are printed |
|
108 | 108 | through the less pager. |
|
109 | 109 | |
|
110 | 110 | The ?/?? system gives access to the full source code for any object (if |
|
111 | 111 | available), shows function prototypes and other useful information. |
|
112 | 112 | |
|
113 | 113 | If you just want to see an object's docstring, type '%pdoc object' (without |
|
114 | 114 | quotes, and without % if you have automagic on). |
|
115 | 115 | |
|
116 | 116 | * Tab completion in the local namespace: |
|
117 | 117 | |
|
118 | 118 | At any time, hitting tab will complete any available python commands or |
|
119 | 119 | variable names, and show you a list of the possible completions if there's |
|
120 | 120 | no unambiguous one. It will also complete filenames in the current directory. |
|
121 | 121 | |
|
122 | 122 | * Search previous command history in multiple ways: |
|
123 | 123 | |
|
124 | 124 | - Start typing, and then use arrow keys up/down or (Ctrl-p/Ctrl-n) to search |
|
125 | 125 | through the history items that match what you've typed so far. |
|
126 | 126 | |
|
127 | 127 | - Hit Ctrl-r: opens a search prompt. Begin typing and the system searches |
|
128 | 128 | your history for lines that match what you've typed so far, completing as |
|
129 | 129 | much as it can. |
|
130 | 130 | |
|
131 | 131 | - %hist: search history by index. |
|
132 | 132 | |
|
133 | 133 | * Persistent command history across sessions. |
|
134 | 134 | |
|
135 | 135 | * Logging of input with the ability to save and restore a working session. |
|
136 | 136 | |
|
137 | 137 | * System shell with !. Typing !ls will run 'ls' in the current directory. |
|
138 | 138 | |
|
139 | 139 | * The reload command does a 'deep' reload of a module: changes made to the |
|
140 | 140 | module since you imported will actually be available without having to exit. |
|
141 | 141 | |
|
142 | 142 | * Verbose and colored exception traceback printouts. See the magic xmode and |
|
143 | 143 | xcolor functions for details (just type %magic). |
|
144 | 144 | |
|
145 | 145 | * Input caching system: |
|
146 | 146 | |
|
147 | 147 | IPython offers numbered prompts (In/Out) with input and output caching. All |
|
148 | 148 | input is saved and can be retrieved as variables (besides the usual arrow |
|
149 | 149 | key recall). |
|
150 | 150 | |
|
151 | 151 | The following GLOBAL variables always exist (so don't overwrite them!): |
|
152 | 152 | _i: stores previous input. |
|
153 | 153 | _ii: next previous. |
|
154 | 154 | _iii: next-next previous. |
|
155 | 155 | _ih : a list of all input _ih[n] is the input from line n. |
|
156 | 156 | |
|
157 | 157 | Additionally, global variables named _i<n> are dynamically created (<n> |
|
158 | 158 | being the prompt counter), such that _i<n> == _ih[<n>] |
|
159 | 159 | |
|
160 | 160 | For example, what you typed at prompt 14 is available as _i14 and _ih[14]. |
|
161 | 161 | |
|
162 | 162 | You can create macros which contain multiple input lines from this history, |
|
163 | 163 | for later re-execution, with the %macro function. |
|
164 | 164 | |
|
165 | 165 | The history function %hist allows you to see any part of your input history |
|
166 | 166 | by printing a range of the _i variables. Note that inputs which contain |
|
167 | 167 | magic functions (%) appear in the history with a prepended comment. This is |
|
168 | 168 | because they aren't really valid Python code, so you can't exec them. |
|
169 | 169 | |
|
170 | 170 | * Output caching system: |
|
171 | 171 | |
|
172 | 172 | For output that is returned from actions, a system similar to the input |
|
173 | 173 | cache exists but using _ instead of _i. Only actions that produce a result |
|
174 | 174 | (NOT assignments, for example) are cached. If you are familiar with |
|
175 | 175 | Mathematica, IPython's _ variables behave exactly like Mathematica's % |
|
176 | 176 | variables. |
|
177 | 177 | |
|
178 | 178 | The following GLOBAL variables always exist (so don't overwrite them!): |
|
179 | 179 | _ (one underscore): previous output. |
|
180 | 180 | __ (two underscores): next previous. |
|
181 | 181 | ___ (three underscores): next-next previous. |
|
182 | 182 | |
|
183 | 183 | Global variables named _<n> are dynamically created (<n> being the prompt |
|
184 | 184 | counter), such that the result of output <n> is always available as _<n>. |
|
185 | 185 | |
|
186 | 186 | Finally, a global dictionary named _oh exists with entries for all lines |
|
187 | 187 | which generated output. |
|
188 | 188 | |
|
189 | 189 | * Directory history: |
|
190 | 190 | |
|
191 | 191 | Your history of visited directories is kept in the global list _dh, and the |
|
192 | 192 | magic %cd command can be used to go to any entry in that list. |
|
193 | 193 | |
|
194 | 194 | * Auto-parentheses and auto-quotes (adapted from Nathan Gray's LazyPython) |
|
195 | 195 | |
|
196 | 196 | 1. Auto-parentheses |
|
197 | 197 | |
|
198 | 198 | Callable objects (i.e. functions, methods, etc) can be invoked like |
|
199 | 199 | this (notice the commas between the arguments):: |
|
200 | 200 | |
|
201 | 201 | In [1]: callable_ob arg1, arg2, arg3 |
|
202 | 202 | |
|
203 | 203 | and the input will be translated to this:: |
|
204 | 204 | |
|
205 | 205 | callable_ob(arg1, arg2, arg3) |
|
206 | 206 | |
|
207 | 207 | This feature is off by default (in rare cases it can produce |
|
208 | 208 | undesirable side-effects), but you can activate it at the command-line |
|
209 | 209 | by starting IPython with `--autocall 1`, set it permanently in your |
|
210 | 210 | configuration file, or turn on at runtime with `%autocall 1`. |
|
211 | 211 | |
|
212 | 212 | You can force auto-parentheses by using '/' as the first character |
|
213 | 213 | of a line. For example:: |
|
214 | 214 | |
|
215 | 215 | In [1]: /globals # becomes 'globals()' |
|
216 | 216 | |
|
217 | 217 | Note that the '/' MUST be the first character on the line! This |
|
218 | 218 | won't work:: |
|
219 | 219 | |
|
220 | 220 | In [2]: print /globals # syntax error |
|
221 | 221 | |
|
222 | 222 | In most cases the automatic algorithm should work, so you should |
|
223 | 223 | rarely need to explicitly invoke /. One notable exception is if you |
|
224 | 224 | are trying to call a function with a list of tuples as arguments (the |
|
225 | 225 | parenthesis will confuse IPython):: |
|
226 | 226 | |
|
227 | 227 | In [1]: zip (1,2,3),(4,5,6) # won't work |
|
228 | 228 | |
|
229 | 229 | but this will work:: |
|
230 | 230 | |
|
231 | 231 | In [2]: /zip (1,2,3),(4,5,6) |
|
232 | 232 | ------> zip ((1,2,3),(4,5,6)) |
|
233 | 233 | Out[2]= [(1, 4), (2, 5), (3, 6)] |
|
234 | 234 | |
|
235 | 235 | IPython tells you that it has altered your command line by |
|
236 | 236 | displaying the new command line preceded by -->. e.g.:: |
|
237 | 237 | |
|
238 | 238 | In [18]: callable list |
|
239 | 239 | -------> callable (list) |
|
240 | 240 | |
|
241 | 241 | 2. Auto-Quoting |
|
242 | 242 | |
|
243 | 243 | You can force auto-quoting of a function's arguments by using ',' as |
|
244 | 244 | the first character of a line. For example:: |
|
245 | 245 | |
|
246 | 246 | In [1]: ,my_function /home/me # becomes my_function("/home/me") |
|
247 | 247 | |
|
248 | 248 | If you use ';' instead, the whole argument is quoted as a single |
|
249 | 249 | string (while ',' splits on whitespace):: |
|
250 | 250 | |
|
251 | 251 | In [2]: ,my_function a b c # becomes my_function("a","b","c") |
|
252 | 252 | In [3]: ;my_function a b c # becomes my_function("a b c") |
|
253 | 253 | |
|
254 | 254 | Note that the ',' MUST be the first character on the line! This |
|
255 | 255 | won't work:: |
|
256 | 256 | |
|
257 | 257 | In [4]: x = ,my_function /home/me # syntax error |
|
258 | 258 | """ |
|
259 | 259 | |
|
260 | 260 | interactive_usage_min = """\ |
|
261 | 261 | An enhanced console for Python. |
|
262 | 262 | Some of its features are: |
|
263 | 263 | - Tab completion in the local namespace. |
|
264 | 264 | - Logging of input, see command-line options. |
|
265 | 265 | - System shell escape via ! , eg !ls. |
|
266 | 266 | - Magic commands, starting with a % (like %ls, %pwd, %cd, etc.) |
|
267 | 267 | - Keeps track of locally defined variables via %who, %whos. |
|
268 | 268 | - Show object information with a ? eg ?x or x? (use ?? for more info). |
|
269 | 269 | """ |
|
270 | 270 | |
|
271 | 271 | quick_reference = r""" |
|
272 | 272 | IPython -- An enhanced Interactive Python - Quick Reference Card |
|
273 | 273 | ================================================================ |
|
274 | 274 | |
|
275 | 275 | obj?, obj?? : Get help, or more help for object (also works as |
|
276 | 276 | ?obj, ??obj). |
|
277 | 277 | ?foo.*abc* : List names in 'foo' containing 'abc' in them. |
|
278 | 278 | %magic : Information about IPython's 'magic' % functions. |
|
279 | 279 | |
|
280 | 280 | Magic functions are prefixed by % or %%, and typically take their arguments |
|
281 | 281 | without parentheses, quotes or even commas for convenience. Line magics take a |
|
282 | 282 | single % and cell magics are prefixed with two %%. |
|
283 | 283 | |
|
284 | 284 | Example magic function calls: |
|
285 | 285 | |
|
286 | 286 | %alias d ls -F : 'd' is now an alias for 'ls -F' |
|
287 | 287 | alias d ls -F : Works if 'alias' not a python name |
|
288 | 288 | alist = %alias : Get list of aliases to 'alist' |
|
289 | 289 | cd /usr/share : Obvious. cd -<tab> to choose from visited dirs. |
|
290 | 290 | %cd?? : See help AND source for magic %cd |
|
291 | 291 | %timeit x=10 : time the 'x=10' statement with high precision. |
|
292 | 292 | %%timeit x=2**100 |
|
293 | 293 | x**100 : time 'x**100' with a setup of 'x=2**100'; setup code is not |
|
294 | 294 | counted. This is an example of a cell magic. |
|
295 | 295 | |
|
296 | 296 | System commands: |
|
297 | 297 | |
|
298 | 298 | !cp a.txt b/ : System command escape, calls os.system() |
|
299 | 299 | cp a.txt b/ : after %rehashx, most system commands work without ! |
|
300 | 300 | cp ${f}.txt $bar : Variable expansion in magics and system commands |
|
301 | 301 | files = !ls /usr : Capture system command output |
|
302 | 302 | files.s, files.l, files.n: "a b c", ['a','b','c'], 'a\nb\nc' |
|
303 | 303 | |
|
304 | 304 | History: |
|
305 | 305 | |
|
306 | 306 | _i, _ii, _iii : Previous, next previous, next next previous input |
|
307 | 307 | _i4, _ih[2:5] : Input history line 4, lines 2-4 |
|
308 | 308 | exec _i81 : Execute input history line #81 again |
|
309 | 309 | %rep 81 : Edit input history line #81 |
|
310 | 310 | _, __, ___ : previous, next previous, next next previous output |
|
311 | 311 | _dh : Directory history |
|
312 | 312 | _oh : Output history |
|
313 | 313 | %hist : Command history of current session. |
|
314 | 314 | %hist -g foo : Search command history of (almost) all sessions for 'foo'. |
|
315 | 315 | %hist -g : Command history of (almost) all sessions. |
|
316 | 316 | %hist 1/2-8 : Command history containing lines 2-8 of session 1. |
|
317 | 317 | %hist 1/ ~2/ : Command history of session 1 and 2 sessions before current. |
|
318 | 318 | %hist ~8/1-~6/5 : Command history from line 1 of 8 sessions ago to |
|
319 | 319 | line 5 of 6 sessions ago. |
|
320 | 320 | %edit 0/ : Open editor to execute code with history of current session. |
|
321 | 321 | |
|
322 | 322 | Autocall: |
|
323 | 323 | |
|
324 | 324 | f 1,2 : f(1,2) # Off by default, enable with %autocall magic. |
|
325 | 325 | /f 1,2 : f(1,2) (forced autoparen) |
|
326 | 326 | ,f 1 2 : f("1","2") |
|
327 | 327 | ;f 1 2 : f("1 2") |
|
328 | 328 | |
|
329 | 329 | Remember: TAB completion works in many contexts, not just file names |
|
330 | 330 | or python names. |
|
331 | 331 | |
|
332 | 332 | The following magic functions are currently available: |
|
333 | 333 | |
|
334 | 334 | """ |
|
335 | 335 | |
|
336 | 336 | default_banner_parts = ["Python %s\n"%sys.version.split("\n")[0], |
|
337 | 337 | "Type 'copyright', 'credits' or 'license' for more information\n" , |
|
338 | 338 | "IPython {version} -- An enhanced Interactive Python. Type '?' for help.\n".format(version=release.version), |
|
339 | 339 | ] |
|
340 | 340 | |
|
341 | 341 | default_banner = ''.join(default_banner_parts) |
@@ -1,111 +1,111 b'' | |||
|
1 | 1 | .. image:: https://codecov.io/github/ipython/ipython/coverage.svg?branch=master |
|
2 | 2 | :target: https://codecov.io/github/ipython/ipython?branch=master |
|
3 | 3 | |
|
4 | 4 | .. image:: https://img.shields.io/pypi/v/IPython.svg |
|
5 | 5 | :target: https://pypi.python.org/pypi/ipython |
|
6 | 6 | |
|
7 | 7 | .. image:: https://img.shields.io/travis/ipython/ipython.svg |
|
8 | 8 | :target: https://travis-ci.org/ipython/ipython |
|
9 | 9 | |
|
10 | 10 | .. image:: https://www.codetriage.com/ipython/ipython/badges/users.svg |
|
11 | 11 | :target: https://www.codetriage.com/ipython/ipython/ |
|
12 | 12 | |
|
13 | 13 | =========================================== |
|
14 | 14 | IPython: Productive Interactive Computing |
|
15 | 15 | =========================================== |
|
16 | 16 | |
|
17 | 17 | Overview |
|
18 | 18 | ======== |
|
19 | 19 | |
|
20 | 20 | Welcome to IPython. Our full documentation is available on `ipython.readthedocs.io |
|
21 | 21 | <https://ipython.readthedocs.io/en/stable/>`_ and contains information on how to install, use and |
|
22 | 22 | contribute to the project. |
|
23 | 23 | |
|
24 | 24 | **IPython versions and Python Support** |
|
25 | 25 | |
|
26 | 26 | **IPython 7.0** requires Python version 3.4 and above. |
|
27 | 27 | |
|
28 | 28 | **IPython 6.x** requires Python version 3.3 and above. |
|
29 | 29 | |
|
30 | 30 | **IPython 5.x LTS** is the compatible release for Python 2.7. |
|
31 | 31 | If you require Python 2 support, you **must** use IPython 5.x LTS. Please |
|
32 | 32 | update your project configurations and requirements as necessary. |
|
33 | 33 | |
|
34 | 34 | |
|
35 | 35 | The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*. |
|
36 | 36 | See the `Jupyter installation docs <https://jupyter.readthedocs.io/en/latest/install.html>`__ |
|
37 | 37 | if you want to use these. |
|
38 | 38 | |
|
39 | 39 | |
|
40 | 40 | |
|
41 | 41 | |
|
42 | 42 | Development and Instant running |
|
43 | 43 | =============================== |
|
44 | 44 | |
|
45 | 45 | You can find the latest version of the development documentation on `readthedocs |
|
46 | 46 | <https://ipython.readthedocs.io/en/latest/>`_. |
|
47 | 47 | |
|
48 | 48 | You can run IPython from this directory without even installing it system-wide |
|
49 | 49 | by typing at the terminal:: |
|
50 | 50 | |
|
51 | 51 | $ python -m IPython |
|
52 | 52 | |
|
53 | 53 | Or see the `development installation docs |
|
54 | 54 | <https://ipython.readthedocs.io/en/latest/install/install.html#installing-the-development-version>`_ |
|
55 | 55 | for the latest revision on read the docs. |
|
56 | 56 | |
|
57 | 57 | Documentation and installation instructions for older version of IPython can be |
|
58 | found on the `IPython website <http://ipython.org/documentation.html>`_ | |
|
58 | found on the `IPython website <https://ipython.org/documentation.html>`_ | |
|
59 | 59 | |
|
60 | 60 | |
|
61 | 61 | |
|
62 | 62 | IPython requires Python version 3 or above |
|
63 | 63 | ========================================== |
|
64 | 64 | |
|
65 | 65 | Starting with version 6.0, IPython does not support Python 2.7, 3.0, 3.1, or |
|
66 | 66 | 3.2. |
|
67 | 67 | |
|
68 | 68 | For a version compatible with Python 2.7, please install the 5.x LTS Long Term |
|
69 | 69 | Support version. |
|
70 | 70 | |
|
71 | 71 | If you are encountering this error message you are likely trying to install or |
|
72 | 72 | use IPython from source. You need to checkout the remote 5.x branch. If you are |
|
73 | 73 | using git the following should work:: |
|
74 | 74 | |
|
75 | 75 | $ git fetch origin |
|
76 | 76 | $ git checkout 5.x |
|
77 | 77 | |
|
78 | 78 | If you encounter this error message with a regular install of IPython, then you |
|
79 | 79 | likely need to update your package manager, for example if you are using `pip` |
|
80 | 80 | check the version of pip with:: |
|
81 | 81 | |
|
82 | 82 | $ pip --version |
|
83 | 83 | |
|
84 | 84 | You will need to update pip to the version 9.0.1 or greater. If you are not using |
|
85 | 85 | pip, please inquiry with the maintainers of the package for your package |
|
86 | 86 | manager. |
|
87 | 87 | |
|
88 | 88 | For more information see one of our blog posts: |
|
89 | 89 | |
|
90 | http://blog.jupyter.org/2016/07/08/ipython-5-0-released/ | |
|
90 | https://blog.jupyter.org/2016/07/08/ipython-5-0-released/ | |
|
91 | 91 | |
|
92 | 92 | As well as the following Pull-Request for discussion: |
|
93 | 93 | |
|
94 | 94 | https://github.com/ipython/ipython/pull/9900 |
|
95 | 95 | |
|
96 | 96 | This error does also occur if you are invoking ``setup.py`` directly – which you |
|
97 | 97 | should not – or are using ``easy_install`` If this is the case, use ``pip |
|
98 | 98 | install .`` (instead of ``setup.py install`` , and ``pip install -e .`` instead |
|
99 | 99 | of ``setup.py develop`` If you are depending on IPython as a dependency you may |
|
100 | 100 | also want to have a conditional dependency on IPython depending on the Python |
|
101 | 101 | version:: |
|
102 | 102 | |
|
103 | 103 | install_req = ['ipython'] |
|
104 | 104 | if sys.version_info[0] < 3 and 'bdist_wheel' not in sys.argv: |
|
105 | 105 | install_req.remove('ipython') |
|
106 | 106 | install_req.append('ipython<6') |
|
107 | 107 | |
|
108 | 108 | setup( |
|
109 | 109 | ... |
|
110 | 110 | install_requires=install_req |
|
111 | 111 | ) |
@@ -1,118 +1,118 b'' | |||
|
1 | 1 | .. _introduction: |
|
2 | 2 | |
|
3 | 3 | ===================== |
|
4 | 4 | IPython Documentation |
|
5 | 5 | ===================== |
|
6 | 6 | |
|
7 | 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 of using Python |
|
15 | 15 | interactively. Its main components are: |
|
16 | 16 | |
|
17 | 17 | * A powerful interactive Python shell |
|
18 | 18 | |
|
19 | 19 | |
|
20 | 20 | .. image:: /_images/ipython-6-screenshot.png |
|
21 | 21 | :alt: Screenshot of IPython 6.0 |
|
22 | 22 | :align: center |
|
23 | 23 | |
|
24 | 24 | |
|
25 | * A `Jupyter <http://jupyter.org/>`_ kernel to work with Python code in Jupyter | |
|
25 | * A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter | |
|
26 | 26 | notebooks and other interactive frontends. |
|
27 | 27 | |
|
28 | 28 | The enhanced interactive Python shells and kernel have the following main |
|
29 | 29 | features: |
|
30 | 30 | |
|
31 | 31 | * Comprehensive object introspection. |
|
32 | 32 | |
|
33 | 33 | * Input history, persistent across sessions. |
|
34 | 34 | |
|
35 | 35 | * Caching of output results during a session with automatically generated |
|
36 | 36 | references. |
|
37 | 37 | |
|
38 | 38 | * Extensible tab completion, with support by default for completion of python |
|
39 | 39 | variables and keywords, filenames and function keywords. |
|
40 | 40 | |
|
41 | 41 | * Extensible system of 'magic' commands for controlling the environment and |
|
42 | 42 | performing many tasks related to IPython or the operating system. |
|
43 | 43 | |
|
44 | 44 | * A rich configuration system with easy switching between different setups |
|
45 | 45 | (simpler than changing ``$PYTHONSTARTUP`` environment variables every time). |
|
46 | 46 | |
|
47 | 47 | * Session logging and reloading. |
|
48 | 48 | |
|
49 | 49 | * Extensible syntax processing for special purpose situations. |
|
50 | 50 | |
|
51 | 51 | * Access to the system shell with user-extensible alias system. |
|
52 | 52 | |
|
53 | 53 | * Easily embeddable in other Python programs and GUIs. |
|
54 | 54 | |
|
55 | 55 | * Integrated access to the pdb debugger and the Python profiler. |
|
56 | 56 | |
|
57 | 57 | |
|
58 | 58 | The Command line interface inherits the above functionality and adds |
|
59 | 59 | |
|
60 | 60 | * real multi-line editing thanks to `prompt_toolkit <http://python-prompt-toolkit.readthedocs.io/en/stable/>`_. |
|
61 | 61 | |
|
62 | 62 | * syntax highlighting as you type |
|
63 | 63 | |
|
64 | 64 | * integration with command line editor for a better workflow. |
|
65 | 65 | |
|
66 | 66 | The kernel also has its share of features. When used with a compatible frontend, |
|
67 | 67 | it allows: |
|
68 | 68 | |
|
69 | 69 | * the object to create a rich display of Html, Images, Latex, Sound and |
|
70 | 70 | Video. |
|
71 | 71 | |
|
72 | 72 | * interactive widgets with the use of the `ipywidgets <http://ipywidgets.readthedocs.io/en/stable/>`_ package. |
|
73 | 73 | |
|
74 | 74 | |
|
75 | 75 | This documentation will walk you through most of the features of the IPython |
|
76 | 76 | command line and kernel, as well as describe the internal mechanisms in order |
|
77 | 77 | to improve your Python workflow. |
|
78 | 78 | |
|
79 | 79 | You can find the table of content for this documentation in the left |
|
80 | 80 | sidebar, allowing you to come back to previous sections or skip ahead, if needed. |
|
81 | 81 | |
|
82 | 82 | |
|
83 | 83 | The latest development version is always available from IPython's `GitHub |
|
84 | 84 | repository <http://github.com/ipython/ipython>`_. |
|
85 | 85 | |
|
86 | 86 | |
|
87 | 87 | |
|
88 | 88 | |
|
89 | 89 | .. toctree:: |
|
90 | 90 | :maxdepth: 1 |
|
91 | 91 | :hidden: |
|
92 | 92 | |
|
93 | 93 | self |
|
94 | 94 | overview |
|
95 | 95 | whatsnew/index |
|
96 | 96 | install/index |
|
97 | 97 | interactive/index |
|
98 | 98 | config/index |
|
99 | 99 | development/index |
|
100 | 100 | coredev/index |
|
101 | 101 | api/index |
|
102 | 102 | sphinxext |
|
103 | 103 | about/index |
|
104 | 104 | |
|
105 | 105 | .. seealso:: |
|
106 | 106 | |
|
107 | 107 | `Jupyter documentation <http://jupyter.readthedocs.io/en/latest/>`__ |
|
108 | 108 | The Jupyter documentation provides information about the Notebook code and other Jupyter sub-projects. |
|
109 | 109 | `ipyparallel documentation <http://ipyparallel.readthedocs.io/en/latest/>`__ |
|
110 | 110 | Formerly ``IPython.parallel``. |
|
111 | 111 | |
|
112 | 112 | |
|
113 | 113 | .. only:: html |
|
114 | 114 | |
|
115 | 115 | * :ref:`genindex` |
|
116 | 116 | * :ref:`modindex` |
|
117 | 117 | * :ref:`search` |
|
118 | 118 |
@@ -1,144 +1,144 b'' | |||
|
1 | 1 | .. _install: |
|
2 | 2 | |
|
3 | 3 | Installing IPython |
|
4 | 4 | ================== |
|
5 | 5 | |
|
6 | 6 | |
|
7 | 7 | IPython 6 requires Python ≥ 3.3. IPython 5.x can be installed on Python 2. |
|
8 | 8 | |
|
9 | 9 | |
|
10 | 10 | Quick Install |
|
11 | 11 | ------------- |
|
12 | 12 | |
|
13 | 13 | With ``pip`` already installed : |
|
14 | 14 | |
|
15 | 15 | .. code-block:: bash |
|
16 | 16 | |
|
17 | 17 | $ pip install ipython |
|
18 | 18 | |
|
19 | 19 | This installs IPython as well as its dependencies. |
|
20 | 20 | |
|
21 | 21 | If you want to use IPython with notebooks or the Qt console, you should also |
|
22 | 22 | install Jupyter ``pip install jupyter``. |
|
23 | 23 | |
|
24 | 24 | |
|
25 | 25 | |
|
26 | 26 | Overview |
|
27 | 27 | -------- |
|
28 | 28 | |
|
29 | 29 | This document describes in detail the steps required to install IPython. For a |
|
30 | 30 | few quick ways to get started with package managers or full Python |
|
31 | distributions, see `the install page <http://ipython.org/install.html>`_ of the | |
|
31 | distributions, see `the install page <https://ipython.org/install.html>`_ of the | |
|
32 | 32 | IPython website. |
|
33 | 33 | |
|
34 | 34 | Please let us know if you have problems installing IPython or any of its |
|
35 | 35 | dependencies. |
|
36 | 36 | |
|
37 | 37 | IPython and most dependencies should be installed via :command:`pip`. |
|
38 | 38 | In many scenarios, this is the simplest method of installing Python packages. |
|
39 | 39 | More information about :mod:`pip` can be found on |
|
40 | 40 | `its PyPI page <https://pip.pypa.io>`__. |
|
41 | 41 | |
|
42 | 42 | |
|
43 | 43 | More general information about installing Python packages can be found in |
|
44 | 44 | `Python's documentation <http://docs.python.org>`_. |
|
45 | 45 | |
|
46 | 46 | .. _dependencies: |
|
47 | 47 | |
|
48 | 48 | Dependencies |
|
49 | 49 | ~~~~~~~~~~~~ |
|
50 | 50 | |
|
51 | 51 | IPython relies on a number of other Python packages. Installing using a package |
|
52 | 52 | manager like pip or conda will ensure the necessary packages are installed. |
|
53 | 53 | Manual installation without dependencies is possible, but not recommended. |
|
54 | 54 | The dependencies can be viewed with package manager commands, |
|
55 | 55 | such as :command:`pip show ipython` or :command:`conda info ipython`. |
|
56 | 56 | |
|
57 | 57 | |
|
58 | 58 | Installing IPython itself |
|
59 | 59 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
60 | 60 | |
|
61 | 61 | IPython requires several dependencies to work correctly, it is not recommended |
|
62 | 62 | to install IPython and all its dependencies manually as this can be quite long |
|
63 | 63 | and troublesome. You should use the python package manager ``pip``. |
|
64 | 64 | |
|
65 | 65 | Installation using pip |
|
66 | 66 | ~~~~~~~~~~~~~~~~~~~~~~ |
|
67 | 67 | |
|
68 | 68 | Make sure you have the latest version of :mod:`pip` (the Python package |
|
69 | 69 | manager) installed. If you do not, head to `Pip documentation |
|
70 | 70 | <https://pip.pypa.io/en/stable/installing/>`_ and install :mod:`pip` first. |
|
71 | 71 | |
|
72 | 72 | The quickest way to get up and running with IPython is to install it with pip: |
|
73 | 73 | |
|
74 | 74 | .. code-block:: bash |
|
75 | 75 | |
|
76 | 76 | $ pip install ipython |
|
77 | 77 | |
|
78 | 78 | That's it. |
|
79 | 79 | |
|
80 | 80 | |
|
81 | 81 | Installation from source |
|
82 | 82 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
|
83 | 83 | |
|
84 | 84 | To install IPython from source, |
|
85 | 85 | grab the latest stable tarball of IPython `from PyPI |
|
86 | 86 | <https://pypi.python.org/pypi/ipython>`__. Then do the following: |
|
87 | 87 | |
|
88 | 88 | .. code-block:: bash |
|
89 | 89 | |
|
90 | 90 | tar -xzf ipython-5.1.0.tar.gz |
|
91 | 91 | cd ipython-5.1.0 |
|
92 | 92 | # The [test] extra ensures test dependencies are installed too: |
|
93 | 93 | pip install .[test] |
|
94 | 94 | |
|
95 | 95 | Do not invoke ``setup.py`` directly as this can have undesirable consequences |
|
96 | 96 | for further upgrades. We do not recommend using ``easy_install`` either. |
|
97 | 97 | |
|
98 | 98 | If you are installing to a location (like ``/usr/local``) that requires higher |
|
99 | 99 | permissions, you may need to run the last command with :command:`sudo`. You can |
|
100 | 100 | also install in user specific location by using the ``--user`` flag in |
|
101 | 101 | conjunction with pip. |
|
102 | 102 | |
|
103 | 103 | To run IPython's test suite, use the :command:`iptest` command from outside of |
|
104 | 104 | the IPython source tree: |
|
105 | 105 | |
|
106 | 106 | .. code-block:: bash |
|
107 | 107 | |
|
108 | 108 | $ iptest |
|
109 | 109 | |
|
110 | 110 | .. _devinstall: |
|
111 | 111 | |
|
112 | 112 | Installing the development version |
|
113 | 113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
114 | 114 | |
|
115 | 115 | It is also possible to install the development version of IPython from our |
|
116 | 116 | `Git <http://git-scm.com/>`_ source code repository. To do this you will |
|
117 | 117 | need to have Git installed on your system. |
|
118 | 118 | |
|
119 | 119 | |
|
120 | 120 | Then do: |
|
121 | 121 | |
|
122 | 122 | .. code-block:: bash |
|
123 | 123 | |
|
124 | 124 | $ git clone https://github.com/ipython/ipython.git |
|
125 | 125 | $ cd ipython |
|
126 | 126 | $ pip install -e .[test] |
|
127 | 127 | |
|
128 | 128 | The :command:`pip install -e .` command allows users and developers to follow |
|
129 | 129 | the development branch as it changes by creating links in the right places and |
|
130 | 130 | installing the command line scripts to the appropriate locations. |
|
131 | 131 | |
|
132 | 132 | Then, if you want to update your IPython at any time, do: |
|
133 | 133 | |
|
134 | 134 | .. code-block:: bash |
|
135 | 135 | |
|
136 | 136 | $ git pull |
|
137 | 137 | |
|
138 | 138 | If the dependencies or entrypoints have changed, you may have to run |
|
139 | 139 | |
|
140 | 140 | .. code-block:: bash |
|
141 | 141 | |
|
142 | 142 | $ pip install -e . |
|
143 | 143 | |
|
144 | 144 | again, but this is infrequent. |
@@ -1,31 +1,31 b'' | |||
|
1 | 1 | ======== |
|
2 | 2 | Tutorial |
|
3 | 3 | ======== |
|
4 | 4 | |
|
5 | 5 | This section of IPython documentation will walk you through most of the IPython |
|
6 | 6 | functionality. You do not need to have any deep knowledge of Python to read this |
|
7 | 7 | tutorial, though some sections might make slightly more sense if you have already |
|
8 | 8 | done some work in the classic Python REPL. |
|
9 | 9 | |
|
10 | 10 | .. note:: |
|
11 | 11 | |
|
12 | 12 | Some part of this documentation are more than a decade old so might be out |
|
13 | 13 | of date, we welcome any report of inaccuracy, and Pull Requests that make |
|
14 | 14 | that up to date. |
|
15 | 15 | |
|
16 | 16 | .. toctree:: |
|
17 | 17 | :maxdepth: 2 |
|
18 | 18 | :hidden: |
|
19 | 19 | |
|
20 | 20 | tutorial |
|
21 | 21 | plotting |
|
22 | 22 | reference |
|
23 | 23 | shell |
|
24 | 24 | tips |
|
25 | 25 | python-ipython-diff |
|
26 | 26 | magics |
|
27 | 27 | |
|
28 | 28 | .. seealso:: |
|
29 | 29 | |
|
30 | `A Qt Console for Jupyter <http://jupyter.org/qtconsole/>`__ | |
|
30 | `A Qt Console for Jupyter <https://jupyter.org/qtconsole/>`__ | |
|
31 | 31 | `The Jupyter Notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`__ |
@@ -1,101 +1,101 b'' | |||
|
1 | 1 | .. This (-*- rst -*-) format file contains commonly used link targets |
|
2 | 2 | and name substitutions. It may be included in many files, |
|
3 | 3 | therefore it should only contain link targets and name |
|
4 | 4 | substitutions. Try grepping for "^\.\. _" to find plausible |
|
5 | 5 | candidates for this list. |
|
6 | 6 | |
|
7 | 7 | NOTE: this file must have an extension *opposite* to that of the main reST |
|
8 | 8 | files in the manuals, so that we can include it with ".. include::" |
|
9 | 9 | directives, but without triggering warnings from Sphinx for not being listed |
|
10 | 10 | in any toctree. Since IPython uses .txt for the main files, this one will |
|
11 | 11 | use .rst. |
|
12 | 12 | |
|
13 | 13 | NOTE: reST targets are |
|
14 | 14 | __not_case_sensitive__, so only one target definition is needed for |
|
15 | 15 | ipython, IPython, etc. |
|
16 | 16 | |
|
17 | 17 | NOTE: Some of these were taken from the nipy links compendium. |
|
18 | 18 | |
|
19 | 19 | .. Main IPython links |
|
20 | .. _ipython: http://ipython.org | |
|
21 | .. _`ipython manual`: http://ipython.org/documentation.html | |
|
20 | .. _ipython: https://ipython.org | |
|
21 | .. _`ipython manual`: https://ipython.org/documentation.html | |
|
22 | 22 | .. _ipython_github: http://github.com/ipython/ipython/ |
|
23 | 23 | .. _ipython_github_repo: http://github.com/ipython/ipython/ |
|
24 | .. _ipython_downloads: http://ipython.org/download.html | |
|
24 | .. _ipython_downloads: https://ipython.org/download.html | |
|
25 | 25 | .. _ipython_pypi: http://pypi.python.org/pypi/ipython |
|
26 | 26 | .. _nbviewer: http://nbviewer.ipython.org |
|
27 | 27 | |
|
28 | 28 | .. _ZeroMQ: http://zeromq.org |
|
29 | 29 | |
|
30 | 30 | .. Documentation tools and related links |
|
31 | 31 | .. _graphviz: http://www.graphviz.org |
|
32 | 32 | .. _Sphinx: http://sphinx.pocoo.org |
|
33 | 33 | .. _`Sphinx reST`: http://sphinx.pocoo.org/rest.html |
|
34 | 34 | .. _sampledoc: http://matplotlib.org/sampledoc |
|
35 | 35 | .. _reST: http://docutils.sourceforge.net/rst.html |
|
36 | 36 | .. _docutils: http://docutils.sourceforge.net |
|
37 | 37 | .. _lyx: http://www.lyx.org |
|
38 | 38 | .. _pep8: http://www.python.org/dev/peps/pep-0008 |
|
39 | 39 | .. _numpy_coding_guide: https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt |
|
40 | 40 | |
|
41 | 41 | .. Licenses |
|
42 | 42 | .. _GPL: http://www.gnu.org/licenses/gpl.html |
|
43 | 43 | .. _BSD: http://www.opensource.org/licenses/bsd-license.php |
|
44 | 44 | .. _LGPL: http://www.gnu.org/copyleft/lesser.html |
|
45 | 45 | |
|
46 | 46 | .. Other python projects |
|
47 | 47 | .. _numpy: http://numpy.scipy.org |
|
48 | 48 | .. _scipy: http://www.scipy.org |
|
49 | 49 | .. _scipy_conference: http://conference.scipy.org |
|
50 | 50 | .. _matplotlib: http://matplotlib.org |
|
51 | 51 | .. _pythonxy: https://code.google.com/p/pythonxy/ |
|
52 | 52 | .. _ETS: http://code.enthought.com/projects/tool-suite.php |
|
53 | 53 | .. _EPD: http://www.enthought.com/products/epd.php |
|
54 | 54 | .. _python: http://www.python.org |
|
55 | 55 | .. _mayavi: http://code.enthought.com/projects/mayavi |
|
56 | 56 | .. _sympy: http://code.google.com/p/sympy |
|
57 | 57 | .. _sage: http://sagemath.org |
|
58 | 58 | .. _pydy: http://code.google.com/p/pydy |
|
59 | 59 | .. _vpython: http://vpython.org |
|
60 | 60 | .. _cython: http://cython.org |
|
61 | 61 | .. _software carpentry: http://software-carpentry.org |
|
62 | 62 | |
|
63 | 63 | .. Not so python scientific computing tools |
|
64 | 64 | .. _matlab: http://www.mathworks.com |
|
65 | 65 | .. _VTK: http://vtk.org |
|
66 | 66 | |
|
67 | 67 | .. Other organizations |
|
68 | 68 | .. _enthought: http://www.enthought.com |
|
69 | 69 | .. _kitware: http://www.kitware.com |
|
70 | 70 | .. _netlib: http://netlib.org |
|
71 | 71 | |
|
72 | 72 | .. Other tools and projects |
|
73 | 73 | .. _indefero: http://www.indefero.net |
|
74 | 74 | .. _git: http://git-scm.com |
|
75 | 75 | .. _github: http://github.com |
|
76 | 76 | .. _Markdown: http://daringfireball.net/projects/markdown/syntax |
|
77 | 77 | |
|
78 | 78 | .. _Running Code in the IPython Notebook: notebook_p1_ |
|
79 | 79 | .. _notebook_p1: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%25201%2520-%2520Running%2520Code.ipynb |
|
80 | 80 | |
|
81 | 81 | .. _Basic Output: notebook_p2_ |
|
82 | 82 | .. _notebook_p2: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%202%20-%20Basic%20Output.ipynb |
|
83 | 83 | |
|
84 | 84 | .. _Plotting with Matplotlib: notebook_p3_ |
|
85 | 85 | .. _notebook_p3: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%203%20-%20Plotting%20with%20Matplotlib.ipynb |
|
86 | 86 | |
|
87 | 87 | .. _Markdown Cells: notebook_p4_ |
|
88 | 88 | .. _notebook_p4: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%204%20-%20Markdown%20Cells.ipynb |
|
89 | 89 | |
|
90 | 90 | .. _Rich Display System: notebook_p5_ |
|
91 | 91 | .. _notebook_p5: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%205%20-%20Rich%20Display%20System.ipynb |
|
92 | 92 | |
|
93 | 93 | .. _notebook_custom_display: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Custom%20Display%20Logic.ipynb |
|
94 | 94 | |
|
95 | 95 | .. _Frontend/Kernel Model: notebook_two_proc_ |
|
96 | 96 | .. _notebook_two_proc: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Frontend-Kernel%20Model.ipynb |
|
97 | 97 | |
|
98 | 98 | .. _Cell magics: notebook_cell_magics_ |
|
99 | 99 | .. _notebook_cell_magics: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Cell%20Magics.ipynb |
|
100 | 100 | |
|
101 | 101 |
@@ -1,257 +1,257 b'' | |||
|
1 | 1 | .. _overview: |
|
2 | 2 | |
|
3 | 3 | ======== |
|
4 | 4 | Overview |
|
5 | 5 | ======== |
|
6 | 6 | |
|
7 | 7 | One of Python's most useful features is its interactive interpreter. |
|
8 | 8 | It allows for very fast testing of ideas without the overhead of |
|
9 | 9 | creating test files as is typical in most programming languages. |
|
10 | 10 | However, the interpreter supplied with the standard Python distribution |
|
11 | 11 | is somewhat limited for extended interactive use. |
|
12 | 12 | |
|
13 | 13 | The goal of IPython is to create a comprehensive environment for |
|
14 | 14 | interactive and exploratory computing. To support this goal, IPython |
|
15 | 15 | has three main components: |
|
16 | 16 | |
|
17 | 17 | * An enhanced interactive Python shell. |
|
18 | 18 | |
|
19 | 19 | * A decoupled :ref:`two-process communication model <ipythonzmq>`, which |
|
20 | 20 | allows for multiple clients to connect to a computation kernel, most notably |
|
21 | 21 | the web-based notebook provided with `Jupyter <https://jupyter.org>`_. |
|
22 | 22 | |
|
23 | 23 | * An architecture for interactive parallel computing now part of the |
|
24 | 24 | `ipyparallel` package. |
|
25 | 25 | |
|
26 | 26 | All of IPython is open source (released under the revised BSD license). |
|
27 | 27 | |
|
28 | 28 | Enhanced interactive Python shell |
|
29 | 29 | ================================= |
|
30 | 30 | |
|
31 | 31 | IPython's interactive shell (:command:`ipython`), has the following goals, |
|
32 | 32 | amongst others: |
|
33 | 33 | |
|
34 | 34 | 1. Provide an interactive shell superior to Python's default. IPython |
|
35 | 35 | has many features for tab-completion, object introspection, system shell |
|
36 | 36 | access, command history retrieval across sessions, and its own special |
|
37 | 37 | command system for adding functionality when working interactively. It |
|
38 | 38 | tries to be a very efficient environment both for Python code development |
|
39 | 39 | and for exploration of problems using Python objects (in situations like |
|
40 | 40 | data analysis). |
|
41 | 41 | |
|
42 | 42 | 2. Serve as an embeddable, ready to use interpreter for your own |
|
43 | 43 | programs. An interactive IPython shell can be started with a single call |
|
44 | 44 | from inside another program, providing access to the current namespace. |
|
45 | 45 | This can be very useful both for debugging purposes and for situations |
|
46 | 46 | where a blend of batch-processing and interactive exploration are needed. |
|
47 | 47 | |
|
48 | 48 | 3. Offer a flexible framework which can be used as the base |
|
49 | 49 | environment for working with other systems, with Python as the underlying |
|
50 | 50 | bridge language. Specifically scientific environments like Mathematica, |
|
51 | 51 | IDL and Matlab inspired its design, but similar ideas can be |
|
52 | 52 | useful in many fields. |
|
53 | 53 | |
|
54 | 54 | 4. Allow interactive testing of threaded graphical toolkits. IPython |
|
55 | 55 | has support for interactive, non-blocking control of GTK, Qt, WX, GLUT, and |
|
56 | 56 | OS X applications via special threading flags. The normal Python |
|
57 | 57 | shell can only do this for Tkinter applications. |
|
58 | 58 | |
|
59 | 59 | Main features of the interactive shell |
|
60 | 60 | -------------------------------------- |
|
61 | 61 | |
|
62 | 62 | * Dynamic object introspection. One can access docstrings, function |
|
63 | 63 | definition prototypes, source code, source files and other details |
|
64 | 64 | of any object accessible to the interpreter with a single |
|
65 | 65 | keystroke (:samp:`?`, and using :samp:`??` provides additional detail). |
|
66 | 66 | |
|
67 | 67 | * Searching through modules and namespaces with :samp:`*` wildcards, both |
|
68 | 68 | when using the :samp:`?` system and via the :samp:`%psearch` command. |
|
69 | 69 | |
|
70 | 70 | * Completion in the local namespace, by typing :kbd:`TAB` at the prompt. |
|
71 | 71 | This works for keywords, modules, methods, variables and files in the |
|
72 | 72 | current directory. This is supported via the ``prompt_toolkit`` library. |
|
73 | 73 | Custom completers can be implemented easily for different purposes |
|
74 | 74 | (system commands, magic arguments etc.) |
|
75 | 75 | |
|
76 | 76 | * Numbered input/output prompts with command history (persistent |
|
77 | 77 | across sessions and tied to each profile), full searching in this |
|
78 | 78 | history and caching of all input and output. |
|
79 | 79 | |
|
80 | 80 | * User-extensible 'magic' commands. A set of commands prefixed with |
|
81 | 81 | :samp:`%` or :samp:`%%` is available for controlling IPython itself and provides |
|
82 | 82 | directory control, namespace information and many aliases to |
|
83 | 83 | common system shell commands. |
|
84 | 84 | |
|
85 | 85 | * Alias facility for defining your own system aliases. |
|
86 | 86 | |
|
87 | 87 | * Complete system shell access. Lines starting with :samp:`!` are passed |
|
88 | 88 | directly to the system shell, and using :samp:`!!` or :samp:`var = !cmd` |
|
89 | 89 | captures shell output into python variables for further use. |
|
90 | 90 | |
|
91 | 91 | * The ability to expand python variables when calling the system shell. In a |
|
92 | 92 | shell command, any python variable prefixed with :samp:`$` is expanded. A |
|
93 | 93 | double :samp:`$$` allows passing a literal :samp:`$` to the shell (for access |
|
94 | 94 | to shell and environment variables like :envvar:`PATH`). |
|
95 | 95 | |
|
96 | 96 | * Filesystem navigation, via a magic :samp:`%cd` command, along with a |
|
97 | 97 | persistent bookmark system (using :samp:`%bookmark`) for fast access to |
|
98 | 98 | frequently visited directories. |
|
99 | 99 | |
|
100 | 100 | * A lightweight persistence framework via the :samp:`%store` command, which |
|
101 | 101 | allows you to save arbitrary Python variables. These get restored |
|
102 | 102 | when you run the :samp:`%store -r` command. |
|
103 | 103 | |
|
104 | 104 | * Automatic indentation and highlighting of code as you type (through the |
|
105 | 105 | `prompt_toolkit` library). |
|
106 | 106 | |
|
107 | 107 | * Macro system for quickly re-executing multiple lines of previous |
|
108 | 108 | input with a single name via the :samp:`%macro` command. Macros can be |
|
109 | 109 | stored persistently via :samp:`%store` and edited via :samp:`%edit`. |
|
110 | 110 | |
|
111 | 111 | * Session logging (you can then later use these logs as code in your |
|
112 | 112 | programs). Logs can optionally timestamp all input, and also store |
|
113 | 113 | session output (marked as comments, so the log remains valid |
|
114 | 114 | Python source code). |
|
115 | 115 | |
|
116 | 116 | * Session restoring: logs can be replayed to restore a previous |
|
117 | 117 | session to the state where you left it. |
|
118 | 118 | |
|
119 | 119 | * Verbose and colored exception traceback printouts. Easier to parse |
|
120 | 120 | visually, and in verbose mode they produce a lot of useful |
|
121 | 121 | debugging information (basically a terminal version of the cgitb |
|
122 | 122 | module). |
|
123 | 123 | |
|
124 | 124 | * Auto-parentheses via the :samp:`%autocall` command: callable objects can be |
|
125 | 125 | executed without parentheses: :samp:`sin 3` is automatically converted to |
|
126 | 126 | :samp:`sin(3)` |
|
127 | 127 | |
|
128 | 128 | * Auto-quoting: using :samp:`,`, or :samp:`;` as the first character forces |
|
129 | 129 | auto-quoting of the rest of the line: :samp:`,my_function a b` becomes |
|
130 | 130 | automatically :samp:`my_function("a","b")`, while :samp:`;my_function a b` |
|
131 | 131 | becomes :samp:`my_function("a b")`. |
|
132 | 132 | |
|
133 | 133 | * Extensible input syntax. You can define filters that pre-process |
|
134 | 134 | user input to simplify input in special situations. This allows |
|
135 | 135 | for example pasting multi-line code fragments which start with |
|
136 | 136 | :samp:`>>>` or :samp:`...` such as those from other python sessions or the |
|
137 | 137 | standard Python documentation. |
|
138 | 138 | |
|
139 | 139 | * Flexible :ref:`configuration system <config_overview>`. It uses a |
|
140 | 140 | configuration file which allows permanent setting of all command-line |
|
141 | 141 | options, module loading, code and file execution. The system allows |
|
142 | 142 | recursive file inclusion, so you can have a base file with defaults and |
|
143 | 143 | layers which load other customizations for particular projects. |
|
144 | 144 | |
|
145 | 145 | * Embeddable. You can call IPython as a python shell inside your own |
|
146 | 146 | python programs. This can be used both for debugging code or for |
|
147 | 147 | providing interactive abilities to your programs with knowledge |
|
148 | 148 | about the local namespaces (very useful in debugging and data |
|
149 | 149 | analysis situations). |
|
150 | 150 | |
|
151 | 151 | * Easy debugger access. You can set IPython to call up an enhanced version of |
|
152 | 152 | the Python debugger (pdb) every time there is an uncaught exception. This |
|
153 | 153 | drops you inside the code which triggered the exception with all the data |
|
154 | 154 | live and it is possible to navigate the stack to rapidly isolate the source |
|
155 | 155 | of a bug. The :samp:`%run` magic command (with the :samp:`-d` option) can run |
|
156 | 156 | any script under pdb's control, automatically setting initial breakpoints for |
|
157 | 157 | you. This version of pdb has IPython-specific improvements, including |
|
158 | 158 | tab-completion and traceback coloring support. For even easier debugger |
|
159 | 159 | access, try :samp:`%debug` after seeing an exception. |
|
160 | 160 | |
|
161 | 161 | * Profiler support. You can run single statements (similar to |
|
162 | 162 | :samp:`profile.run()`) or complete programs under the profiler's control. |
|
163 | 163 | While this is possible with standard cProfile or profile modules, |
|
164 | 164 | IPython wraps this functionality with magic commands (see :samp:`%prun` |
|
165 | 165 | and :samp:`%run -p`) convenient for rapid interactive work. |
|
166 | 166 | |
|
167 | 167 | * Simple timing information. You can use the :samp:`%timeit` command to get |
|
168 | 168 | the execution time of a Python statement or expression. This machinery is |
|
169 | 169 | intelligent enough to do more repetitions for commands that finish very |
|
170 | 170 | quickly in order to get a better estimate of their running time. |
|
171 | 171 | |
|
172 | 172 | .. sourcecode:: ipython |
|
173 | 173 | |
|
174 | 174 | In [1]: %timeit 1+1 |
|
175 | 175 | 10000000 loops, best of 3: 25.5 ns per loop |
|
176 | 176 | |
|
177 | 177 | In [2]: %timeit [math.sin(x) for x in range(5000)] |
|
178 | 178 | 1000 loops, best of 3: 719 µs per loop |
|
179 | 179 | |
|
180 | 180 | .. |
|
181 | 181 | |
|
182 | 182 | To get the timing information for more than one expression, use the |
|
183 | 183 | :samp:`%%timeit` cell magic command. |
|
184 | 184 | |
|
185 | 185 | |
|
186 | 186 | * Doctest support. The special :samp:`%doctest_mode` command toggles a mode |
|
187 | 187 | to use doctest-compatible prompts, so you can use IPython sessions as |
|
188 | 188 | doctest code. By default, IPython also allows you to paste existing |
|
189 | 189 | doctests, and strips out the leading :samp:`>>>` and :samp:`...` prompts in |
|
190 | 190 | them. |
|
191 | 191 | |
|
192 | 192 | .. _ipythonzmq: |
|
193 | 193 | |
|
194 | 194 | Decoupled two-process model |
|
195 | 195 | ============================== |
|
196 | 196 | |
|
197 | 197 | IPython has abstracted and extended the notion of a traditional |
|
198 | 198 | *Read-Evaluate-Print Loop* (REPL) environment by decoupling the *evaluation* |
|
199 | 199 | into its own process. We call this process a **kernel**: it receives execution |
|
200 | 200 | instructions from clients and communicates the results back to them. |
|
201 | 201 | |
|
202 | 202 | This decoupling allows us to have several clients connected to the same |
|
203 | 203 | kernel, and even allows clients and kernels to live on different machines. |
|
204 | 204 | With the exclusion of the traditional single process terminal-based IPython |
|
205 | 205 | (what you start if you run ``ipython`` without any subcommands), all |
|
206 | 206 | other IPython machinery uses this two-process model. Most of this is now part |
|
207 | 207 | of the `Jupyter` project, which includes ``jupyter console``, ``jupyter |
|
208 | 208 | qtconsole``, and ``jupyter notebook``. |
|
209 | 209 | |
|
210 | 210 | As an example, this means that when you start ``jupyter qtconsole``, you're |
|
211 | 211 | really starting two processes, a kernel and a Qt-based client can send |
|
212 | 212 | commands to and receive results from that kernel. If there is already a kernel |
|
213 | 213 | running that you want to connect to, you can pass the ``--existing`` flag |
|
214 | 214 | which will skip initiating a new kernel and connect to the most recent kernel, |
|
215 | 215 | instead. To connect to a specific kernel once you have several kernels |
|
216 | 216 | running, use the ``%connect_info`` magic to get the unique connection file, |
|
217 | 217 | which will be something like ``--existing kernel-19732.json`` but with |
|
218 | 218 | different numbers which correspond to the Process ID of the kernel. |
|
219 | 219 | |
|
220 | 220 | You can read more about using `jupyter qtconsole |
|
221 | <http://jupyter.org/qtconsole/>`_, and | |
|
221 | <https://jupyter.org/qtconsole/>`_, and | |
|
222 | 222 | `jupyter notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`_. There |
|
223 | 223 | is also a :ref:`message spec <messaging>` which documents the protocol for |
|
224 | 224 | communication between kernels |
|
225 | 225 | and clients. |
|
226 | 226 | |
|
227 | 227 | .. seealso:: |
|
228 | 228 | |
|
229 | 229 | `Frontend/Kernel Model`_ example notebook |
|
230 | 230 | |
|
231 | 231 | |
|
232 | 232 | Interactive parallel computing |
|
233 | 233 | ============================== |
|
234 | 234 | |
|
235 | 235 | |
|
236 | 236 | This functionality is optional and now part of the `ipyparallel |
|
237 | 237 | <http://ipyparallel.readthedocs.io/>`_ project. |
|
238 | 238 | |
|
239 | 239 | Portability and Python requirements |
|
240 | 240 | ----------------------------------- |
|
241 | 241 | |
|
242 | 242 | Version 7.0+ supports Python 3.4 and higher. |
|
243 | 243 | Versions 6.x support Python 3.3 and higher. |
|
244 | 244 | Versions 2.0 to 5.x work with Python 2.7.x releases and Python 3.3 and higher. |
|
245 | 245 | Version 1.0 additionally worked with Python 2.6 and 3.2. |
|
246 | 246 | Version 0.12 was the first version to fully support Python 3. |
|
247 | 247 | |
|
248 | 248 | IPython is known to work on the following operating systems: |
|
249 | 249 | |
|
250 | 250 | * Linux |
|
251 | 251 | * Most other Unix-like OSs (AIX, Solaris, BSD, etc.) |
|
252 | 252 | * Mac OS X |
|
253 | 253 | * Windows (CygWin, XP, Vista, etc.) |
|
254 | 254 | |
|
255 | 255 | See :ref:`here <install_index>` for instructions on how to install IPython. |
|
256 | 256 | |
|
257 | 257 | .. include:: links.txt |
@@ -1,1607 +1,1607 b'' | |||
|
1 | 1 | .. _issues_list_200: |
|
2 | 2 | |
|
3 | 3 | Issues closed in the 2.x development cycle |
|
4 | 4 | ========================================== |
|
5 | 5 | |
|
6 | 6 | Issues closed in 2.4.1 |
|
7 | 7 | ---------------------- |
|
8 | 8 | |
|
9 | 9 | GitHub stats for 2014/11/01 - 2015/01/30 |
|
10 | 10 | |
|
11 | 11 | .. note:: |
|
12 | 12 | |
|
13 | 13 | IPython 2.4.0 was released without a few of the backports listed below. |
|
14 | 14 | 2.4.1 has the correct patches intended for 2.4.0. |
|
15 | 15 | |
|
16 | 16 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
17 | 17 | |
|
18 | 18 | The following 7 authors contributed 35 commits. |
|
19 | 19 | |
|
20 | 20 | * Benjamin Ragan-Kelley |
|
21 | 21 | * Carlos Cordoba |
|
22 | 22 | * Damon Allen |
|
23 | 23 | * Jessica B. Hamrick |
|
24 | 24 | * Mateusz Paprocki |
|
25 | 25 | * Peter Würtz |
|
26 | 26 | * Thomas Kluyver |
|
27 | 27 | |
|
28 | 28 | We closed 10 issues and merged 6 pull requests; |
|
29 | 29 | this is the full list (generated with the script |
|
30 | 30 | :file:`tools/github_stats.py`): |
|
31 | 31 | |
|
32 | 32 | Pull Requests (10): |
|
33 | 33 | |
|
34 | 34 | * :ghpull:`7106`: Changed the display order of rich output in the live notebook. |
|
35 | 35 | * :ghpull:`6878`: Update pygments monkeypatch for compatibility with Pygments 2.0 |
|
36 | 36 | * :ghpull:`6778`: backport nbformat v4 to 2.x |
|
37 | 37 | * :ghpull:`6761`: object_info_reply field is oname, not name |
|
38 | 38 | * :ghpull:`6653`: Fix IPython.utils.ansispan() to ignore stray [0m |
|
39 | 39 | * :ghpull:`6706`: Correctly display prompt numbers that are ``None`` |
|
40 | 40 | * :ghpull:`6634`: don't use contains in SelectWidget item_query |
|
41 | 41 | * :ghpull:`6593`: note how to start the qtconsole |
|
42 | 42 | * :ghpull:`6281`: more minor fixes to release scripts |
|
43 | 43 | * :ghpull:`5458`: Add support for PyQt5. |
|
44 | 44 | |
|
45 | 45 | Issues (6): |
|
46 | 46 | |
|
47 | 47 | * :ghissue:`7272`: qtconsole problems with pygments |
|
48 | 48 | * :ghissue:`7049`: Cause TypeError: 'NoneType' object is not callable in qtconsole |
|
49 | 49 | * :ghissue:`6877`: Qt console doesn't work with pygments 2.0rc1 |
|
50 | 50 | * :ghissue:`6689`: Problem with string containing two or more question marks |
|
51 | 51 | * :ghissue:`6702`: Cell numbering after ``ClearOutput`` preprocessor |
|
52 | 52 | * :ghissue:`6633`: selectwidget doesn't display 1 as a selection choice when passed in as a member of values list |
|
53 | 53 | |
|
54 | 54 | |
|
55 | 55 | Issues closed in 2.3.1 |
|
56 | 56 | ---------------------- |
|
57 | 57 | |
|
58 | 58 | Just one bugfix: fixed bad CRCRLF line-endings in notebooks on Windows |
|
59 | 59 | |
|
60 | 60 | Pull Requests (1): |
|
61 | 61 | |
|
62 | 62 | * :ghpull:`6911`: don't use text mode in mkstemp |
|
63 | 63 | |
|
64 | 64 | Issues (1): |
|
65 | 65 | |
|
66 | 66 | * :ghissue:`6599`: Notebook.ipynb CR+LF turned into CR+CR+LF |
|
67 | 67 | |
|
68 | 68 | |
|
69 | 69 | Issues closed in 2.3.0 |
|
70 | 70 | ---------------------- |
|
71 | 71 | |
|
72 | 72 | GitHub stats for 2014/08/06 - 2014/10/01 |
|
73 | 73 | |
|
74 | 74 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
75 | 75 | |
|
76 | 76 | The following 6 authors contributed 31 commits. |
|
77 | 77 | |
|
78 | 78 | * Benjamin Ragan-Kelley |
|
79 | 79 | * David Hirschfeld |
|
80 | 80 | * Eric Firing |
|
81 | 81 | * Jessica B. Hamrick |
|
82 | 82 | * Matthias Bussonnier |
|
83 | 83 | * Thomas Kluyver |
|
84 | 84 | |
|
85 | 85 | We closed 16 issues and merged 9 pull requests; |
|
86 | 86 | this is the full list (generated with the script |
|
87 | 87 | :file:`tools/github_stats.py`): |
|
88 | 88 | |
|
89 | 89 | Pull Requests (16): |
|
90 | 90 | |
|
91 | 91 | * :ghpull:`6587`: support ``%matplotlib qt5`` and ``%matplotlib nbagg`` |
|
92 | 92 | * :ghpull:`6583`: Windows symlink test fixes |
|
93 | 93 | * :ghpull:`6585`: fixes :ghissue:`6473` |
|
94 | 94 | * :ghpull:`6581`: Properly mock winreg functions for test |
|
95 | 95 | * :ghpull:`6556`: Use some more informative asserts in inprocess kernel tests |
|
96 | 96 | * :ghpull:`6514`: Fix for copying metadata flags |
|
97 | 97 | * :ghpull:`6453`: Copy file metadata in atomic save |
|
98 | 98 | * :ghpull:`6480`: only compare host:port in Websocket.check_origin |
|
99 | 99 | * :ghpull:`6483`: Trim anchor link in heading cells, fixes :ghissue:`6324` |
|
100 | 100 | * :ghpull:`6410`: Fix relative import in appnope |
|
101 | 101 | * :ghpull:`6395`: update mathjax CDN url in nbconvert template |
|
102 | 102 | * :ghpull:`6269`: Implement atomic save |
|
103 | 103 | * :ghpull:`6374`: Rename ``abort_queues`` --> ``_abort_queues`` |
|
104 | 104 | * :ghpull:`6321`: Use appnope in qt and wx gui support from the terminal; closes :ghissue:`6189` |
|
105 | 105 | * :ghpull:`6318`: use write_error instead of get_error_html |
|
106 | 106 | * :ghpull:`6303`: Fix error message when failing to load a notebook |
|
107 | 107 | |
|
108 | 108 | Issues (9): |
|
109 | 109 | |
|
110 | 110 | * :ghissue:`6057`: ``%matplotlib`` + qt5 |
|
111 | 111 | * :ghissue:`6518`: Test failure in atomic save on Windows |
|
112 | 112 | * :ghissue:`6473`: Switching between "Raw Cell Format" and "Edit Metadata" does not work |
|
113 | 113 | * :ghissue:`6405`: Creating a notebook should respect directory permissions; saving should respect prior permissions |
|
114 | 114 | * :ghissue:`6324`: Anchors in Heading don't work. |
|
115 | 115 | * :ghissue:`6409`: No module named '_dummy' |
|
116 | 116 | * :ghissue:`6392`: Mathjax library link broken |
|
117 | 117 | * :ghissue:`6329`: IPython Notebook Server URL now requires "tree" at the end of the URL? (version 2.2) |
|
118 | 118 | * :ghissue:`6189`: ipython console freezes for increasing no of seconds in %pylab mode |
|
119 | 119 | |
|
120 | 120 | Issues closed in 2.2.0 |
|
121 | 121 | ---------------------- |
|
122 | 122 | |
|
123 | 123 | GitHub stats for 2014/05/21 - 2014/08/06 (tag: rel-2.1.0) |
|
124 | 124 | |
|
125 | 125 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
126 | 126 | |
|
127 | 127 | The following 13 authors contributed 36 commits. |
|
128 | 128 | |
|
129 | 129 | * Adam Hodgen |
|
130 | 130 | * Benjamin Ragan-Kelley |
|
131 | 131 | * Björn Grüning |
|
132 | 132 | * Dara Adib |
|
133 | 133 | * Eric Galloway |
|
134 | 134 | * Jonathan Frederic |
|
135 | 135 | * Kyle Kelley |
|
136 | 136 | * Matthias Bussonnier |
|
137 | 137 | * Paul Ivanov |
|
138 | 138 | * Shayne Hodge |
|
139 | 139 | * Steven Anton |
|
140 | 140 | * Thomas Kluyver |
|
141 | 141 | * Zahari |
|
142 | 142 | |
|
143 | 143 | We closed 23 issues and merged 11 pull requests; |
|
144 | 144 | this is the full list (generated with the script |
|
145 | 145 | :file:`tools/github_stats.py`): |
|
146 | 146 | |
|
147 | 147 | Pull Requests (23): |
|
148 | 148 | |
|
149 | 149 | * :ghpull:`6279`: minor updates to release scripts |
|
150 | 150 | * :ghpull:`6273`: Upgrade default mathjax version. |
|
151 | 151 | * :ghpull:`6249`: always use HTTPS getting mathjax from CDN |
|
152 | 152 | * :ghpull:`6114`: update hmac signature comparison |
|
153 | 153 | * :ghpull:`6195`: Close handle on new temporary files before returning filename |
|
154 | 154 | * :ghpull:`6143`: pin tornado to < 4 on travis js tests |
|
155 | 155 | * :ghpull:`6134`: remove rackcdn https workaround for mathjax cdn |
|
156 | 156 | * :ghpull:`6120`: Only allow iframe embedding on same origin. |
|
157 | 157 | * :ghpull:`6117`: Remove / from route of TreeRedirectHandler. |
|
158 | 158 | * :ghpull:`6105`: only set allow_origin_pat if defined |
|
159 | 159 | * :ghpull:`6102`: Add newline if missing to end of script magic cell |
|
160 | 160 | * :ghpull:`6077`: allow unicode keys in dicts in json_clean |
|
161 | 161 | * :ghpull:`6061`: make CORS configurable |
|
162 | 162 | * :ghpull:`6081`: don’t modify dict keys while iterating through them |
|
163 | 163 | * :ghpull:`5803`: unify visual line handling |
|
164 | 164 | * :ghpull:`6005`: Changed right arrow key movement function to mirror left arrow key |
|
165 | 165 | * :ghpull:`6029`: add pickleutil.PICKLE_PROTOCOL |
|
166 | 166 | * :ghpull:`6003`: Set kernel_id before checking websocket |
|
167 | 167 | * :ghpull:`5994`: Fix ssh tunnel for Python3 |
|
168 | 168 | * :ghpull:`5973`: Do not create checkpoint_dir relative to current dir |
|
169 | 169 | * :ghpull:`5933`: fix qt_loader import hook signature |
|
170 | 170 | * :ghpull:`5944`: Markdown rendering bug fix. |
|
171 | 171 | * :ghpull:`5917`: use shutil.move instead of os.rename |
|
172 | 172 | |
|
173 | 173 | Issues (11): |
|
174 | 174 | |
|
175 | 175 | * :ghissue:`6246`: Include MathJax by default or access the CDN over a secure connection |
|
176 | 176 | * :ghissue:`5525`: Websocket origin check fails when used with Apache WS proxy |
|
177 | 177 | * :ghissue:`5901`: 2 test failures in Python 3.4 in parallel group |
|
178 | 178 | * :ghissue:`5926`: QT console: text selection cannot be made from left to right with keyboard |
|
179 | 179 | * :ghissue:`5998`: use_dill does not work in Python 3.4 |
|
180 | 180 | * :ghissue:`5964`: Traceback on Qt console exit |
|
181 | 181 | * :ghissue:`5787`: Error in Notebook-Generated latex (nbconvert) |
|
182 | 182 | * :ghissue:`5950`: qtconsole truncates help |
|
183 | 183 | * :ghissue:`5943`: 2.x: notebook fails to load when using HTML comments |
|
184 | 184 | * :ghissue:`5932`: Qt ImportDenier Does Not Adhere to PEP302 |
|
185 | 185 | * :ghissue:`5898`: OSError when moving configuration file |
|
186 | 186 | |
|
187 | 187 | Issues closed in 2.1.0 |
|
188 | 188 | ---------------------- |
|
189 | 189 | |
|
190 | 190 | GitHub stats for 2014/04/02 - 2014/05/21 (since 2.0.0) |
|
191 | 191 | |
|
192 | 192 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
193 | 193 | |
|
194 | 194 | The following 35 authors contributed 145 commits. |
|
195 | 195 | |
|
196 | 196 | * Adrian Price-Whelan |
|
197 | 197 | * Aron Ahmadia |
|
198 | 198 | * Benjamin Ragan-Kelley |
|
199 | 199 | * Benjamin Schultz |
|
200 | 200 | * Björn Linse |
|
201 | 201 | * Blake Griffith |
|
202 | 202 | * chebee7i |
|
203 | 203 | * Damián Avila |
|
204 | 204 | * Dav Clark |
|
205 | 205 | * dexterdev |
|
206 | 206 | * Erik Tollerud |
|
207 | 207 | * Grzegorz Rożniecki |
|
208 | 208 | * Jakob Gager |
|
209 | 209 | * jdavidheiser |
|
210 | 210 | * Jessica B. Hamrick |
|
211 | 211 | * Jim Garrison |
|
212 | 212 | * Jonathan Frederic |
|
213 | 213 | * Matthias Bussonnier |
|
214 | 214 | * Maximilian Albert |
|
215 | 215 | * Mohan Raj Rajamanickam |
|
216 | 216 | * ncornette |
|
217 | 217 | * Nikolay Koldunov |
|
218 | 218 | * Nile Geisinger |
|
219 | 219 | * Pankaj Pandey |
|
220 | 220 | * Paul Ivanov |
|
221 | 221 | * Pierre Haessig |
|
222 | 222 | * Raffaele De Feo |
|
223 | 223 | * Renaud Richardet |
|
224 | 224 | * Spencer Nelson |
|
225 | 225 | * Steve Chan |
|
226 | 226 | * sunny |
|
227 | 227 | * Susan Tan |
|
228 | 228 | * Thomas Kluyver |
|
229 | 229 | * Yaroslav Halchenko |
|
230 | 230 | * zah |
|
231 | 231 | |
|
232 | 232 | We closed a total of 129 issues, 92 pull requests and 37 regular issues; |
|
233 | 233 | this is the full list (generated with the script |
|
234 | 234 | :file:`tools/github_stats.py --milestone 2.1`): |
|
235 | 235 | |
|
236 | 236 | Pull Requests (92): |
|
237 | 237 | |
|
238 | 238 | * :ghpull:`5871`: specify encoding in msgpack.unpackb |
|
239 | 239 | * :ghpull:`5869`: Catch more errors from clipboard access on Windows |
|
240 | 240 | * :ghpull:`5866`: Make test robust against differences in line endings |
|
241 | 241 | * :ghpull:`5605`: Two cell toolbar fixes. |
|
242 | 242 | * :ghpull:`5843`: remove Firefox-specific CSS workaround |
|
243 | 243 | * :ghpull:`5845`: Pass Windows interrupt event to kernels as an environment variable |
|
244 | 244 | * :ghpull:`5835`: fix typo in v2 convert |
|
245 | 245 | * :ghpull:`5841`: Fix writing history with output to a file in Python 2 |
|
246 | 246 | * :ghpull:`5842`: fix typo in nbconvert help |
|
247 | 247 | * :ghpull:`5846`: Fix typos in Cython example |
|
248 | 248 | * :ghpull:`5839`: Close graphics dev in finally clause |
|
249 | 249 | * :ghpull:`5837`: pass on install docs |
|
250 | 250 | * :ghpull:`5832`: Fixed example to work with python3 |
|
251 | 251 | * :ghpull:`5826`: allow notebook tour instantiation to fail |
|
252 | 252 | * :ghpull:`5560`: Minor expansion of Cython example |
|
253 | 253 | * :ghpull:`5818`: interpret any exception in getcallargs as not callable |
|
254 | 254 | * :ghpull:`5816`: Add output to IPython directive when in verbatim mode. |
|
255 | 255 | * :ghpull:`5822`: Don't overwrite widget description in interact |
|
256 | 256 | * :ghpull:`5782`: Silence exception thrown by completer when dir() does not return a list |
|
257 | 257 | * :ghpull:`5807`: Drop log level to info for Qt console shutdown |
|
258 | 258 | * :ghpull:`5814`: Remove -i options from mv, rm and cp aliases |
|
259 | 259 | * :ghpull:`5812`: Fix application name when printing subcommand help. |
|
260 | 260 | * :ghpull:`5804`: remove an inappropriate ``!`` |
|
261 | 261 | * :ghpull:`5805`: fix engine startup files |
|
262 | 262 | * :ghpull:`5806`: Don't auto-move .config/ipython if symbolic link |
|
263 | 263 | * :ghpull:`5716`: Add booktabs package to latex base.tplx |
|
264 | 264 | * :ghpull:`5669`: allows threadsafe sys.stdout.flush from background threads |
|
265 | 265 | * :ghpull:`5668`: allow async output on the most recent request |
|
266 | 266 | * :ghpull:`5768`: fix cursor keys in long lines wrapped in markdown |
|
267 | 267 | * :ghpull:`5788`: run cells with ``silent=True`` in ``%run nb.ipynb`` |
|
268 | 268 | * :ghpull:`5715`: log all failed ajax API requests |
|
269 | 269 | * :ghpull:`5769`: Don't urlescape the text that goes into a title tag |
|
270 | 270 | * :ghpull:`5762`: Fix check for pickling closures |
|
271 | 271 | * :ghpull:`5766`: View.map with empty sequence should return empty list |
|
272 | 272 | * :ghpull:`5758`: Applied bug fix: using fc and ec did not properly set the figure canvas ... |
|
273 | 273 | * :ghpull:`5754`: Format command name into subcommand_description at run time, not import |
|
274 | 274 | * :ghpull:`5744`: Describe using PyPI/pip to distribute & install extensions |
|
275 | 275 | * :ghpull:`5712`: monkeypatch inspect.findsource only when we use it |
|
276 | 276 | * :ghpull:`5708`: create checkpoints dir in notebook subdirectories |
|
277 | 277 | * :ghpull:`5714`: log error message when API requests fail |
|
278 | 278 | * :ghpull:`5732`: Quick typo fix in nbformat/convert.py |
|
279 | 279 | * :ghpull:`5713`: Fix a NameError in IPython.parallel |
|
280 | 280 | * :ghpull:`5704`: Update nbconvertapp.py |
|
281 | 281 | * :ghpull:`5534`: cleanup some ``pre`` css inheritance |
|
282 | 282 | * :ghpull:`5699`: don't use common names in require decorators |
|
283 | 283 | * :ghpull:`5692`: Update notebook.rst fixing broken reference to notebook examples readme |
|
284 | 284 | * :ghpull:`5693`: Update parallel_intro.rst to fix a broken link to examples |
|
285 | 285 | * :ghpull:`5486`: disambiguate to location when no IPs can be determined |
|
286 | 286 | * :ghpull:`5574`: Remove the outdated keyboard shortcuts from notebook docs |
|
287 | 287 | * :ghpull:`5568`: Use ``__qualname__`` in pretty reprs for Python 3 |
|
288 | 288 | * :ghpull:`5678`: Fix copy & paste error in docstring of ImageWidget class |
|
289 | 289 | * :ghpull:`5677`: Fix %bookmark -l for Python 3 |
|
290 | 290 | * :ghpull:`5670`: nbconvert: Fix CWD imports |
|
291 | 291 | * :ghpull:`5647`: Mention git hooks in install documentation |
|
292 | 292 | * :ghpull:`5671`: Fix blank slides issue in Reveal slideshow pdf export |
|
293 | 293 | * :ghpull:`5657`: use 'localhost' as default for the notebook server |
|
294 | 294 | * :ghpull:`5584`: more semantic icons |
|
295 | 295 | * :ghpull:`5594`: update components with marked-0.3.2 |
|
296 | 296 | * :ghpull:`5500`: check for Python 3.2 |
|
297 | 297 | * :ghpull:`5582`: reset readline after running PYTHONSTARTUP |
|
298 | 298 | * :ghpull:`5630`: Fixed Issue :ghissue:`4012` Added Help menubar link to Github markdown doc |
|
299 | 299 | * :ghpull:`5613`: Fixing bug :ghissue:`5607` |
|
300 | 300 | * :ghpull:`5633`: Provide more help if lessc is not found. |
|
301 | 301 | * :ghpull:`5620`: fixed a typo in IPython.core.formatters |
|
302 | 302 | * :ghpull:`5619`: Fix typo in storemagic module docstring |
|
303 | 303 | * :ghpull:`5592`: add missing ``browser`` to notebook_aliases list |
|
304 | 304 | * :ghpull:`5506`: Fix ipconfig regex pattern |
|
305 | 305 | * :ghpull:`5581`: Fix rmagic for cells ending in comment. |
|
306 | 306 | * :ghpull:`5576`: only process cr if it's found |
|
307 | 307 | * :ghpull:`5478`: Add git-hooks install script. Update README.md |
|
308 | 308 | * :ghpull:`5546`: do not shutdown notebook if 'n' is part of answer |
|
309 | 309 | * :ghpull:`5527`: Don't remove upload items from nav tree unless explicitly requested. |
|
310 | 310 | * :ghpull:`5501`: remove inappropriate wheel tag override |
|
311 | 311 | * :ghpull:`5548`: FileNotebookManager: Use shutil.move() instead of os.rename() |
|
312 | 312 | * :ghpull:`5524`: never use ``for (var i in array)`` |
|
313 | 313 | * :ghpull:`5459`: Fix interact animation page jump FF |
|
314 | 314 | * :ghpull:`5559`: Minor typo fix in "Cython Magics.ipynb" |
|
315 | 315 | * :ghpull:`5507`: Fix typo in interactive widgets examples index notebook |
|
316 | 316 | * :ghpull:`5554`: Make HasTraits pickleable |
|
317 | 317 | * :ghpull:`5535`: fix n^2 performance issue in coalesce_streams preprocessor |
|
318 | 318 | * :ghpull:`5522`: fix iteration over Client |
|
319 | 319 | * :ghpull:`5488`: Added missing require and jquery from cdn. |
|
320 | 320 | * :ghpull:`5516`: ENH: list generated config files in generated, and rm them upon clean |
|
321 | 321 | * :ghpull:`5493`: made a minor fix to one of the widget examples |
|
322 | 322 | * :ghpull:`5512`: Update tooltips to refer to shift-tab |
|
323 | 323 | * :ghpull:`5505`: Make backport_pr work on Python 3 |
|
324 | 324 | * :ghpull:`5503`: check explicitly for 'dev' before adding the note to docs |
|
325 | 325 | * :ghpull:`5498`: use milestones to indicate backport |
|
326 | 326 | * :ghpull:`5492`: Polish whatsnew docs |
|
327 | 327 | * :ghpull:`5495`: Fix various broken things in docs |
|
328 | 328 | * :ghpull:`5496`: Exclude whatsnew/pr directory from docs builds |
|
329 | 329 | * :ghpull:`5489`: Fix required Python versions |
|
330 | 330 | |
|
331 | 331 | Issues (37): |
|
332 | 332 | |
|
333 | 333 | * :ghissue:`5364`: Horizontal scrollbar hides cell's last line on Firefox |
|
334 | 334 | * :ghissue:`5192`: horisontal scrollbar overlaps output or touches next cell |
|
335 | 335 | * :ghissue:`5840`: Third-party Windows kernels don't get interrupt signal |
|
336 | 336 | * :ghissue:`2412`: print history to file using qtconsole and notebook |
|
337 | 337 | * :ghissue:`5703`: Notebook doesn't render with "ask me every time" cookie setting in Firefox |
|
338 | 338 | * :ghissue:`5817`: calling mock object in IPython 2.0.0 under Python 3.4.0 raises AttributeError |
|
339 | 339 | * :ghissue:`5499`: Error running widgets nbconvert example |
|
340 | 340 | * :ghissue:`5654`: Broken links from ipython documentation |
|
341 | 341 | * :ghissue:`5019`: print in QT event callback doesn't show up in ipython notebook. |
|
342 | 342 | * :ghissue:`5800`: Only last In prompt number set ? |
|
343 | 343 | * :ghissue:`5801`: startup_command specified in ipengine_config.py is not executed |
|
344 | 344 | * :ghissue:`5690`: ipython 2.0.0 and pandoc 1.12.2.1 problem |
|
345 | 345 | * :ghissue:`5408`: Add checking/flushing of background output from kernel in mainloop |
|
346 | 346 | * :ghissue:`5407`: clearing message handlers on status=idle loses async output |
|
347 | 347 | * :ghissue:`5467`: Incorrect behavior of up/down keyboard arrows in code cells on wrapped lines |
|
348 | 348 | * :ghissue:`3085`: nicer notebook error message when lacking permissions |
|
349 | 349 | * :ghissue:`5765`: map_sync over empty list raises IndexError |
|
350 | 350 | * :ghissue:`5553`: Notebook matplotlib inline backend: can't set figure facecolor |
|
351 | 351 | * :ghissue:`5710`: inspect.findsource monkeypatch raises wrong exception for C extensions |
|
352 | 352 | * :ghissue:`5706`: Multi-Directory notebooks overwrite each other's checkpoints |
|
353 | 353 | * :ghissue:`5698`: can't require a function named ``f`` |
|
354 | 354 | * :ghissue:`5569`: Keyboard shortcuts in documentation are out of date |
|
355 | 355 | * :ghissue:`5566`: Function name printing should use ``__qualname__`` instead of ``__name__`` (Python 3) |
|
356 | 356 | * :ghissue:`5676`: "bookmark -l" not working in ipython 2.0 |
|
357 | 357 | * :ghissue:`5555`: Differentiate more clearly between Notebooks and Folders in new UI |
|
358 | 358 | * :ghissue:`5590`: Marked double escape |
|
359 | 359 | * :ghissue:`5514`: import tab-complete fail with ipython 2.0 shell |
|
360 | 360 | * :ghissue:`4012`: Notebook: link to markdown formatting reference |
|
361 | 361 | * :ghissue:`5611`: Typo in 'storemagic' documentation |
|
362 | 362 | * :ghissue:`5589`: Kernel start fails when using --browser argument |
|
363 | 363 | * :ghissue:`5491`: Bug in Windows ipconfig ip address regular expression |
|
364 | 364 | * :ghissue:`5579`: rmagic extension throws 'Error while parsing the string.' when last line is comment |
|
365 | 365 | * :ghissue:`5518`: Ipython2 will not open ipynb in example directory |
|
366 | 366 | * :ghissue:`5561`: New widget documentation has missing notebook link |
|
367 | 367 | * :ghissue:`5128`: Page jumping when output from widget interaction replaced |
|
368 | 368 | * :ghissue:`5519`: IPython.parallel.Client behavior as iterator |
|
369 | 369 | * :ghissue:`5510`: Tab-completion for function argument list |
|
370 | 370 | |
|
371 | 371 | |
|
372 | 372 | Issues closed in 2.0.0 |
|
373 | 373 | ---------------------- |
|
374 | 374 | |
|
375 | 375 | |
|
376 | 376 | GitHub stats for 2013/08/09 - 2014/04/01 (since 1.0.0) |
|
377 | 377 | |
|
378 | 378 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
379 | 379 | |
|
380 | 380 | The following 94 authors contributed 3949 commits. |
|
381 | 381 | |
|
382 | 382 | * Aaron Meurer |
|
383 | 383 | * Abhinav Upadhyay |
|
384 | 384 | * Adam Riggall |
|
385 | 385 | * Alex Rudy |
|
386 | 386 | * Andrew Mark |
|
387 | 387 | * Angus Griffith |
|
388 | 388 | * Antony Lee |
|
389 | 389 | * Aron Ahmadia |
|
390 | 390 | * Arun Persaud |
|
391 | 391 | * Benjamin Ragan-Kelley |
|
392 | 392 | * Bing Xia |
|
393 | 393 | * Blake Griffith |
|
394 | 394 | * Bouke van der Bijl |
|
395 | 395 | * Bradley M. Froehle |
|
396 | 396 | * Brian E. Granger |
|
397 | 397 | * Carlos Cordoba |
|
398 | 398 | * chapmanb |
|
399 | 399 | * chebee7i |
|
400 | 400 | * Christoph Gohlke |
|
401 | 401 | * Christophe Pradal |
|
402 | 402 | * Cyrille Rossant |
|
403 | 403 | * Damián Avila |
|
404 | 404 | * Daniel B. Vasquez |
|
405 | 405 | * Dav Clark |
|
406 | 406 | * David Hirschfeld |
|
407 | 407 | * David P. Sanders |
|
408 | 408 | * David Wyde |
|
409 | 409 | * David Österberg |
|
410 | 410 | * Doug Blank |
|
411 | 411 | * Dražen Lučanin |
|
412 | 412 | * epifanio |
|
413 | 413 | * Fernando Perez |
|
414 | 414 | * Gabriel Becker |
|
415 | 415 | * Geert Barentsen |
|
416 | 416 | * Hans Meine |
|
417 | 417 | * Ingolf Becker |
|
418 | 418 | * Jake Vanderplas |
|
419 | 419 | * Jakob Gager |
|
420 | 420 | * James Porter |
|
421 | 421 | * Jason Grout |
|
422 | 422 | * Jeffrey Tratner |
|
423 | 423 | * Jonah Graham |
|
424 | 424 | * Jonathan Frederic |
|
425 | 425 | * Joris Van den Bossche |
|
426 | 426 | * Juergen Hasch |
|
427 | 427 | * Julian Taylor |
|
428 | 428 | * Katie Silverio |
|
429 | 429 | * Kevin Burke |
|
430 | 430 | * Kieran O'Mahony |
|
431 | 431 | * Konrad Hinsen |
|
432 | 432 | * Kyle Kelley |
|
433 | 433 | * Lawrence Fu |
|
434 | 434 | * Marc Molla |
|
435 | 435 | * Martín Gaitán |
|
436 | 436 | * Matt Henderson |
|
437 | 437 | * Matthew Brett |
|
438 | 438 | * Matthias Bussonnier |
|
439 | 439 | * Michael Droettboom |
|
440 | 440 | * Mike McKerns |
|
441 | 441 | * Nathan Goldbaum |
|
442 | 442 | * Pablo de Oliveira |
|
443 | 443 | * Pankaj Pandey |
|
444 | 444 | * Pascal Schetelat |
|
445 | 445 | * Paul Ivanov |
|
446 | 446 | * Paul Moore |
|
447 | 447 | * Pere Vilas |
|
448 | 448 | * Peter Davis |
|
449 | 449 | * Philippe Mallet-Ladeira |
|
450 | 450 | * Preston Holmes |
|
451 | 451 | * Puneeth Chaganti |
|
452 | 452 | * Richard Everson |
|
453 | 453 | * Roberto Bonvallet |
|
454 | 454 | * Samuel Ainsworth |
|
455 | 455 | * Sean Vig |
|
456 | 456 | * Shashi Gowda |
|
457 | 457 | * Skipper Seabold |
|
458 | 458 | * Stephan Rave |
|
459 | 459 | * Steve Fox |
|
460 | 460 | * Steven Silvester |
|
461 | 461 | * stonebig |
|
462 | 462 | * Susan Tan |
|
463 | 463 | * Sylvain Corlay |
|
464 | 464 | * Takeshi Kanmae |
|
465 | 465 | * Ted Drain |
|
466 | 466 | * Thomas A Caswell |
|
467 | 467 | * Thomas Kluyver |
|
468 | 468 | * Théophile Studer |
|
469 | 469 | * Volker Braun |
|
470 | 470 | * Wieland Hoffmann |
|
471 | 471 | * Yaroslav Halchenko |
|
472 | 472 | * Yoval P. |
|
473 | 473 | * Yung Siang Liau |
|
474 | 474 | * Zachary Sailer |
|
475 | 475 | * zah |
|
476 | 476 | |
|
477 | 477 | |
|
478 | 478 | We closed a total of 1121 issues, 687 pull requests and 434 regular issues; |
|
479 | 479 | this is the full list (generated with the script |
|
480 | 480 | :file:`tools/github_stats.py`): |
|
481 | 481 | |
|
482 | 482 | Pull Requests (687): |
|
483 | 483 | |
|
484 | 484 | * :ghpull:`5487`: remove weird unicode space in the new copyright header |
|
485 | 485 | * :ghpull:`5476`: For 2.0: Fix links in Notebook Help Menu |
|
486 | 486 | * :ghpull:`5337`: Examples reorganization |
|
487 | 487 | * :ghpull:`5436`: CodeMirror shortcuts in QuickHelp |
|
488 | 488 | * :ghpull:`5444`: Fix numeric verification for Int and Float text widgets. |
|
489 | 489 | * :ghpull:`5449`: Stretch keyboard shortcut dialog |
|
490 | 490 | * :ghpull:`5473`: Minor corrections of git-hooks setup instructions |
|
491 | 491 | * :ghpull:`5471`: Add coding magic comment to nbconvert Python template |
|
492 | 492 | * :ghpull:`5452`: print_figure returns unicode for svg |
|
493 | 493 | * :ghpull:`5450`: proposal: remove codename |
|
494 | 494 | * :ghpull:`5462`: DOC : fixed minor error in using topological sort |
|
495 | 495 | * :ghpull:`5463`: make spin_thread tests more forgiving of slow VMs |
|
496 | 496 | * :ghpull:`5464`: Fix starting notebook server with file/directory at command line. |
|
497 | 497 | * :ghpull:`5453`: remove gitwash |
|
498 | 498 | * :ghpull:`5454`: Improve history API docs |
|
499 | 499 | * :ghpull:`5431`: update github_stats and gh_api for 2.0 |
|
500 | 500 | * :ghpull:`5290`: Add dual mode JS tests |
|
501 | 501 | * :ghpull:`5451`: check that a handler is actually registered in ShortcutManager.handles |
|
502 | 502 | * :ghpull:`5447`: Add %%python2 cell magic |
|
503 | 503 | * :ghpull:`5439`: Point to the stable SymPy docs, not the dev docs |
|
504 | 504 | * :ghpull:`5437`: Install jquery-ui images |
|
505 | 505 | * :ghpull:`5434`: fix check for empty cells in rst template |
|
506 | 506 | * :ghpull:`5432`: update links in notebook help menu |
|
507 | 507 | * :ghpull:`5435`: Update whatsnew (notebook tour) |
|
508 | 508 | * :ghpull:`5433`: Document extraction of octave and R magics |
|
509 | 509 | * :ghpull:`5428`: Update COPYING.txt |
|
510 | 510 | * :ghpull:`5426`: Separate get_session_info between HistoryAccessor and HistoryManager |
|
511 | 511 | * :ghpull:`5419`: move prompts from margin to main column on small screens |
|
512 | 512 | * :ghpull:`5430`: Make sure `element` is correct in the context of displayed JS |
|
513 | 513 | * :ghpull:`5396`: prevent saving of partially loaded notebooks |
|
514 | 514 | * :ghpull:`5429`: Fix tooltip pager feature |
|
515 | 515 | * :ghpull:`5330`: Updates to shell reference doc |
|
516 | 516 | * :ghpull:`5404`: Fix broken accordion widget |
|
517 | 517 | * :ghpull:`5339`: Don't use fork to start the notebook in js tests |
|
518 | 518 | * :ghpull:`5320`: Fix for Tooltip & completer click focus bug. |
|
519 | 519 | * :ghpull:`5421`: Move configuration of Python test controllers into setup() |
|
520 | 520 | * :ghpull:`5418`: fix typo in ssh launcher send_file |
|
521 | 521 | * :ghpull:`5403`: remove alt-- shortcut |
|
522 | 522 | * :ghpull:`5389`: better log message in deprecated files/ redirect |
|
523 | 523 | * :ghpull:`5333`: Fix filenbmanager.list_dirs fails for Windows user profile directory |
|
524 | 524 | * :ghpull:`5390`: finish PR #5333 |
|
525 | 525 | * :ghpull:`5326`: Some gardening on iptest result reporting |
|
526 | 526 | * :ghpull:`5375`: remove unnecessary onload hack from mathjax macro |
|
527 | 527 | * :ghpull:`5368`: Flexbox classes specificity fixes |
|
528 | 528 | * :ghpull:`5331`: fix raw_input CSS |
|
529 | 529 | * :ghpull:`5395`: urlencode images for rst files |
|
530 | 530 | * :ghpull:`5049`: update quickhelp on adding and removing shortcuts |
|
531 | 531 | * :ghpull:`5391`: Fix Gecko (Netscape) keyboard handling |
|
532 | 532 | * :ghpull:`5387`: Respect '\r' characters in nbconvert. |
|
533 | 533 | * :ghpull:`5399`: Revert PR #5388 |
|
534 | 534 | * :ghpull:`5388`: Suppress output even when a comment follows ;. Fixes #4525. |
|
535 | 535 | * :ghpull:`5394`: nbconvert doc update |
|
536 | 536 | * :ghpull:`5359`: do not install less sources |
|
537 | 537 | * :ghpull:`5346`: give hint on where to find custom.js |
|
538 | 538 | * :ghpull:`5357`: catch exception in copystat |
|
539 | 539 | * :ghpull:`5380`: Remove DefineShortVerb... line from latex base template |
|
540 | 540 | * :ghpull:`5376`: elide long containers in pretty |
|
541 | 541 | * :ghpull:`5310`: remove raw cell placeholder on focus, closes #5238 |
|
542 | 542 | * :ghpull:`5332`: semantic names for indicator icons |
|
543 | 543 | * :ghpull:`5386`: Fix import of socketserver on Python 3 |
|
544 | 544 | * :ghpull:`5360`: remove some redundant font-family: monospace |
|
545 | 545 | * :ghpull:`5379`: don't instantiate Application just for default logger |
|
546 | 546 | * :ghpull:`5372`: Don't autoclose strings |
|
547 | 547 | * :ghpull:`5296`: unify keyboard shortcut and codemirror interaction |
|
548 | 548 | * :ghpull:`5349`: Make Hub.registration_timeout configurable |
|
549 | 549 | * :ghpull:`5340`: install bootstrap-tour css |
|
550 | 550 | * :ghpull:`5335`: Update docstring for deepreload module |
|
551 | 551 | * :ghpull:`5321`: Improve assignment regex to match more tuple unpacking syntax |
|
552 | 552 | * :ghpull:`5325`: add NotebookNotary to NotebookApp's class list |
|
553 | 553 | * :ghpull:`5313`: avoid loading preprocessors twice |
|
554 | 554 | * :ghpull:`5308`: fix HTML capitalization in Highlight2HTML |
|
555 | 555 | * :ghpull:`5295`: OutputArea.append_type functions are not prototype methods |
|
556 | 556 | * :ghpull:`5318`: Fix local import of select_figure_formats |
|
557 | 557 | * :ghpull:`5300`: Fix NameError: name '_rl' is not defined |
|
558 | 558 | * :ghpull:`5292`: focus next cell on shift+enter |
|
559 | 559 | * :ghpull:`5291`: debug occasional error in test_queue_status |
|
560 | 560 | * :ghpull:`5289`: Finishing up #5274 (widget paths fixes) |
|
561 | 561 | * :ghpull:`5232`: Make nbconvert html full output like notebook's html. |
|
562 | 562 | * :ghpull:`5288`: Correct initial state of kernel status indicator |
|
563 | 563 | * :ghpull:`5253`: display any output from this session in terminal console |
|
564 | 564 | * :ghpull:`4802`: Tour of the notebook UI (was UI elements inline with highlighting) |
|
565 | 565 | * :ghpull:`5285`: Update signature presentation in pinfo classes |
|
566 | 566 | * :ghpull:`5268`: Refactoring Notebook.command_mode |
|
567 | 567 | * :ghpull:`5226`: Don't run PYTHONSTARTUP file if a file or code is passed |
|
568 | 568 | * :ghpull:`5283`: Remove Widget.closed attribute |
|
569 | 569 | * :ghpull:`5279`: nbconvert: Make sure node is atleast version 0.9.12 |
|
570 | 570 | * :ghpull:`5281`: fix a typo introduced by a rebased PR |
|
571 | 571 | * :ghpull:`5280`: append Firefox overflow-x fix |
|
572 | 572 | * :ghpull:`5277`: check that PIL can save JPEG to BytesIO |
|
573 | 573 | * :ghpull:`5044`: Store timestamps for modules to autoreload |
|
574 | 574 | * :ghpull:`5278`: Update whatsnew doc from pr files |
|
575 | 575 | * :ghpull:`5276`: Fix kernel restart in case connection file is deleted. |
|
576 | 576 | * :ghpull:`5272`: allow highlighting language to be set from notebook metadata |
|
577 | 577 | * :ghpull:`5158`: log refusal to serve hidden directories |
|
578 | 578 | * :ghpull:`5188`: New events system |
|
579 | 579 | * :ghpull:`5265`: Missing class def for TimeoutError |
|
580 | 580 | * :ghpull:`5267`: normalize unicode in notebook API tests |
|
581 | 581 | * :ghpull:`5076`: Refactor keyboard handling |
|
582 | 582 | * :ghpull:`5241`: Add some tests for utils |
|
583 | 583 | * :ghpull:`5261`: Don't allow edit mode up arrow to continue past index == 0 |
|
584 | 584 | * :ghpull:`5223`: use on-load event to trigger resizable images |
|
585 | 585 | * :ghpull:`5252`: make one strptime call at import of jsonutil |
|
586 | 586 | * :ghpull:`5153`: Dashboard sorting |
|
587 | 587 | * :ghpull:`5169`: Allow custom header |
|
588 | 588 | * :ghpull:`5242`: clear _reply_content cache before using it |
|
589 | 589 | * :ghpull:`5194`: require latex titles to be ascii |
|
590 | 590 | * :ghpull:`5244`: try to avoid EADDRINUSE errors on travis |
|
591 | 591 | * :ghpull:`5245`: support extracted output in HTML template |
|
592 | 592 | * :ghpull:`5209`: make input_area css generic to cells |
|
593 | 593 | * :ghpull:`5246`: less %pylab, more cowbell! |
|
594 | 594 | * :ghpull:`4895`: Improvements to %run completions |
|
595 | 595 | * :ghpull:`5243`: Add Javscript to base display priority list. |
|
596 | 596 | * :ghpull:`5175`: Audit .html() calls take #2 |
|
597 | 597 | * :ghpull:`5146`: Dual mode bug fixes. |
|
598 | 598 | * :ghpull:`5207`: Children fire event |
|
599 | 599 | * :ghpull:`5215`: Dashboard "Running" Tab |
|
600 | 600 | * :ghpull:`5240`: Remove unused IPython.nbconvert.utils.console module |
|
601 | 601 | * :ghpull:`5239`: Fix exclusion of tests directories from coverage reports |
|
602 | 602 | * :ghpull:`5203`: capture some logging/warning output in some tests |
|
603 | 603 | * :ghpull:`5216`: fixup positional arg handling in notebook app |
|
604 | 604 | * :ghpull:`5229`: get _ipython_display_ method safely |
|
605 | 605 | * :ghpull:`5234`: DOC : modified docs is HasTraits.traits and HasTraits.class_traits |
|
606 | 606 | * :ghpull:`5221`: Change widget children List to Tuple. |
|
607 | 607 | * :ghpull:`5231`: don't forget base_url when updating address bar in rename |
|
608 | 608 | * :ghpull:`5173`: Moved widget files into static/widgets/* |
|
609 | 609 | * :ghpull:`5222`: Unset PYTHONWARNINGS envvar before running subprocess tests. |
|
610 | 610 | * :ghpull:`5172`: Prevent page breaks when printing notebooks via print-view. |
|
611 | 611 | * :ghpull:`4985`: Add automatic Closebrackets function to Codemirror. |
|
612 | 612 | * :ghpull:`5220`: Make traitlets notify check more robust against classes redefining equality and bool |
|
613 | 613 | * :ghpull:`5197`: If there is an error comparing traitlet values when setting a trait, default to go ahead and notify of the new value. |
|
614 | 614 | * :ghpull:`5210`: fix pyreadline import in rlineimpl |
|
615 | 615 | * :ghpull:`5212`: Wrap nbconvert Markdown/Heading cells in live divs |
|
616 | 616 | * :ghpull:`5200`: Allow to pass option to jinja env |
|
617 | 617 | * :ghpull:`5202`: handle nodejs executable on debian |
|
618 | 618 | * :ghpull:`5112`: band-aid for completion |
|
619 | 619 | * :ghpull:`5187`: handle missing output metadata in nbconvert |
|
620 | 620 | * :ghpull:`5181`: use gnureadline on OS X |
|
621 | 621 | * :ghpull:`5136`: set default value from signature defaults in interact |
|
622 | 622 | * :ghpull:`5132`: remove application/pdf->pdf transform in javascript |
|
623 | 623 | * :ghpull:`5116`: reorganize who knows what about paths |
|
624 | 624 | * :ghpull:`5165`: Don't introspect __call__ for simple callables |
|
625 | 625 | * :ghpull:`5170`: Added msg_throttle sync=True widget traitlet |
|
626 | 626 | * :ghpull:`5191`: Translate markdown link to rst |
|
627 | 627 | * :ghpull:`5037`: FF Fix: alignment and scale of text widget |
|
628 | 628 | * :ghpull:`5179`: remove websocket url |
|
629 | 629 | * :ghpull:`5110`: add InlineBackend.print_figure_kwargs |
|
630 | 630 | * :ghpull:`5147`: Some template URL changes |
|
631 | 631 | * :ghpull:`5100`: remove base_kernel_url |
|
632 | 632 | * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory. |
|
633 | 633 | * :ghpull:`5166`: remove mktemp usage |
|
634 | 634 | * :ghpull:`5133`: don't use combine option on ucs package |
|
635 | 635 | * :ghpull:`5089`: Remove legacy azure nbmanager |
|
636 | 636 | * :ghpull:`5159`: remove append_json reference |
|
637 | 637 | * :ghpull:`5095`: handle image size metadata in nbconvert html |
|
638 | 638 | * :ghpull:`5156`: fix IPython typo, closes #5155 |
|
639 | 639 | * :ghpull:`5150`: fix a link that was broken |
|
640 | 640 | * :ghpull:`5114`: use non-breaking space for button with no description |
|
641 | 641 | * :ghpull:`4778`: add APIs for installing notebook extensions |
|
642 | 642 | * :ghpull:`5125`: Fix the display of functions with keyword-only arguments on Python 3. |
|
643 | 643 | * :ghpull:`5097`: minor notebook logging changes |
|
644 | 644 | * :ghpull:`5047`: only validate package_data when it might be used |
|
645 | 645 | * :ghpull:`5121`: fix remove event in KeyboardManager.register_events |
|
646 | 646 | * :ghpull:`5119`: Removed 'list' view from Variable Inspector example |
|
647 | 647 | * :ghpull:`4925`: Notebook manager api fixes |
|
648 | 648 | * :ghpull:`4996`: require print_method to be a bound method |
|
649 | 649 | * :ghpull:`5108`: require specifying the version for gh-pages |
|
650 | 650 | * :ghpull:`5111`: Minor typo in docstring of IPython.parallel DirectView |
|
651 | 651 | * :ghpull:`5098`: mostly debugging changes for IPython.parallel |
|
652 | 652 | * :ghpull:`5087`: trust cells with no output |
|
653 | 653 | * :ghpull:`5059`: Fix incorrect `Patch` logic in widget code |
|
654 | 654 | * :ghpull:`5075`: More flexible box model fixes |
|
655 | 655 | * :ghpull:`5091`: Provide logging messages in ipcluster log when engine or controllers fail to start |
|
656 | 656 | * :ghpull:`5090`: Print a warning when iptest is run from the IPython source directory |
|
657 | 657 | * :ghpull:`5077`: flush replies when entering an eventloop |
|
658 | 658 | * :ghpull:`5055`: Minimal changes to import IPython from IronPython |
|
659 | 659 | * :ghpull:`5078`: Updating JS tests README.md |
|
660 | 660 | * :ghpull:`5083`: don't create js test directories unless they are being used |
|
661 | 661 | * :ghpull:`5062`: adjust some events in nb_roundtrip |
|
662 | 662 | * :ghpull:`5043`: various unicode / url fixes |
|
663 | 663 | * :ghpull:`5066`: remove (almost) all mentions of pylab from our examples |
|
664 | 664 | * :ghpull:`4977`: ensure scp destination directories exist (with mkdir -p) |
|
665 | 665 | * :ghpull:`5053`: Move&rename JS tests |
|
666 | 666 | * :ghpull:`5067`: show traceback in widget handlers |
|
667 | 667 | * :ghpull:`4920`: Adding PDFFormatter and kernel side handling of PDF display data |
|
668 | 668 | * :ghpull:`5048`: Add edit/command mode indicator |
|
669 | 669 | * :ghpull:`5061`: make execute button in menu bar match shift-enter |
|
670 | 670 | * :ghpull:`5052`: Add q to toggle the pager. |
|
671 | 671 | * :ghpull:`5070`: fix flex: auto |
|
672 | 672 | * :ghpull:`5065`: Add example of using annotations in interact |
|
673 | 673 | * :ghpull:`5063`: another pass on Interact example notebooks |
|
674 | 674 | * :ghpull:`5051`: FF Fix: code cell missing hscroll (2) |
|
675 | 675 | * :ghpull:`4960`: Interact/Interactive for widget |
|
676 | 676 | * :ghpull:`5045`: Clear timeout in multi-press keyboard shortcuts. |
|
677 | 677 | * :ghpull:`5060`: Change 'bind' to 'link' |
|
678 | 678 | * :ghpull:`5039`: Expose kernel_info method on inprocess kernel client |
|
679 | 679 | * :ghpull:`5058`: Fix iopubwatcher.py example script. |
|
680 | 680 | * :ghpull:`5035`: FF Fix: code cell missing hscroll |
|
681 | 681 | * :ghpull:`5040`: Polishing some docs |
|
682 | 682 | * :ghpull:`5001`: Add directory navigation to dashboard |
|
683 | 683 | * :ghpull:`5042`: Remove duplicated Channel ABC classes. |
|
684 | 684 | * :ghpull:`5036`: FF Fix: ext link icon same line as link text in help menu |
|
685 | 685 | * :ghpull:`4975`: setup.py changes for 2.0 |
|
686 | 686 | * :ghpull:`4774`: emit event on appended element on dom |
|
687 | 687 | * :ghpull:`5023`: Widgets- add ability to pack and unpack arrays on JS side. |
|
688 | 688 | * :ghpull:`5003`: Fix pretty reprs of super() objects |
|
689 | 689 | * :ghpull:`4974`: make paste focus the pasted cell |
|
690 | 690 | * :ghpull:`5012`: Make `SelectionWidget.values` a dict |
|
691 | 691 | * :ghpull:`5018`: Prevent 'iptest IPython' from trying to run. |
|
692 | 692 | * :ghpull:`5025`: citation2latex filter (using HTMLParser) |
|
693 | 693 | * :ghpull:`5027`: pin lessc to 1.4 |
|
694 | 694 | * :ghpull:`4952`: Widget test inconsistencies |
|
695 | 695 | * :ghpull:`5014`: Fix command mode & popup view bug |
|
696 | 696 | * :ghpull:`4842`: more subtle kernel indicator |
|
697 | 697 | * :ghpull:`5017`: Add notebook examples link to help menu. |
|
698 | 698 | * :ghpull:`5015`: don't write cell.trusted to disk |
|
699 | 699 | * :ghpull:`5007`: Update whatsnew doc from PR files |
|
700 | 700 | * :ghpull:`5010`: Fixes for widget alignment in FF |
|
701 | 701 | * :ghpull:`4901`: Add a convenience class to sync traitlet attributes |
|
702 | 702 | * :ghpull:`5008`: updated explanation of 'pyin' messages |
|
703 | 703 | * :ghpull:`5004`: Fix widget vslider spacing |
|
704 | 704 | * :ghpull:`4933`: Small Widget inconsistency fixes |
|
705 | 705 | * :ghpull:`4979`: add versioning notes to small message spec changes |
|
706 | 706 | * :ghpull:`4893`: add font-awesome 3.2.1 |
|
707 | 707 | * :ghpull:`4982`: Live readout for slider widgets |
|
708 | 708 | * :ghpull:`4813`: make help menu a template |
|
709 | 709 | * :ghpull:`4939`: Embed qtconsole docs (continued) |
|
710 | 710 | * :ghpull:`4964`: remove shift-= merge keyboard shortcut |
|
711 | 711 | * :ghpull:`4504`: Allow input transformers to raise SyntaxError |
|
712 | 712 | * :ghpull:`4929`: Fixing various modal/focus related bugs |
|
713 | 713 | * :ghpull:`4971`: Fixing issues with js tests |
|
714 | 714 | * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt |
|
715 | 715 | * :ghpull:`4937`: pickle arrays with dtype=object |
|
716 | 716 | * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir` |
|
717 | 717 | * :ghpull:`4954`: generate unicode filename |
|
718 | 718 | * :ghpull:`4845`: Add Origin Checking. |
|
719 | 719 | * :ghpull:`4916`: Fine tuning the behavior of the modal UI |
|
720 | 720 | * :ghpull:`4966`: Ignore sys.argv for NotebookNotary in tests |
|
721 | 721 | * :ghpull:`4967`: Fix typo in warning about web socket being closed |
|
722 | 722 | * :ghpull:`4965`: Remove mention of iplogger from setup.py |
|
723 | 723 | * :ghpull:`4962`: Fixed typos in quick-help text |
|
724 | 724 | * :ghpull:`4953`: add utils.wait_for_idle in js tests |
|
725 | 725 | * :ghpull:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress |
|
726 | 726 | * :ghpull:`4662`: Menu cleanup |
|
727 | 727 | * :ghpull:`4824`: sign notebooks |
|
728 | 728 | * :ghpull:`4943`: Docs shotgun 4 |
|
729 | 729 | * :ghpull:`4848`: avoid import of nearby temporary with %edit |
|
730 | 730 | * :ghpull:`4950`: Two fixes for file upload related bugs |
|
731 | 731 | * :ghpull:`4927`: there shouldn't be a 'files/' prefix in FileLink[s] |
|
732 | 732 | * :ghpull:`4928`: use importlib.machinery when available |
|
733 | 733 | * :ghpull:`4949`: Remove the docscrape modules, which are part of numpydoc |
|
734 | 734 | * :ghpull:`4849`: Various unicode fixes (mostly on Windows) |
|
735 | 735 | * :ghpull:`4932`: always point py3compat.input to builtin_mod.input |
|
736 | 736 | * :ghpull:`4807`: Correct handling of ansi colour codes when nbconverting to latex |
|
737 | 737 | * :ghpull:`4922`: Python nbconvert output shouldn't have output |
|
738 | 738 | * :ghpull:`4912`: Skip some Windows io failures |
|
739 | 739 | * :ghpull:`4919`: flush output before showing tracebacks |
|
740 | 740 | * :ghpull:`4915`: ZMQCompleter inherits from IPCompleter |
|
741 | 741 | * :ghpull:`4890`: better cleanup channel FDs |
|
742 | 742 | * :ghpull:`4880`: set profile name from profile_dir |
|
743 | 743 | * :ghpull:`4853`: fix setting image height/width from metadata |
|
744 | 744 | * :ghpull:`4786`: Reduce spacing of heading cells |
|
745 | 745 | * :ghpull:`4680`: Minimal pandoc version warning |
|
746 | 746 | * :ghpull:`4908`: detect builtin docstrings in oinspect |
|
747 | 747 | * :ghpull:`4911`: Don't use `python -m package` on Windows Python 2 |
|
748 | 748 | * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed |
|
749 | 749 | * :ghpull:`4374`: IPEP 23: Backbone.js Widgets |
|
750 | 750 | * :ghpull:`4903`: use https for all embeds |
|
751 | 751 | * :ghpull:`4894`: Shortcut changes |
|
752 | 752 | * :ghpull:`4897`: More detailed documentation about kernel_cmd |
|
753 | 753 | * :ghpull:`4891`: Squash a few Sphinx warnings from nbconvert.utils.lexers docstrings |
|
754 | 754 | * :ghpull:`4679`: JPG compression for inline pylab |
|
755 | 755 | * :ghpull:`4708`: Fix indent and center |
|
756 | 756 | * :ghpull:`4789`: fix IPython.embed |
|
757 | 757 | * :ghpull:`4655`: prefer marked to pandoc for markdown2html |
|
758 | 758 | * :ghpull:`4876`: don't show tooltip if object is not found |
|
759 | 759 | * :ghpull:`4873`: use 'combine' option to ucs package |
|
760 | 760 | * :ghpull:`4732`: Accents in notebook names and in command-line (nbconvert) |
|
761 | 761 | * :ghpull:`4867`: Update URL for Lawrence Hall of Science webcam image |
|
762 | 762 | * :ghpull:`4868`: Static path fixes |
|
763 | 763 | * :ghpull:`4858`: fix tb_offset when running a file |
|
764 | 764 | * :ghpull:`4826`: some $.html( -> $.text( |
|
765 | 765 | * :ghpull:`4847`: add js kernel_info request |
|
766 | 766 | * :ghpull:`4832`: allow NotImplementedError in formatters |
|
767 | 767 | * :ghpull:`4803`: BUG: fix cython magic support in ipython_directive |
|
768 | 768 | * :ghpull:`4865`: `build` listed twice in .gitignore. Removing one. |
|
769 | 769 | * :ghpull:`4851`: fix tooltip token regex for single-character names |
|
770 | 770 | * :ghpull:`4846`: Remove some leftover traces of irunner |
|
771 | 771 | * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster |
|
772 | 772 | * :ghpull:`4844`: adjustments to notebook app logging |
|
773 | 773 | * :ghpull:`4840`: Error in Session.send_raw() |
|
774 | 774 | * :ghpull:`4819`: update CodeMirror to 3.21 |
|
775 | 775 | * :ghpull:`4823`: Minor fixes for typos/inconsistencies in parallel docs |
|
776 | 776 | * :ghpull:`4811`: document code mirror tab and shift-tab |
|
777 | 777 | * :ghpull:`4795`: merge reveal templates |
|
778 | 778 | * :ghpull:`4796`: update components |
|
779 | 779 | * :ghpull:`4806`: Correct order of packages for unicode in nbconvert to LaTeX |
|
780 | 780 | * :ghpull:`4800`: Qt frontend: Handle 'aborted' prompt replies. |
|
781 | 781 | * :ghpull:`4794`: Compatibility fix for Python3 (Issue #4783 ) |
|
782 | 782 | * :ghpull:`4799`: minor js test fix |
|
783 | 783 | * :ghpull:`4788`: warn when notebook is started in pylab mode |
|
784 | 784 | * :ghpull:`4772`: Notebook server info files |
|
785 | 785 | * :ghpull:`4797`: be conservative about kernel_info implementation |
|
786 | 786 | * :ghpull:`4787`: non-python kernels run python code with qtconsole |
|
787 | 787 | * :ghpull:`4565`: various display type validations |
|
788 | 788 | * :ghpull:`4703`: Math macro in jinja templates. |
|
789 | 789 | * :ghpull:`4781`: Fix "Source" text for the "Other Syntax" section of the "Typesetting Math" notebook |
|
790 | 790 | * :ghpull:`4776`: Manually document py3compat module. |
|
791 | 791 | * :ghpull:`4533`: propagate display metadata to all mimetypes |
|
792 | 792 | * :ghpull:`4785`: Replacing a for-in loop by an index loop on an array |
|
793 | 793 | * :ghpull:`4780`: Updating CSS for UI example. |
|
794 | 794 | * :ghpull:`3605`: Modal UI |
|
795 | 795 | * :ghpull:`4758`: Python 3.4 fixes |
|
796 | 796 | * :ghpull:`4735`: add some HTML error pages |
|
797 | 797 | * :ghpull:`4775`: Update whatsnew doc from PR files |
|
798 | 798 | * :ghpull:`4760`: Make examples and docs more Python 3 aware |
|
799 | 799 | * :ghpull:`4773`: Don't wait forever for notebook server to launch/die for tests |
|
800 | 800 | * :ghpull:`4768`: Qt console: Fix _prompt_pos accounting on timer flush output. |
|
801 | 801 | * :ghpull:`4727`: Remove Nbconvert template loading magic |
|
802 | 802 | * :ghpull:`4763`: Set numpydoc options to produce fewer Sphinx warnings. |
|
803 | 803 | * :ghpull:`4770`: always define aliases, even if empty |
|
804 | 804 | * :ghpull:`4766`: add `python -m` entry points for everything |
|
805 | 805 | * :ghpull:`4767`: remove manpages for irunner, iplogger |
|
806 | 806 | * :ghpull:`4751`: Added --post-serve explanation into the nbconvert docs. |
|
807 | 807 | * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name |
|
808 | 808 | * :ghpull:`4625`: Deprecate %profile magic |
|
809 | 809 | * :ghpull:`4745`: warn on failed formatter calls |
|
810 | 810 | * :ghpull:`4746`: remove redundant cls alias on Windows |
|
811 | 811 | * :ghpull:`4749`: Fix bug in determination of public ips. |
|
812 | 812 | * :ghpull:`4715`: restore use of tornado static_url in templates |
|
813 | 813 | * :ghpull:`4748`: fix race condition in profiledir creation. |
|
814 | 814 | * :ghpull:`4720`: never use ssh multiplexer in tunnels |
|
815 | 815 | * :ghpull:`4658`: Bug fix for #4643: Regex object needs to be reset between calls in toolt... |
|
816 | 816 | * :ghpull:`4561`: Add Formatter.pop(type) |
|
817 | 817 | * :ghpull:`4712`: Docs shotgun 3 |
|
818 | 818 | * :ghpull:`4713`: Fix saving kernel history in Python 2 |
|
819 | 819 | * :ghpull:`4744`: don't use lazily-evaluated rc.ids in wait_for_idle |
|
820 | 820 | * :ghpull:`4740`: %env can't set variables |
|
821 | 821 | * :ghpull:`4737`: check every link when detecting virutalenv |
|
822 | 822 | * :ghpull:`4738`: don't inject help into user_ns |
|
823 | 823 | * :ghpull:`4739`: skip html nbconvert tests when their dependencies are missing |
|
824 | 824 | * :ghpull:`4730`: Fix stripping continuation prompts when copying from Qt console |
|
825 | 825 | * :ghpull:`4725`: Doc fixes |
|
826 | 826 | * :ghpull:`4656`: Nbconvert HTTP service |
|
827 | 827 | * :ghpull:`4710`: make @interactive decorator friendlier with dill |
|
828 | 828 | * :ghpull:`4722`: allow purging local results as long as they are not outstanding |
|
829 | 829 | * :ghpull:`4549`: Updated IPython console lexers. |
|
830 | 830 | * :ghpull:`4570`: Update IPython directive |
|
831 | 831 | * :ghpull:`4719`: Fix comment typo in prefilter.py |
|
832 | 832 | * :ghpull:`4575`: make sure to encode URL components for API requests |
|
833 | 833 | * :ghpull:`4718`: Fixed typo in displaypub |
|
834 | 834 | * :ghpull:`4716`: Remove input_prefilter hook |
|
835 | 835 | * :ghpull:`4691`: survive failure to bind to localhost in zmq.iostream |
|
836 | 836 | * :ghpull:`4696`: don't do anything if add_anchor fails |
|
837 | 837 | * :ghpull:`4711`: some typos in the docs |
|
838 | 838 | * :ghpull:`4700`: use if main block in entry points |
|
839 | 839 | * :ghpull:`4692`: setup.py symlink improvements |
|
840 | 840 | * :ghpull:`4265`: JSON configuration file |
|
841 | 841 | * :ghpull:`4505`: Nbconvert latex markdown images2 |
|
842 | 842 | * :ghpull:`4608`: transparent background match ... all colors |
|
843 | 843 | * :ghpull:`4678`: allow ipython console to handle text/plain display |
|
844 | 844 | * :ghpull:`4706`: remove irunner, iplogger |
|
845 | 845 | * :ghpull:`4701`: Delete an old dictionary available for selecting the aligment of text. |
|
846 | 846 | * :ghpull:`4702`: Making reveal font-size a relative unit. |
|
847 | 847 | * :ghpull:`4649`: added a quiet option to %cpaste to suppress output |
|
848 | 848 | * :ghpull:`4690`: Option to spew subprocess streams during tests |
|
849 | 849 | * :ghpull:`4688`: Fixed various typos in docstrings. |
|
850 | 850 | * :ghpull:`4645`: CasperJs utility functions. |
|
851 | 851 | * :ghpull:`4670`: Stop bundling the numpydoc Sphinx extension |
|
852 | 852 | * :ghpull:`4675`: common IPython prefix for ModIndex |
|
853 | 853 | * :ghpull:`4672`: Remove unused 'attic' module |
|
854 | 854 | * :ghpull:`4671`: Fix docstrings in utils.text |
|
855 | 855 | * :ghpull:`4669`: add missing help strings to HistoryManager configurables |
|
856 | 856 | * :ghpull:`4668`: Make non-ASCII docstring unicode |
|
857 | 857 | * :ghpull:`4650`: added a note about sharing of nbconvert tempates |
|
858 | 858 | * :ghpull:`4646`: Fixing various output related things: |
|
859 | 859 | * :ghpull:`4665`: check for libedit in readline on OS X |
|
860 | 860 | * :ghpull:`4606`: Make running PYTHONSTARTUP optional |
|
861 | 861 | * :ghpull:`4654`: Fixing left padding of text cells to match that of code cells. |
|
862 | 862 | * :ghpull:`4306`: add raw_mimetype metadata to raw cells |
|
863 | 863 | * :ghpull:`4576`: Tighten up the vertical spacing on cells and make the padding of cells more consistent |
|
864 | 864 | * :ghpull:`4353`: Don't reset the readline completer after each prompt |
|
865 | 865 | * :ghpull:`4567`: Adding prompt area to non-CodeCells to indent content. |
|
866 | 866 | * :ghpull:`4446`: Use SVG plots in OctaveMagic by default due to lack of Ghostscript on Windows Octave |
|
867 | 867 | * :ghpull:`4613`: remove configurable.created |
|
868 | 868 | * :ghpull:`4631`: Use argument lists for command help tests |
|
869 | 869 | * :ghpull:`4633`: Modifies test_get_long_path_name_winr32() to allow for long path names in temp dir |
|
870 | 870 | * :ghpull:`4642`: Allow docs to build without PyQt installed. |
|
871 | 871 | * :ghpull:`4641`: Don't check for wx in the test suite. |
|
872 | 872 | * :ghpull:`4622`: make QtConsole Lexer configurable |
|
873 | 873 | * :ghpull:`4594`: Fixed #2923 Move Save Away from Cut in toolbar |
|
874 | 874 | * :ghpull:`4593`: don't interfere with set_next_input contents in qtconsole |
|
875 | 875 | * :ghpull:`4640`: Support matplotlib's Gtk3 backend in --pylab mode |
|
876 | 876 | * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working |
|
877 | 877 | * :ghpull:`4637`: Fixed typo in links.txt. |
|
878 | 878 | * :ghpull:`4634`: Fix nbrun in notebooks with non-code cells. |
|
879 | 879 | * :ghpull:`4632`: Restore the ability to run tests from a function. |
|
880 | 880 | * :ghpull:`4624`: Fix crash when $EDITOR is non-ASCII |
|
881 | 881 | * :ghpull:`4453`: Play nice with App Nap |
|
882 | 882 | * :ghpull:`4541`: relax ipconfig matching on Windows |
|
883 | 883 | * :ghpull:`4552`: add pickleutil.use_dill |
|
884 | 884 | * :ghpull:`4590`: Font awesome for IPython slides |
|
885 | 885 | * :ghpull:`4589`: Inherit the width of pre code inside the input code cells. |
|
886 | 886 | * :ghpull:`4588`: Update reveal.js CDN to 2.5.0. |
|
887 | 887 | * :ghpull:`4569`: store cell toolbar preset in notebook metadata |
|
888 | 888 | * :ghpull:`4609`: Fix bytes regex for Python 3. |
|
889 | 889 | * :ghpull:`4581`: Writing unicode to stdout |
|
890 | 890 | * :ghpull:`4591`: Documenting codemirror shorcuts. |
|
891 | 891 | * :ghpull:`4607`: Tutorial doc should link to user config intro |
|
892 | 892 | * :ghpull:`4601`: test that rename fails with 409 if it would clobber |
|
893 | 893 | * :ghpull:`4599`: re-cast int/float subclasses to int/float in json_clean |
|
894 | 894 | * :ghpull:`4542`: new `ipython history clear` subcommand |
|
895 | 895 | * :ghpull:`4568`: don't use lazily-evaluated rc.ids in wait_for_idle |
|
896 | 896 | * :ghpull:`4572`: DOC: %profile docstring should reference %prun |
|
897 | 897 | * :ghpull:`4571`: no longer need 3 suffix on travis, tox |
|
898 | 898 | * :ghpull:`4566`: Fixing cell_type in CodeCell constructor. |
|
899 | 899 | * :ghpull:`4563`: Specify encoding for reading notebook file. |
|
900 | 900 | * :ghpull:`4452`: support notebooks in %run |
|
901 | 901 | * :ghpull:`4546`: fix warning condition on notebook startup |
|
902 | 902 | * :ghpull:`4540`: Apidocs3 |
|
903 | 903 | * :ghpull:`4553`: Fix Python 3 handling of urllib |
|
904 | 904 | * :ghpull:`4543`: make hiding of initial namespace optional |
|
905 | 905 | * :ghpull:`4517`: send shutdown_request on exit of `ipython console` |
|
906 | 906 | * :ghpull:`4528`: improvements to bash completion |
|
907 | 907 | * :ghpull:`4532`: Hide dynamically defined metaclass base from Sphinx. |
|
908 | 908 | * :ghpull:`4515`: Spring Cleaning, and Load speedup |
|
909 | 909 | * :ghpull:`4529`: note routing identities needed for input requests |
|
910 | 910 | * :ghpull:`4514`: allow restart in `%run -d` |
|
911 | 911 | * :ghpull:`4527`: add redirect for 1.0-style 'files/' prefix links |
|
912 | 912 | * :ghpull:`4526`: Allow unicode arguments to passwd_check on Python 2 |
|
913 | 913 | * :ghpull:`4403`: Global highlight language selection. |
|
914 | 914 | * :ghpull:`4250`: outputarea.js: Wrap inline SVGs inside an iframe |
|
915 | 915 | * :ghpull:`4521`: Read wav files in binary mode |
|
916 | 916 | * :ghpull:`4444`: Css cleaning |
|
917 | 917 | * :ghpull:`4523`: Use username and password for MongoDB on ShiningPanda |
|
918 | 918 | * :ghpull:`4510`: Update whatsnew from PR files |
|
919 | 919 | * :ghpull:`4441`: add `setup.py jsversion` |
|
920 | 920 | * :ghpull:`4518`: Fix for race condition in url file decoding. |
|
921 | 921 | * :ghpull:`4497`: don't automatically unpack datetime objects in the message spec |
|
922 | 922 | * :ghpull:`4506`: wait for empty queues as well as load-balanced tasks |
|
923 | 923 | * :ghpull:`4492`: Configuration docs refresh |
|
924 | 924 | * :ghpull:`4508`: Fix some uses of map() in Qt console completion code. |
|
925 | 925 | * :ghpull:`4498`: Daemon StreamCapturer |
|
926 | 926 | * :ghpull:`4499`: Skip clipboard test on unix systems if headless. |
|
927 | 927 | * :ghpull:`4460`: Better clipboard handling, esp. with pywin32 |
|
928 | 928 | * :ghpull:`4496`: Pass nbformat object to write call to save .py script |
|
929 | 929 | * :ghpull:`4466`: various pandoc latex fixes |
|
930 | 930 | * :ghpull:`4473`: Setup for Python 2/3 |
|
931 | 931 | * :ghpull:`4459`: protect against broken repr in lib.pretty |
|
932 | 932 | * :ghpull:`4457`: Use ~/.ipython as default config directory |
|
933 | 933 | * :ghpull:`4489`: check realpath of env in init_virtualenv |
|
934 | 934 | * :ghpull:`4490`: fix possible race condition in test_await_data |
|
935 | 935 | * :ghpull:`4476`: Fix: Remove space added by display(JavaScript) on page reload |
|
936 | 936 | * :ghpull:`4398`: [Notebook] Deactivate tooltip on tab by default. |
|
937 | 937 | * :ghpull:`4480`: Docs shotgun 2 |
|
938 | 938 | * :ghpull:`4488`: fix typo in message spec doc |
|
939 | 939 | * :ghpull:`4479`: yet another JS race condition fix |
|
940 | 940 | * :ghpull:`4477`: Allow incremental builds of the html_noapi docs target |
|
941 | 941 | * :ghpull:`4470`: Various Config object cleanups |
|
942 | 942 | * :ghpull:`4410`: make close-and-halt work on new tabs in Chrome |
|
943 | 943 | * :ghpull:`4469`: Python 3 & getcwdu |
|
944 | 944 | * :ghpull:`4451`: fix: allow JS test to run after shutdown test |
|
945 | 945 | * :ghpull:`4456`: Simplify StreamCapturer for subprocess testing |
|
946 | 946 | * :ghpull:`4464`: Correct description for Bytes traitlet type |
|
947 | 947 | * :ghpull:`4465`: Clean up MANIFEST.in |
|
948 | 948 | * :ghpull:`4461`: Correct TypeError message in svg2pdf |
|
949 | 949 | * :ghpull:`4458`: use signalstatus if exit status is undefined |
|
950 | 950 | * :ghpull:`4438`: Single codebase Python 3 support (again) |
|
951 | 951 | * :ghpull:`4198`: Version conversion, support for X to Y even if Y < X (nbformat) |
|
952 | 952 | * :ghpull:`4415`: More tooltips in the Notebook menu |
|
953 | 953 | * :ghpull:`4450`: remove monkey patch for older versions of tornado |
|
954 | 954 | * :ghpull:`4423`: Fix progress bar and scrolling bug. |
|
955 | 955 | * :ghpull:`4435`: raise 404 on not found static file |
|
956 | 956 | * :ghpull:`4442`: fix and add shim for change introduce by #4195 |
|
957 | 957 | * :ghpull:`4436`: allow `require("nbextensions/extname")` to load from IPYTHONDIR/nbextensions |
|
958 | 958 | * :ghpull:`4437`: don't compute etags in static file handlers |
|
959 | 959 | * :ghpull:`4427`: notebooks should always have one checkpoint |
|
960 | 960 | * :ghpull:`4425`: fix js pythonisme |
|
961 | 961 | * :ghpull:`4195`: IPEP 21: widget messages |
|
962 | 962 | * :ghpull:`4434`: Fix broken link for Dive Into Python. |
|
963 | 963 | * :ghpull:`4428`: bump minimum tornado version to 3.1.0 |
|
964 | 964 | * :ghpull:`4302`: Add an Audio display class |
|
965 | 965 | * :ghpull:`4285`: Notebook javascript test suite using CasperJS |
|
966 | 966 | * :ghpull:`4420`: Allow checking for backports via milestone |
|
967 | 967 | * :ghpull:`4426`: set kernel cwd to notebook's directory |
|
968 | 968 | * :ghpull:`4389`: By default, Magics inherit from Configurable |
|
969 | 969 | * :ghpull:`4393`: Capture output from subprocs during test, and display on failure |
|
970 | 970 | * :ghpull:`4419`: define InlineBackend configurable in its own file |
|
971 | 971 | * :ghpull:`4303`: Multidirectory support for the Notebook |
|
972 | 972 | * :ghpull:`4371`: Restored ipython profile locate dir and fixed typo. (Fixes #3708). |
|
973 | 973 | * :ghpull:`4414`: Specify unicode type properly in rmagic |
|
974 | 974 | * :ghpull:`4413`: don't instantiate IPython shell as class attr |
|
975 | 975 | * :ghpull:`4400`: Remove 5s wait on inactivity on GUI inputhook loops |
|
976 | 976 | * :ghpull:`4412`: Fix traitlet _notify_trait by-ref issue |
|
977 | 977 | * :ghpull:`4378`: split adds new cell above, rather than below |
|
978 | 978 | * :ghpull:`4405`: Bring display of builtin types and functions in line with Py 2 |
|
979 | 979 | * :ghpull:`4367`: clean up of documentation files |
|
980 | 980 | * :ghpull:`4401`: Provide a name of the HistorySavingThread |
|
981 | 981 | * :ghpull:`4384`: fix menubar height measurement |
|
982 | 982 | * :ghpull:`4377`: fix tooltip cancel |
|
983 | 983 | * :ghpull:`4293`: Factorise code in tooltip for julia monkeypatching |
|
984 | 984 | * :ghpull:`4292`: improve js-completer logic. |
|
985 | 985 | * :ghpull:`4363`: set_next_input: keep only last input when repeatedly called in a single cell |
|
986 | 986 | * :ghpull:`4382`: Use safe_hasattr in dir2 |
|
987 | 987 | * :ghpull:`4379`: fix (CTRL-M -) shortcut for splitting cell in FF |
|
988 | 988 | * :ghpull:`4380`: Test and fixes for localinterfaces |
|
989 | 989 | * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError |
|
990 | 990 | * :ghpull:`4342`: Return value directly from the try block and avoid a variable |
|
991 | 991 | * :ghpull:`4154`: Center LaTeX and figures in markdown |
|
992 | 992 | * :ghpull:`4311`: %load -s to load specific functions or classes |
|
993 | 993 | * :ghpull:`4350`: WinHPC launcher fixes |
|
994 | 994 | * :ghpull:`4345`: Make irunner compatible with upcoming pexpect 3.0 interface |
|
995 | 995 | * :ghpull:`4276`: Support container methods in config |
|
996 | 996 | * :ghpull:`4359`: test_pylabtools also needs to modify matplotlib.rcParamsOrig |
|
997 | 997 | * :ghpull:`4355`: remove hardcoded box-orient |
|
998 | 998 | * :ghpull:`4333`: Add Edit Notebook Metadata to Edit menu |
|
999 | 999 | * :ghpull:`4349`: Script to update What's New file |
|
1000 | 1000 | * :ghpull:`4348`: Call PDF viewer after latex compiling (nbconvert) |
|
1001 | 1001 | * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt |
|
1002 | 1002 | * :ghpull:`4304`: use netifaces for faster IPython.utils.localinterfaces |
|
1003 | 1003 | * :ghpull:`4305`: Add even more ways to populate localinterfaces |
|
1004 | 1004 | * :ghpull:`4313`: remove strip_math_space |
|
1005 | 1005 | * :ghpull:`4325`: Some changes to improve readability. |
|
1006 | 1006 | * :ghpull:`4281`: Adjust tab completion widget if too close to bottom of page. |
|
1007 | 1007 | * :ghpull:`4347`: Remove pycolor script |
|
1008 | 1008 | * :ghpull:`4322`: Scroll to the top after change of slides in the IPython slides |
|
1009 | 1009 | * :ghpull:`4289`: Fix scrolling output (not working post clear_output changes) |
|
1010 | 1010 | * :ghpull:`4343`: Make parameters for kernel start method more general |
|
1011 | 1011 | * :ghpull:`4237`: Keywords should shadow magic functions |
|
1012 | 1012 | * :ghpull:`4338`: adjust default value of level in sync_imports |
|
1013 | 1013 | * :ghpull:`4328`: Remove unused loop variable. |
|
1014 | 1014 | * :ghpull:`4340`: fix mathjax download url to new GitHub format |
|
1015 | 1015 | * :ghpull:`4336`: use simple replacement rather than string formatting in format_kernel_cmd |
|
1016 | 1016 | * :ghpull:`4264`: catch unicode error listing profiles |
|
1017 | 1017 | * :ghpull:`4314`: catch EACCES when binding notebook app |
|
1018 | 1018 | * :ghpull:`4324`: Remove commented addthis toolbar |
|
1019 | 1019 | * :ghpull:`4327`: Use the with statement to open a file. |
|
1020 | 1020 | * :ghpull:`4318`: fix initial sys.path |
|
1021 | 1021 | * :ghpull:`4315`: Explicitly state what version of Pandoc is supported in docs/install |
|
1022 | 1022 | * :ghpull:`4316`: underscore missing on notebook_p4 |
|
1023 | 1023 | * :ghpull:`4295`: Implement boundary option for load magic (#1093) |
|
1024 | 1024 | * :ghpull:`4300`: traits defauts are strings not object |
|
1025 | 1025 | * :ghpull:`4297`: Remove an unreachable return statement. |
|
1026 | 1026 | * :ghpull:`4260`: Use subprocess for system_raw |
|
1027 | 1027 | * :ghpull:`4277`: add nbextensions |
|
1028 | 1028 | * :ghpull:`4294`: don't require tornado 3 in `--post serve` |
|
1029 | 1029 | * :ghpull:`4270`: adjust Scheduler timeout logic |
|
1030 | 1030 | * :ghpull:`4278`: add `-a` to easy_install command in libedit warning |
|
1031 | 1031 | * :ghpull:`4282`: Enable automatic line breaks in MathJax. |
|
1032 | 1032 | * :ghpull:`4279`: Fixing line-height of list items in tree view. |
|
1033 | 1033 | * :ghpull:`4253`: fixes #4039. |
|
1034 | 1034 | * :ghpull:`4131`: Add module's name argument in %%cython magic |
|
1035 | 1035 | * :ghpull:`4269`: Add mathletters option and longtable package to latex_base.tplx |
|
1036 | 1036 | * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline. |
|
1037 | 1037 | * :ghpull:`4271`: Hopefully fix ordering of output on ShiningPanda |
|
1038 | 1038 | * :ghpull:`4239`: more informative error message for bad serialization |
|
1039 | 1039 | * :ghpull:`4263`: Fix excludes for IPython.testing |
|
1040 | 1040 | * :ghpull:`4112`: nbconvert: Latex template refactor |
|
1041 | 1041 | * :ghpull:`4261`: Fixing a formatting error in the custom display example notebook. |
|
1042 | 1042 | * :ghpull:`4259`: Fix Windows test exclusions |
|
1043 | 1043 | * :ghpull:`4229`: Clear_output: Animation & widget related changes. |
|
1044 | 1044 | * :ghpull:`4151`: Refactor alias machinery |
|
1045 | 1045 | * :ghpull:`4153`: make timeit return an object that contains values |
|
1046 | 1046 | * :ghpull:`4258`: to-backport label is now 1.2 |
|
1047 | 1047 | * :ghpull:`4242`: Allow passing extra arguments to iptest through for nose |
|
1048 | 1048 | * :ghpull:`4257`: fix unicode argv parsing |
|
1049 | 1049 | * :ghpull:`4166`: avoid executing code in utils.localinterfaces at import time |
|
1050 | 1050 | * :ghpull:`4214`: engine ID metadata should be unicode, not bytes |
|
1051 | 1051 | * :ghpull:`4232`: no highlight if no language specified |
|
1052 | 1052 | * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified |
|
1053 | 1053 | * :ghpull:`4207`: add `setup.py css` command |
|
1054 | 1054 | * :ghpull:`4224`: clear previous callbacks on execute |
|
1055 | 1055 | * :ghpull:`4180`: Iptest refactoring |
|
1056 | 1056 | * :ghpull:`4105`: JS output area misaligned |
|
1057 | 1057 | * :ghpull:`4220`: Various improvements to docs formatting |
|
1058 | 1058 | * :ghpull:`4187`: Select adequate highlighter for cell magic languages |
|
1059 | 1059 | * :ghpull:`4228`: update -dev docs to reflect latest stable version |
|
1060 | 1060 | * :ghpull:`4219`: Drop bundled argparse |
|
1061 | 1061 | * :ghpull:`3851`: Adds an explicit newline for pretty-printing. |
|
1062 | 1062 | * :ghpull:`3622`: Drop fakemodule |
|
1063 | 1063 | * :ghpull:`4080`: change default behavior of database task storage |
|
1064 | 1064 | * :ghpull:`4197`: enable cython highlight in notebook |
|
1065 | 1065 | * :ghpull:`4225`: Updated docstring for core.display.Image |
|
1066 | 1066 | * :ghpull:`4175`: nbconvert: Jinjaless exporter base |
|
1067 | 1067 | * :ghpull:`4208`: Added a lightweight "htmlcore" Makefile entry |
|
1068 | 1068 | * :ghpull:`4209`: Magic doc fixes |
|
1069 | 1069 | * :ghpull:`4217`: avoid importing numpy at the module level |
|
1070 | 1070 | * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3 |
|
1071 | 1071 | * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on |
|
1072 | 1072 | * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix |
|
1073 | 1073 | * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess |
|
1074 | 1074 | * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel |
|
1075 | 1075 | * :ghpull:`4201`: HeadingCells cannot be split or merged |
|
1076 | 1076 | * :ghpull:`4048`: finish up speaker-notes PR |
|
1077 | 1077 | * :ghpull:`4079`: trigger `Kernel.status_started` after websockets open |
|
1078 | 1078 | * :ghpull:`4186`: moved DummyMod to proper namespace to enable dill pickling |
|
1079 | 1079 | * :ghpull:`4190`: update version-check message in setup.py and IPython.__init__ |
|
1080 | 1080 | * :ghpull:`4188`: Allow user_ns trait to be None |
|
1081 | 1081 | * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS) |
|
1082 | 1082 | * :ghpull:`4174`: various issues in markdown and rst templates |
|
1083 | 1083 | * :ghpull:`4178`: add missing data_javascript |
|
1084 | 1084 | * :ghpull:`4168`: Py3 failing tests |
|
1085 | 1085 | * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers |
|
1086 | 1086 | * :ghpull:`4043`: don't 'restore_bytes' in from_JSON |
|
1087 | 1087 | * :ghpull:`4149`: reuse more kernels in kernel tests |
|
1088 | 1088 | * :ghpull:`4163`: Fix for incorrect default encoding on Windows. |
|
1089 | 1089 | * :ghpull:`4136`: catch javascript errors in any output |
|
1090 | 1090 | * :ghpull:`4171`: add nbconvert config file when creating profiles |
|
1091 | 1091 | * :ghpull:`4172`: add ability to check what PRs should be backported in backport_pr |
|
1092 | 1092 | * :ghpull:`4167`: --fast flag for test suite! |
|
1093 | 1093 | * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all |
|
1094 | 1094 | * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows |
|
1095 | 1095 | * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS |
|
1096 | 1096 | * :ghpull:`4165`: Remove use of parametric tests |
|
1097 | 1097 | * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping |
|
1098 | 1098 | * :ghpull:`4083`: Implement a better check for hidden values for %who etc. |
|
1099 | 1099 | * :ghpull:`4147`: Reference notebook examples, fixes #4146. |
|
1100 | 1100 | * :ghpull:`4065`: do not include specific css in embedable one |
|
1101 | 1101 | * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x |
|
1102 | 1102 | * :ghpull:`4074`: close Client sockets if connection fails |
|
1103 | 1103 | * :ghpull:`4064`: Store default codemirror mode in only 1 place |
|
1104 | 1104 | * :ghpull:`4104`: Add way to install MathJax to a particular profile |
|
1105 | 1105 | * :ghpull:`4161`: Select name when renaming a notebook |
|
1106 | 1106 | * :ghpull:`4160`: Add quotes around ".[notebook]" in readme |
|
1107 | 1107 | * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string |
|
1108 | 1108 | * :ghpull:`4090`: Add LaTeX citation handling to nbconvert |
|
1109 | 1109 | * :ghpull:`4143`: update example custom.js |
|
1110 | 1110 | * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc |
|
1111 | 1111 | * :ghpull:`4126`: update tox.ini |
|
1112 | 1112 | * :ghpull:`4141`: add files with a separate `add` call in backport_pr |
|
1113 | 1113 | * :ghpull:`4137`: Restore autorestore option for storemagic |
|
1114 | 1114 | * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel |
|
1115 | 1115 | * :ghpull:`4120`: support `input` in Python 2 kernels |
|
1116 | 1116 | * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior |
|
1117 | 1117 | * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first |
|
1118 | 1118 | * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat. |
|
1119 | 1119 | * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel |
|
1120 | 1120 | * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue. |
|
1121 | 1121 | * :ghpull:`4070`: New changes should go into pr/ folder |
|
1122 | 1122 | * :ghpull:`4054`: use unicode for HTML export |
|
1123 | 1123 | * :ghpull:`4106`: fix a couple of default block values |
|
1124 | 1124 | * :ghpull:`4107`: update parallel magic tests with capture_output API |
|
1125 | 1125 | * :ghpull:`4102`: Fix clashes between debugger tests and coverage.py |
|
1126 | 1126 | * :ghpull:`4115`: Update docs on declaring a magic function |
|
1127 | 1127 | * :ghpull:`4101`: restore accidentally removed EngineError |
|
1128 | 1128 | * :ghpull:`4096`: minor docs changes |
|
1129 | 1129 | * :ghpull:`4094`: Update target branch before backporting PR |
|
1130 | 1130 | * :ghpull:`4069`: Drop monkeypatch for pre-1.0 nose |
|
1131 | 1131 | * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line |
|
1132 | 1132 | * :ghpull:`4091`: Make Qt console banner configurable |
|
1133 | 1133 | * :ghpull:`4086`: fix missing errno import |
|
1134 | 1134 | * :ghpull:`4084`: Use msvcrt.getwch() for Windows pager. |
|
1135 | 1135 | * :ghpull:`4073`: rename ``post_processors`` submodule to ``postprocessors`` |
|
1136 | 1136 | * :ghpull:`4075`: Update supported Python versions in tools/test_pr |
|
1137 | 1137 | * :ghpull:`4068`: minor bug fix, define 'cell' in dialog.js. |
|
1138 | 1138 | * :ghpull:`4044`: rename call methods to transform and postprocess |
|
1139 | 1139 | * :ghpull:`3744`: capture rich output as well as stdout/err in capture_output |
|
1140 | 1140 | * :ghpull:`3969`: "use strict" in most (if not all) our javascript |
|
1141 | 1141 | * :ghpull:`4030`: exclude `.git` in MANIFEST.in |
|
1142 | 1142 | * :ghpull:`4047`: Use istype() when checking if canned object is a dict |
|
1143 | 1143 | * :ghpull:`4031`: don't close_fds on Windows |
|
1144 | 1144 | * :ghpull:`4029`: bson.Binary moved |
|
1145 | 1145 | * :ghpull:`3883`: skip test on unix when x11 not available |
|
1146 | 1146 | * :ghpull:`3863`: Added working speaker notes for slides. |
|
1147 | 1147 | * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path |
|
1148 | 1148 | * :ghpull:`4002`: Drop Python 2.6 and 3.2 |
|
1149 | 1149 | * :ghpull:`4026`: small doc fix in nbconvert |
|
1150 | 1150 | * :ghpull:`4016`: Fix IPython.start_* functions |
|
1151 | 1151 | * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays |
|
1152 | 1152 | * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs |
|
1153 | 1153 | * :ghpull:`4018`: Fix warning when running IPython.kernel tests |
|
1154 | 1154 | * :ghpull:`4017`: Add REPL-like printing of final/return value to %%R cell magic |
|
1155 | 1155 | * :ghpull:`4019`: Test skipping without unicode paths |
|
1156 | 1156 | * :ghpull:`4008`: Transform code before %prun/%%prun runs |
|
1157 | 1157 | * :ghpull:`4014`: Fix typo in ipapp |
|
1158 | 1158 | * :ghpull:`3997`: DOC: typos + rewording in examples/notebooks/Cell Magics.ipynb |
|
1159 | 1159 | * :ghpull:`3914`: nbconvert: Transformer tests |
|
1160 | 1160 | * :ghpull:`3987`: get files list in backport_pr |
|
1161 | 1161 | * :ghpull:`3923`: nbconvert: Writer tests |
|
1162 | 1162 | * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3 |
|
1163 | 1163 | * :ghpull:`3937`: make tab visible in codemirror and light red background |
|
1164 | 1164 | * :ghpull:`3933`: nbconvert: Post-processor tests |
|
1165 | 1165 | * :ghpull:`3978`: fix `--existing` with non-localhost IP |
|
1166 | 1166 | * :ghpull:`3939`: minor checkpoint cleanup |
|
1167 | 1167 | * :ghpull:`3955`: complete on % for magic in notebook |
|
1168 | 1168 | * :ghpull:`3981`: BF: fix nbconert rst input prompt spacing |
|
1169 | 1169 | * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert |
|
1170 | 1170 | * :ghpull:`3973`: logging.Formatter is not new-style in 2.6 |
|
1171 | 1171 | |
|
1172 | 1172 | Issues (434): |
|
1173 | 1173 | |
|
1174 | 1174 | * :ghissue:`5476`: For 2.0: Fix links in Notebook Help Menu |
|
1175 | 1175 | * :ghissue:`5337`: Examples reorganization |
|
1176 | 1176 | * :ghissue:`5436`: CodeMirror shortcuts in QuickHelp |
|
1177 | 1177 | * :ghissue:`5444`: Fix numeric verification for Int and Float text widgets. |
|
1178 | 1178 | * :ghissue:`5443`: Int and Float Widgets don't allow negative signs |
|
1179 | 1179 | * :ghissue:`5449`: Stretch keyboard shortcut dialog |
|
1180 | 1180 | * :ghissue:`5471`: Add coding magic comment to nbconvert Python template |
|
1181 | 1181 | * :ghissue:`5470`: UTF-8 Issue When Converting Notebook to a Script. |
|
1182 | 1182 | * :ghissue:`5369`: FormatterWarning for SVG matplotlib output in notebook |
|
1183 | 1183 | * :ghissue:`5460`: Can't start the notebook server specifying a notebook |
|
1184 | 1184 | * :ghissue:`2918`: CodeMirror related issues. |
|
1185 | 1185 | * :ghissue:`5431`: update github_stats and gh_api for 2.0 |
|
1186 | 1186 | * :ghissue:`4887`: Add tests for modal UI |
|
1187 | 1187 | * :ghissue:`5290`: Add dual mode JS tests |
|
1188 | 1188 | * :ghissue:`5448`: Cmd+/ shortcut doesn't work in IPython master |
|
1189 | 1189 | * :ghissue:`5447`: Add %%python2 cell magic |
|
1190 | 1190 | * :ghissue:`5442`: Make a "python2" alias or rename the "python"cell magic. |
|
1191 | 1191 | * :ghissue:`2495`: non-ascii characters in the path |
|
1192 | 1192 | * :ghissue:`4554`: dictDB: Exception due to str to datetime comparission |
|
1193 | 1193 | * :ghissue:`5006`: Comm code is not run in the same context as notebook code |
|
1194 | 1194 | * :ghissue:`5118`: Weird interact behavior |
|
1195 | 1195 | * :ghissue:`5401`: Empty code cells in nbconvert rst output cause problems |
|
1196 | 1196 | * :ghissue:`5434`: fix check for empty cells in rst template |
|
1197 | 1197 | * :ghissue:`4944`: Trouble finding ipynb path in Windows 8 |
|
1198 | 1198 | * :ghissue:`4605`: Change the url of Editor Shorcuts in the notebook menu. |
|
1199 | 1199 | * :ghissue:`5425`: Update COPYING.txt |
|
1200 | 1200 | * :ghissue:`5348`: BUG: HistoryAccessor.get_session_info(0) - exception |
|
1201 | 1201 | * :ghissue:`5293`: Javascript("element.append()") looks broken. |
|
1202 | 1202 | * :ghissue:`5363`: Disable saving if notebook has stopped loading |
|
1203 | 1203 | * :ghissue:`5189`: Tooltip pager mode is broken |
|
1204 | 1204 | * :ghissue:`5330`: Updates to shell reference doc |
|
1205 | 1205 | * :ghissue:`5397`: Accordion widget broken |
|
1206 | 1206 | * :ghissue:`5106`: Flexbox CSS specificity bugs |
|
1207 | 1207 | * :ghissue:`5297`: tooltip triggers focus bug |
|
1208 | 1208 | * :ghissue:`5417`: scp checking for existence of directories: directory names are incorrect |
|
1209 | 1209 | * :ghissue:`5302`: Parallel engine registration fails for slow engines |
|
1210 | 1210 | * :ghissue:`5334`: notebook's split-cell shortcut dangerous / incompatible with Neo layout (for instance) |
|
1211 | 1211 | * :ghissue:`5324`: Style of `raw_input` UI is off in notebook |
|
1212 | 1212 | * :ghissue:`5350`: Converting notebooks with spaces in their names to RST gives broken images |
|
1213 | 1213 | * :ghissue:`5049`: update quickhelp on adding and removing shortcuts |
|
1214 | 1214 | * :ghissue:`4941`: Eliminating display of intermediate stages in progress bars |
|
1215 | 1215 | * :ghissue:`5345`: nbconvert to markdown does not use backticks |
|
1216 | 1216 | * :ghissue:`5357`: catch exception in copystat |
|
1217 | 1217 | * :ghissue:`5351`: Notebook saving fails on smb share |
|
1218 | 1218 | * :ghissue:`4946`: TeX produced cannot be converted to PDF |
|
1219 | 1219 | * :ghissue:`5347`: pretty print list too slow |
|
1220 | 1220 | * :ghissue:`5238`: Raw cell placeholder is not removed when you edit the cell |
|
1221 | 1221 | * :ghissue:`5382`: Qtconsole doesn't run in Python 3 |
|
1222 | 1222 | * :ghissue:`5378`: Unexpected and new conflict between PyFileConfigLoader and IPythonQtConsoleApp |
|
1223 | 1223 | * :ghissue:`4945`: Heading/cells positioning problem and cell output wrapping |
|
1224 | 1224 | * :ghissue:`5084`: Consistent approach for HTML/JS output on nbviewer |
|
1225 | 1225 | * :ghissue:`4902`: print preview does not work, custom.css not found |
|
1226 | 1226 | * :ghissue:`5336`: TypeError in bootstrap-tour.min.js |
|
1227 | 1227 | * :ghissue:`5303`: Changed Hub.registration_timeout to be a config input. |
|
1228 | 1228 | * :ghissue:`995`: Paste-able mode in terminal |
|
1229 | 1229 | * :ghissue:`5305`: Tuple unpacking for shell escape |
|
1230 | 1230 | * :ghissue:`5232`: Make nbconvert html full output like notebook's html. |
|
1231 | 1231 | * :ghissue:`5224`: Audit nbconvert HTML output |
|
1232 | 1232 | * :ghissue:`5253`: display any output from this session in terminal console |
|
1233 | 1233 | * :ghissue:`5251`: ipython console ignoring some stream messages? |
|
1234 | 1234 | * :ghissue:`4802`: Tour of the notebook UI (was UI elements inline with highlighting) |
|
1235 | 1235 | * :ghissue:`5103`: Moving Constructor definition to the top like a Function definition |
|
1236 | 1236 | * :ghissue:`5264`: Test failures on master with Anaconda |
|
1237 | 1237 | * :ghissue:`4833`: Serve /usr/share/javascript at /_sysassets/javascript/ in notebook |
|
1238 | 1238 | * :ghissue:`5071`: Prevent %pylab from clobbering interactive |
|
1239 | 1239 | * :ghissue:`5282`: Exception in widget __del__ methods in Python 3.4. |
|
1240 | 1240 | * :ghissue:`5280`: append Firefox overflow-x fix |
|
1241 | 1241 | * :ghissue:`5120`: append Firefox overflow-x fix, again |
|
1242 | 1242 | * :ghissue:`4127`: autoreload shouldn't rely on .pyc modification times |
|
1243 | 1243 | * :ghissue:`5272`: allow highlighting language to be set from notebook metadata |
|
1244 | 1244 | * :ghissue:`5050`: Notebook cells truncated with Firefox |
|
1245 | 1245 | * :ghissue:`4839`: Error in Session.send_raw() |
|
1246 | 1246 | * :ghissue:`5188`: New events system |
|
1247 | 1247 | * :ghissue:`5076`: Refactor keyboard handling |
|
1248 | 1248 | * :ghissue:`4886`: Refactor and consolidate different keyboard logic in JavaScript code |
|
1249 | 1249 | * :ghissue:`5002`: the green cell border moving forever in Chrome, when there are many code cells. |
|
1250 | 1250 | * :ghissue:`5259`: Codemirror still active in command mode |
|
1251 | 1251 | * :ghissue:`5219`: Output images appear as small thumbnails (Notebook) |
|
1252 | 1252 | * :ghissue:`4829`: Not able to connect qtconsole in Windows 8 |
|
1253 | 1253 | * :ghissue:`5152`: Hide __pycache__ in dashboard directory list |
|
1254 | 1254 | * :ghissue:`5151`: Case-insesitive sort for dashboard list |
|
1255 | 1255 | * :ghissue:`4603`: Warn when overwriting a notebook with upload |
|
1256 | 1256 | * :ghissue:`4895`: Improvements to %run completions |
|
1257 | 1257 | * :ghissue:`3459`: Filename completion when run script with %run |
|
1258 | 1258 | * :ghissue:`5225`: Add JavaScript to nbconvert HTML display priority |
|
1259 | 1259 | * :ghissue:`5034`: Audit the places where we call `.html(something)` |
|
1260 | 1260 | * :ghissue:`5094`: Dancing cells in notebook |
|
1261 | 1261 | * :ghissue:`4999`: Notebook focus effects |
|
1262 | 1262 | * :ghissue:`5149`: Clicking on a TextBoxWidget in FF completely breaks dual mode. |
|
1263 | 1263 | * :ghissue:`5207`: Children fire event |
|
1264 | 1264 | * :ghissue:`5227`: display_method of objects with custom __getattr__ |
|
1265 | 1265 | * :ghissue:`5236`: Cursor keys do not work to leave Markdown cell while it's being edited |
|
1266 | 1266 | * :ghissue:`5205`: Use CTuple traitlet for Widget children |
|
1267 | 1267 | * :ghissue:`5230`: notebook rename does not respect url prefix |
|
1268 | 1268 | * :ghissue:`5218`: Test failures with Python 3 and enabled warnings |
|
1269 | 1269 | * :ghissue:`5115`: Page Breaks for Print Preview Broken by display: flex - Simple CSS Fix |
|
1270 | 1270 | * :ghissue:`5024`: Make nbconvert HTML output smart about page breaking |
|
1271 | 1271 | * :ghissue:`4985`: Add automatic Closebrackets function to Codemirror. |
|
1272 | 1272 | * :ghissue:`5184`: print '\xa' crashes the interactive shell |
|
1273 | 1273 | * :ghissue:`5214`: Downloading notebook as Python (.py) fails |
|
1274 | 1274 | * :ghissue:`5211`: AttributeError: 'module' object has no attribute '_outputfile' |
|
1275 | 1275 | * :ghissue:`5206`: [CSS?] Inconsistencies in nbconvert divs and IPython Notebook divs? |
|
1276 | 1276 | * :ghissue:`5201`: node != nodejs within Debian packages |
|
1277 | 1277 | * :ghissue:`5112`: band-aid for completion |
|
1278 | 1278 | * :ghissue:`4860`: Completer As-You-Type Broken |
|
1279 | 1279 | * :ghissue:`5116`: reorganize who knows what about paths |
|
1280 | 1280 | * :ghissue:`4973`: Adding security.js with 1st attempt at is_safe |
|
1281 | 1281 | * :ghissue:`5164`: test_oinspect.test_calltip_builtin failure with python3.4 |
|
1282 | 1282 | * :ghissue:`5127`: Widgets: skip intermediate callbacks during throttling |
|
1283 | 1283 | * :ghissue:`5013`: Widget alignment differs between FF and Chrome |
|
1284 | 1284 | * :ghissue:`5141`: tornado error static file |
|
1285 | 1285 | * :ghissue:`5160`: TemporaryWorkingDirectory incompatible with python3.4 |
|
1286 | 1286 | * :ghissue:`5140`: WIP: %kernels magic |
|
1287 | 1287 | * :ghissue:`4987`: Widget lifecycle problems |
|
1288 | 1288 | * :ghissue:`5129`: UCS package break latex export on non-ascii |
|
1289 | 1289 | * :ghissue:`4986`: Cell horizontal scrollbar is missing in FF but not in Chrome |
|
1290 | 1290 | * :ghissue:`4685`: nbconvert ignores image size metadata |
|
1291 | 1291 | * :ghissue:`5155`: Notebook logout button does not work (source typo) |
|
1292 | 1292 | * :ghissue:`2678`: Ctrl-m keyboard shortcut clash on Chrome OS |
|
1293 | 1293 | * :ghissue:`5113`: ButtonWidget without caption wrong height. |
|
1294 | 1294 | * :ghissue:`4778`: add APIs for installing notebook extensions |
|
1295 | 1295 | * :ghissue:`5046`: python setup.py failed vs git submodule update worked |
|
1296 | 1296 | * :ghissue:`4925`: Notebook manager api fixes |
|
1297 | 1297 | * :ghissue:`5073`: Cannot align widgets horizontally in the notebook |
|
1298 | 1298 | * :ghissue:`4996`: require print_method to be a bound method |
|
1299 | 1299 | * :ghissue:`4990`: _repr_html_ exception reporting corner case when using type(foo) |
|
1300 | 1300 | * :ghissue:`5099`: Notebook: Changing base_project_url results in failed WebSockets call |
|
1301 | 1301 | * :ghissue:`5096`: Client.map is not fault tolerant |
|
1302 | 1302 | * :ghissue:`4997`: Inconsistent %matplotlib qt behavior |
|
1303 | 1303 | * :ghissue:`5041`: Remove more .html(...) calls. |
|
1304 | 1304 | * :ghissue:`5078`: Updating JS tests README.md |
|
1305 | 1305 | * :ghissue:`4977`: ensure scp destination directories exist (with mkdir -p) |
|
1306 | 1306 | * :ghissue:`3411`: ipython parallel: scp failure. |
|
1307 | 1307 | * :ghissue:`5064`: Errors during interact display at the terminal, not anywhere in the notebook |
|
1308 | 1308 | * :ghissue:`4921`: Add PDF formatter and handling |
|
1309 | 1309 | * :ghissue:`4920`: Adding PDFFormatter and kernel side handling of PDF display data |
|
1310 | 1310 | * :ghissue:`5048`: Add edit/command mode indicator |
|
1311 | 1311 | * :ghissue:`4889`: Add UI element for indicating command/edit modes |
|
1312 | 1312 | * :ghissue:`5052`: Add q to toggle the pager. |
|
1313 | 1313 | * :ghissue:`5000`: Closing pager with keyboard in modal UI |
|
1314 | 1314 | * :ghissue:`5069`: Box model changes broke the Keyboard Shortcuts help modal |
|
1315 | 1315 | * :ghissue:`4960`: Interact/Interactive for widget |
|
1316 | 1316 | * :ghissue:`4883`: Implement interact/interactive for widgets |
|
1317 | 1317 | * :ghissue:`5038`: Fix multiple press keyboard events |
|
1318 | 1318 | * :ghissue:`5054`: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc6 in position 1: ordinal not in range(128) |
|
1319 | 1319 | * :ghissue:`5031`: Bug during integration of IPython console in Qt application |
|
1320 | 1320 | * :ghissue:`5057`: iopubwatcher.py example is broken. |
|
1321 | 1321 | * :ghissue:`4747`: Add event for output_area adding an output |
|
1322 | 1322 | * :ghissue:`5001`: Add directory navigation to dashboard |
|
1323 | 1323 | * :ghissue:`5016`: Help menu external-link icons break layout in FF |
|
1324 | 1324 | * :ghissue:`4885`: Modal UI behavior changes |
|
1325 | 1325 | * :ghissue:`5009`: notebook signatures don't work |
|
1326 | 1326 | * :ghissue:`4975`: setup.py changes for 2.0 |
|
1327 | 1327 | * :ghissue:`4774`: emit event on appended element on dom |
|
1328 | 1328 | * :ghissue:`5020`: Python Lists translated to javascript objects in widgets |
|
1329 | 1329 | * :ghissue:`5003`: Fix pretty reprs of super() objects |
|
1330 | 1330 | * :ghissue:`5012`: Make `SelectionWidget.values` a dict |
|
1331 | 1331 | * :ghissue:`4961`: Bug when constructing a selection widget with both values and labels |
|
1332 | 1332 | * :ghissue:`4283`: A `<` in a markdown cell strips cell content when converting to latex |
|
1333 | 1333 | * :ghissue:`4006`: iptest IPython broken |
|
1334 | 1334 | * :ghissue:`4251`: & escaped to & in tex ? |
|
1335 | 1335 | * :ghissue:`5027`: pin lessc to 1.4 |
|
1336 | 1336 | * :ghissue:`4323`: Take 2: citation2latex filter (using HTMLParser) |
|
1337 | 1337 | * :ghissue:`4196`: Printing notebook from browser gives 1-page truncated output |
|
1338 | 1338 | * :ghissue:`4842`: more subtle kernel indicator |
|
1339 | 1339 | * :ghissue:`4057`: No path to notebook examples from Help menu |
|
1340 | 1340 | * :ghissue:`5015`: don't write cell.trusted to disk |
|
1341 | 1341 | * :ghissue:`4617`: Changed url link in Help dropdown menu. |
|
1342 | 1342 | * :ghissue:`4976`: Container widget layout broken on Firefox |
|
1343 | 1343 | * :ghissue:`4981`: Vertical slider layout broken |
|
1344 | 1344 | * :ghissue:`4793`: Message spec changes related to `clear_output` |
|
1345 | 1345 | * :ghissue:`4982`: Live readout for slider widgets |
|
1346 | 1346 | * :ghissue:`4813`: make help menu a template |
|
1347 | 1347 | * :ghissue:`4989`: Filename tab completion completely broken |
|
1348 | 1348 | * :ghissue:`1380`: Tab should insert 4 spaces in # comment lines |
|
1349 | 1349 | * :ghissue:`2888`: spaces vs tabs |
|
1350 | 1350 | * :ghissue:`1193`: Allow resizing figures in notebook |
|
1351 | 1351 | * :ghissue:`4504`: Allow input transformers to raise SyntaxError |
|
1352 | 1352 | * :ghissue:`4697`: Problems with height after toggling header and toolbar... |
|
1353 | 1353 | * :ghissue:`4951`: TextWidget to code cell command mode bug. |
|
1354 | 1354 | * :ghissue:`4809`: Arbitrary scrolling (jumping) in clicks in modal UI for notebook |
|
1355 | 1355 | * :ghissue:`4971`: Fixing issues with js tests |
|
1356 | 1356 | * :ghissue:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt |
|
1357 | 1357 | * :ghissue:`4892`: IPython.qt test failure with python3.4 |
|
1358 | 1358 | * :ghissue:`4863`: BUG: cannot create an OBJECT array from memory buffer |
|
1359 | 1359 | * :ghissue:`4704`: Subcommand `profile` ignores --ipython-dir |
|
1360 | 1360 | * :ghissue:`4845`: Add Origin Checking. |
|
1361 | 1361 | * :ghissue:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress |
|
1362 | 1362 | * :ghissue:`4956`: Shift-Enter does not move to next cell |
|
1363 | 1363 | * :ghissue:`4662`: Menu cleanup |
|
1364 | 1364 | * :ghissue:`4824`: sign notebooks |
|
1365 | 1365 | * :ghissue:`4848`: avoid import of nearby temporary with %edit |
|
1366 | 1366 | * :ghissue:`4731`: %edit files mistakenly import modules in /tmp |
|
1367 | 1367 | * :ghissue:`4950`: Two fixes for file upload related bugs |
|
1368 | 1368 | * :ghissue:`4871`: Notebook upload fails after Delete |
|
1369 | 1369 | * :ghissue:`4825`: File Upload URL set incorrectly |
|
1370 | 1370 | * :ghissue:`3867`: display.FileLinks should work in the exported html verion of a notebook |
|
1371 | 1371 | * :ghissue:`4948`: reveal: ipython css overrides reveal themes |
|
1372 | 1372 | * :ghissue:`4947`: reveal: slides that are too big? |
|
1373 | 1373 | * :ghissue:`4051`: Test failures with Python 3 and enabled warnings |
|
1374 | 1374 | * :ghissue:`3633`: outstanding issues over in ipython/nbconvert repo |
|
1375 | 1375 | * :ghissue:`4087`: Sympy printing in the example notebook |
|
1376 | 1376 | * :ghissue:`4627`: Document various QtConsole embedding approaches. |
|
1377 | 1377 | * :ghissue:`4849`: Various unicode fixes (mostly on Windows) |
|
1378 | 1378 | * :ghissue:`3653`: autocompletion in "from package import <tab>" |
|
1379 | 1379 | * :ghissue:`4583`: overwrite? prompt gets EOFError in 2 process |
|
1380 | 1380 | * :ghissue:`4807`: Correct handling of ansi colour codes when nbconverting to latex |
|
1381 | 1381 | * :ghissue:`4611`: Document how to compile .less files in dev docs. |
|
1382 | 1382 | * :ghissue:`4618`: "Editor Shortcuts" link is broken in help menu dropdown notebook |
|
1383 | 1383 | * :ghissue:`4522`: DeprecationWarning: the sets module is deprecated |
|
1384 | 1384 | * :ghissue:`4368`: No symlink from ipython to ipython3 when inside a python3 virtualenv |
|
1385 | 1385 | * :ghissue:`4234`: Math without $$ doesn't show up when converted to slides |
|
1386 | 1386 | * :ghissue:`4194`: config.TerminalIPythonApp.nosep does not work |
|
1387 | 1387 | * :ghissue:`1491`: prefilter not called for multi-line notebook cells |
|
1388 | 1388 | * :ghissue:`4001`: Windows IPython executable /scripts/ipython not working |
|
1389 | 1389 | * :ghissue:`3959`: think more carefully about text wrapping in nbconvert |
|
1390 | 1390 | * :ghissue:`4907`: Test for traceback depth fails on Windows |
|
1391 | 1391 | * :ghissue:`4906`: Test for IPython.embed() fails on Windows |
|
1392 | 1392 | * :ghissue:`4912`: Skip some Windows io failures |
|
1393 | 1393 | * :ghissue:`3700`: stdout/stderr should be flushed printing exception output... |
|
1394 | 1394 | * :ghissue:`1181`: greedy completer bug in terminal console |
|
1395 | 1395 | * :ghissue:`2032`: check for a few places we should be using DEFAULT_ENCODING |
|
1396 | 1396 | * :ghissue:`4882`: Too many files open when starting and stopping kernel repeatedly |
|
1397 | 1397 | * :ghissue:`4880`: set profile name from profile_dir |
|
1398 | 1398 | * :ghissue:`4238`: parallel.Client() not using profile that notebook was run with? |
|
1399 | 1399 | * :ghissue:`4853`: fix setting image height/width from metadata |
|
1400 | 1400 | * :ghissue:`4786`: Reduce spacing of heading cells |
|
1401 | 1401 | * :ghissue:`4680`: Minimal pandoc version warning |
|
1402 | 1402 | * :ghissue:`3707`: nbconvert: Remove IPython magic commands from --format="python" output |
|
1403 | 1403 | * :ghissue:`4130`: PDF figures as links from png or svg figures |
|
1404 | 1404 | * :ghissue:`3919`: Allow --profile to be passed a dir. |
|
1405 | 1405 | * :ghissue:`2136`: Handle hard newlines in pretty printer |
|
1406 | 1406 | * :ghissue:`4790`: Notebook modal UI: "merge cell below" key binding, `shift+=`, does not work with some keyboard layouts |
|
1407 | 1407 | * :ghissue:`4884`: Keyboard shortcut changes |
|
1408 | 1408 | * :ghissue:`1184`: slow handling of keyboard input |
|
1409 | 1409 | * :ghissue:`4913`: Mathjax, Markdown, tex, env* and italic |
|
1410 | 1410 | * :ghissue:`3972`: nbconvert: Template output testing |
|
1411 | 1411 | * :ghissue:`4903`: use https for all embeds |
|
1412 | 1412 | * :ghissue:`4874`: --debug does not work if you set .kernel_cmd |
|
1413 | 1413 | * :ghissue:`4679`: JPG compression for inline pylab |
|
1414 | 1414 | * :ghissue:`4708`: Fix indent and center |
|
1415 | 1415 | * :ghissue:`4789`: fix IPython.embed |
|
1416 | 1416 | * :ghissue:`4759`: Application._load_config_files log parameter default fails |
|
1417 | 1417 | * :ghissue:`3153`: docs / file menu: explain how to exit the notebook |
|
1418 | 1418 | * :ghissue:`4791`: Did updates to ipython_directive bork support for cython magic snippets? |
|
1419 | * :ghissue:`4385`: "Part 4 - Markdown Cells.ipynb" nbviewer example seems not well referenced in current online documentation page http://ipython.org/ipython-doc/stable/interactive/notebook.htm | |
|
1419 | * :ghissue:`4385`: "Part 4 - Markdown Cells.ipynb" nbviewer example seems not well referenced in current online documentation page https://ipython.org/ipython-doc/stable/interactive/notebook.htm | |
|
1420 | 1420 | * :ghissue:`4655`: prefer marked to pandoc for markdown2html |
|
1421 | 1421 | * :ghissue:`3441`: Fix focus related problems in the notebook |
|
1422 | 1422 | * :ghissue:`3402`: Feature Request: Save As (latex, html,..etc) as a menu option in Notebook rather than explicit need to invoke nbconvert |
|
1423 | 1423 | * :ghissue:`3224`: Revisit layout of notebook area |
|
1424 | 1424 | * :ghissue:`2746`: rerunning a cell with long output (exception) scrolls to much (html notebook) |
|
1425 | 1425 | * :ghissue:`2667`: can't save opened notebook if accidentally delete the notebook in the dashboard |
|
1426 | 1426 | * :ghissue:`3026`: Reporting errors from _repr_<type>_ methods |
|
1427 | 1427 | * :ghissue:`1844`: Notebook does not exist and permalinks |
|
1428 | 1428 | * :ghissue:`2450`: [closed PR] Prevent jumping of window to input when output is clicked. |
|
1429 | 1429 | * :ghissue:`3166`: IPEP 16: Notebook multi directory dashboard and URL mapping |
|
1430 | 1430 | * :ghissue:`3691`: Slight misalignment of Notebook menu bar with focus box |
|
1431 | 1431 | * :ghissue:`4875`: Empty tooltip with `object_found = false` still being shown |
|
1432 | 1432 | * :ghissue:`4432`: The SSL cert for the MathJax CDN is invalid and URL is not protocol agnostic |
|
1433 | 1433 | * :ghissue:`2633`: Help text should leave current cell active |
|
1434 | 1434 | * :ghissue:`3976`: DOC: Pandas link on the notebook help menu? |
|
1435 | 1435 | * :ghissue:`4082`: /new handler redirect cached by browser |
|
1436 | 1436 | * :ghissue:`4298`: Slow ipython --pylab and ipython notebook startup |
|
1437 | 1437 | * :ghissue:`4545`: %store magic not working |
|
1438 | 1438 | * :ghissue:`4610`: toolbar UI enhancements |
|
1439 | 1439 | * :ghissue:`4782`: New modal UI |
|
1440 | 1440 | * :ghissue:`4732`: Accents in notebook names and in command-line (nbconvert) |
|
1441 | 1441 | * :ghissue:`4752`: link broken in docs/examples |
|
1442 | 1442 | * :ghissue:`4835`: running ipython on python files adds an extra traceback frame |
|
1443 | 1443 | * :ghissue:`4792`: repr_html exception warning on qtconsole with pandas #4745 |
|
1444 | 1444 | * :ghissue:`4834`: function tooltip issues |
|
1445 | 1445 | * :ghissue:`4808`: Docstrings in Notebook not displayed properly and introspection |
|
1446 | 1446 | * :ghissue:`4846`: Remove some leftover traces of irunner |
|
1447 | 1447 | * :ghissue:`4810`: ipcluster bug in clean_logs flag |
|
1448 | 1448 | * :ghissue:`4812`: update CodeMirror for the notebook |
|
1449 | 1449 | * :ghissue:`671`: add migration guide for old IPython config |
|
1450 | 1450 | * :ghissue:`4783`: ipython 2dev under windows / (win)python 3.3 experiment |
|
1451 | 1451 | * :ghissue:`4772`: Notebook server info files |
|
1452 | 1452 | * :ghissue:`4765`: missing build script for highlight.js |
|
1453 | 1453 | * :ghissue:`4787`: non-python kernels run python code with qtconsole |
|
1454 | 1454 | * :ghissue:`4703`: Math macro in jinja templates. |
|
1455 | 1455 | * :ghissue:`4595`: ipython notebook XSS vulnerable |
|
1456 | 1456 | * :ghissue:`4776`: Manually document py3compat module. |
|
1457 | 1457 | * :ghissue:`4686`: For-in loop on an array in cell.js |
|
1458 | 1458 | * :ghissue:`3605`: Modal UI |
|
1459 | 1459 | * :ghissue:`4769`: Ipython 2.0 will not startup on py27 on windows |
|
1460 | 1460 | * :ghissue:`4482`: reveal.js converter not including CDN by default? |
|
1461 | 1461 | * :ghissue:`4761`: ipv6 address triggers cookie exception |
|
1462 | 1462 | * :ghissue:`4580`: rename or remove %profile magic |
|
1463 | 1463 | * :ghissue:`4643`: Docstring does not open properly |
|
1464 | 1464 | * :ghissue:`4714`: Static URLs are not auto-versioned |
|
1465 | 1465 | * :ghissue:`2573`: document code mirror keyboard shortcuts |
|
1466 | 1466 | * :ghissue:`4717`: hang in parallel.Client when using SSHAgent |
|
1467 | 1467 | * :ghissue:`4544`: Clarify the requirement for pyreadline on Windows |
|
1468 | 1468 | * :ghissue:`3451`: revisit REST /new handler to avoid systematic crawling. |
|
1469 | 1469 | * :ghissue:`2922`: File => Save as '.py' saves magic as code |
|
1470 | 1470 | * :ghissue:`4728`: Copy/Paste stripping broken in version > 0.13.x in QTConsole |
|
1471 | 1471 | * :ghissue:`4539`: Nbconvert: Latex to PDF conversion fails on notebooks with accented letters |
|
1472 | 1472 | * :ghissue:`4721`: purge_results with jobid crashing - looking for insight |
|
1473 | 1473 | * :ghissue:`4620`: Notebook with ? in title defies autosave, renaming and deletion. |
|
1474 | 1474 | * :ghissue:`4574`: Hash character in notebook name breaks a lot of things |
|
1475 | 1475 | * :ghissue:`4709`: input_prefilter hook not called |
|
1476 | 1476 | * :ghissue:`1680`: qtconsole should support --no-banner and custom banner |
|
1477 | 1477 | * :ghissue:`4689`: IOStream IP address configurable |
|
1478 | 1478 | * :ghissue:`4698`: Missing "if __name__ == '__main__':" check in /usr/bin/ipython |
|
1479 | 1479 | * :ghissue:`4191`: NBConvert: markdown inline and locally referenced files have incorrect file location for latex |
|
1480 | 1480 | * :ghissue:`2865`: %%!? does not display the shell execute docstring |
|
1481 | 1481 | * :ghissue:`1551`: Notebook should be saved before printing |
|
1482 | 1482 | * :ghissue:`4612`: remove `Configurable.created` ? |
|
1483 | 1483 | * :ghissue:`4629`: Lots of tests fail due to space in sys.executable |
|
1484 | 1484 | * :ghissue:`4644`: Fixed URLs for notebooks |
|
1485 | 1485 | * :ghissue:`4621`: IPython 1.1.0 Qtconsole syntax highlighting highlights python 2 only built-ins when using python 3 |
|
1486 | 1486 | * :ghissue:`2923`: Move Delete Button Away from Save Button in the HTML notebook toolbar |
|
1487 | 1487 | * :ghissue:`4615`: UnicodeDecodeError |
|
1488 | 1488 | * :ghissue:`4431`: ipython slow in os x mavericks? |
|
1489 | 1489 | * :ghissue:`4538`: DOC: document how to change ipcontroller-engine.json in case controller was started with --ip="*" |
|
1490 | 1490 | * :ghissue:`4551`: Serialize methods and closures |
|
1491 | 1491 | * :ghissue:`4081`: [Nbconvert][reveal] link to font awesome ? |
|
1492 | 1492 | * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3 |
|
1493 | 1493 | * :ghissue:`4578`: NBconvert fails with unicode errors when `--stdout` and file redirection is specified and HTML entities are present |
|
1494 | 1494 | * :ghissue:`4600`: Renaming new notebook to an exist name silently deletes the old one |
|
1495 | 1495 | * :ghissue:`4598`: Qtconsole docstring pop-up fails on method containing defaulted enum argument |
|
1496 | 1496 | * :ghissue:`951`: Remove Tornado monkeypatch |
|
1497 | 1497 | * :ghissue:`4564`: Notebook save failure |
|
1498 | 1498 | * :ghissue:`4562`: nbconvert: Default encoding problem on OS X |
|
1499 | 1499 | * :ghissue:`1675`: add file_to_run=file.ipynb capability to the notebook |
|
1500 | 1500 | * :ghissue:`4516`: `ipython console` doesn't send a `shutdown_request` |
|
1501 | 1501 | * :ghissue:`3043`: can't restart pdb session in ipython |
|
1502 | 1502 | * :ghissue:`4524`: Fix bug with non ascii passwords in notebook login |
|
1503 | 1503 | * :ghissue:`1866`: problems rendering an SVG? |
|
1504 | 1504 | * :ghissue:`4520`: unicode error when trying Audio('data/Bach Cello Suite #3.wav') |
|
1505 | 1505 | * :ghissue:`4493`: Qtconsole cannot print an ISO8601 date at nanosecond precision |
|
1506 | 1506 | * :ghissue:`4502`: intermittent parallel test failure test_purge_everything |
|
1507 | 1507 | * :ghissue:`4495`: firefox 25.0: notebooks report "Notebook save failed", .py script save fails, but .ipynb save succeeds |
|
1508 | 1508 | * :ghissue:`4245`: nbconvert latex: code highlighting causes error |
|
1509 | 1509 | * :ghissue:`4486`: Test for whether inside virtualenv does not work if directory is symlinked |
|
1510 | 1510 | * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation. |
|
1511 | 1511 | * :ghissue:`4447`: Ipcontroller broken in current HEAD on windows |
|
1512 | 1512 | * :ghissue:`4241`: Audio display object |
|
1513 | 1513 | * :ghissue:`4463`: Error on empty c.Session.key |
|
1514 | 1514 | * :ghissue:`4454`: UnicodeDecodeError when starting Ipython notebook on a directory containing a file with a non-ascii character |
|
1515 | 1515 | * :ghissue:`3801`: Autocompletion: Fix issue #3723 -- ordering of completions for magic commands and variables with same name |
|
1516 | 1516 | * :ghissue:`3723`: Code completion: 'matplotlib' and '%matplotlib' |
|
1517 | 1517 | * :ghissue:`4396`: Always checkpoint al least once ? |
|
1518 | 1518 | * :ghissue:`2524`: [Notebook] Clear kernel queue |
|
1519 | 1519 | * :ghissue:`2292`: Client side tests for the notebook |
|
1520 | 1520 | * :ghissue:`4424`: Dealing with images in multidirectory environment |
|
1521 | 1521 | * :ghissue:`4388`: Make writing configurable magics easier |
|
1522 | 1522 | * :ghissue:`852`: Notebook should be saved before downloading |
|
1523 | 1523 | * :ghissue:`3708`: ipython profile locate should also work |
|
1524 | 1524 | * :ghissue:`1349`: `?` may generate hundreds of cell |
|
1525 | 1525 | * :ghissue:`4381`: Using hasattr for trait_names instead of just looking for it directly/using __dir__? |
|
1526 | 1526 | * :ghissue:`4361`: Crash Ultratraceback/ session history |
|
1527 | 1527 | * :ghissue:`3044`: IPython notebook autocomplete for filename string converts multiple spaces to a single space |
|
1528 | 1528 | * :ghissue:`3346`: Up arrow history search shows duplicates in Qtconsole |
|
1529 | 1529 | * :ghissue:`3496`: Fix import errors when running tests from the source directory |
|
1530 | 1530 | * :ghissue:`4114`: If default profile doesn't exist, can't install mathjax to any location |
|
1531 | 1531 | * :ghissue:`4335`: TestPylabSwitch.test_qt fails |
|
1532 | 1532 | * :ghissue:`4291`: serve like option for nbconvert --to latex |
|
1533 | 1533 | * :ghissue:`1824`: Exception before prompting for password during ssh connection |
|
1534 | 1534 | * :ghissue:`4309`: Error in nbconvert - closing </code> tag is not inserted in HTML under some circumstances |
|
1535 | 1535 | * :ghissue:`4351`: /parallel/apps/launcher.py error |
|
1536 | 1536 | * :ghissue:`3603`: Upcoming issues with nbconvert |
|
1537 | 1537 | * :ghissue:`4296`: sync_imports() fails in python 3.3 |
|
1538 | 1538 | * :ghissue:`4339`: local mathjax install doesn't work |
|
1539 | 1539 | * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash |
|
1540 | 1540 | * :ghissue:`4308`: Error when use "ipython notebook" in win7 64 with python2.7.3 64. |
|
1541 | 1541 | * :ghissue:`4317`: Relative imports broken in the notebook (Windows) |
|
1542 | 1542 | * :ghissue:`3658`: Saving Notebook clears "Kernel Busy" status from the page and titlebar |
|
1543 | 1543 | * :ghissue:`4312`: Link broken on ipython-doc stable |
|
1544 | 1544 | * :ghissue:`1093`: Add boundary options to %load |
|
1545 | 1545 | * :ghissue:`3619`: Multi-dir webservice design |
|
1546 | 1546 | * :ghissue:`4299`: Nbconvert, default_preprocessors to list of dotted name not list of obj |
|
1547 | 1547 | * :ghissue:`3210`: IPython.parallel tests seem to hang on ShiningPanda |
|
1548 | 1548 | * :ghissue:`4280`: MathJax Automatic Line Breaking |
|
1549 | 1549 | * :ghissue:`4039`: Celltoolbar example issue |
|
1550 | 1550 | * :ghissue:`4247`: nbconvert --to latex: error when converting greek letter |
|
1551 | 1551 | * :ghissue:`4273`: %%capture not capturing rich objects like plots (IPython 1.1.0) |
|
1552 | 1552 | * :ghissue:`3866`: Vertical offsets in LaTeX output for nbconvert |
|
1553 | 1553 | * :ghissue:`3631`: xkcd mode for the IPython notebook |
|
1554 | 1554 | * :ghissue:`4243`: Test exclusions not working on Windows |
|
1555 | 1555 | * :ghissue:`4256`: IPython no longer handles unicode file names |
|
1556 | 1556 | * :ghissue:`3656`: Audio displayobject |
|
1557 | 1557 | * :ghissue:`4223`: Double output on Ctrl-enter-enter |
|
1558 | 1558 | * :ghissue:`4184`: nbconvert: use r pygmentize backend when highlighting "%%R" cells |
|
1559 | 1559 | * :ghissue:`3851`: Adds an explicit newline for pretty-printing. |
|
1560 | 1560 | * :ghissue:`3622`: Drop fakemodule |
|
1561 | 1561 | * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex |
|
1562 | 1562 | * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows. |
|
1563 | 1563 | * :ghissue:`4203`: remove spurious print statement from parallel annoted functions |
|
1564 | 1564 | * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone |
|
1565 | 1565 | * :ghissue:`3747`: ipynb -> ipynb transformer |
|
1566 | 1566 | * :ghissue:`4024`: nbconvert markdown issues |
|
1567 | 1567 | * :ghissue:`3903`: on Windows, 'ipython3 nbconvert "C:/blabla/first_try.ipynb" --to slides' gives an unexpected result, and '--post serve' fails |
|
1568 | 1568 | * :ghissue:`4095`: Catch js error in append html in stream/pyerr |
|
1569 | 1569 | * :ghissue:`1880`: Add parallelism to test_pr |
|
1570 | 1570 | * :ghissue:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows |
|
1571 | 1571 | * :ghissue:`4156`: Specifying --gui=tk at the command line |
|
1572 | 1572 | * :ghissue:`4146`: Having to prepend 'files/' to markdown image paths is confusing |
|
1573 | 1573 | * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS. |
|
1574 | 1574 | * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook. |
|
1575 | 1575 | * :ghissue:`3998`: sample custom.js needs to be updated |
|
1576 | 1576 | * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0 |
|
1577 | 1577 | * :ghissue:`3990`: Buitlin `input` doesn't work over zmq |
|
1578 | 1578 | * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook |
|
1579 | 1579 | * :ghissue:`4059`: Issues with Ellipsis literal in Python 3 |
|
1580 | 1580 | * :ghissue:`2310`: "ZMQError: Interrupted system call" from RichIPythonWidget |
|
1581 | 1581 | * :ghissue:`3807`: qtconsole ipython 0.13.2 - html/xhtml export fails |
|
1582 | 1582 | * :ghissue:`4103`: Wrong default argument of DirectView.clear |
|
1583 | 1583 | * :ghissue:`4100`: parallel.client.client references undefined error.EngineError |
|
1584 | 1584 | * :ghissue:`484`: Drop nosepatch |
|
1585 | 1585 | * :ghissue:`3350`: Added longlist support in ipdb. |
|
1586 | 1586 | * :ghissue:`1591`: Keying 'q' doesn't quit the interactive help in Wins7 |
|
1587 | 1587 | * :ghissue:`40`: The tests in test_process fail under Windows |
|
1588 | 1588 | * :ghissue:`3744`: capture rich output as well as stdout/err in capture_output |
|
1589 | 1589 | * :ghissue:`3742`: %%capture to grab rich display outputs |
|
1590 | 1590 | * :ghissue:`3863`: Added working speaker notes for slides. |
|
1591 | 1591 | * :ghissue:`4013`: Iptest fails in dual python installation |
|
1592 | 1592 | * :ghissue:`4005`: IPython.start_kernel doesn't work. |
|
1593 | 1593 | * :ghissue:`4020`: IPython parallel map fails on numpy arrays |
|
1594 | 1594 | * :ghissue:`3914`: nbconvert: Transformer tests |
|
1595 | 1595 | * :ghissue:`3923`: nbconvert: Writer tests |
|
1596 | 1596 | * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3 |
|
1597 | 1597 | * :ghissue:`3937`: make tab visible in codemirror and light red background |
|
1598 | 1598 | * :ghissue:`3935`: No feedback for mixed tabs and spaces |
|
1599 | 1599 | * :ghissue:`3933`: nbconvert: Post-processor tests |
|
1600 | 1600 | * :ghissue:`3977`: unable to complete remote connections for two-process |
|
1601 | 1601 | * :ghissue:`3939`: minor checkpoint cleanup |
|
1602 | 1602 | * :ghissue:`3955`: complete on % for magic in notebook |
|
1603 | 1603 | * :ghissue:`3954`: all magics should be listed when completing on % |
|
1604 | 1604 | * :ghissue:`3980`: nbconvert rst output lacks needed blank lines |
|
1605 | 1605 | * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6) |
|
1606 | 1606 | * :ghissue:`3880`: nbconvert: R&D remaining tests |
|
1607 | 1607 | * :ghissue:`2440`: IPEP 4: Python 3 Compatibility |
@@ -1,765 +1,765 b'' | |||
|
1 | 1 | ============= |
|
2 | 2 | 0.11 Series |
|
3 | 3 | ============= |
|
4 | 4 | |
|
5 | 5 | Release 0.11 |
|
6 | 6 | ============ |
|
7 | 7 | |
|
8 | 8 | IPython 0.11 is a *major* overhaul of IPython, two years in the making. Most |
|
9 | 9 | of the code base has been rewritten or at least reorganized, breaking backward |
|
10 | 10 | compatibility with several APIs in previous versions. It is the first major |
|
11 | 11 | release in two years, and probably the most significant change to IPython since |
|
12 | 12 | its inception. We plan to have a relatively quick succession of releases, as |
|
13 | 13 | people discover new bugs and regressions. Once we iron out any significant |
|
14 | 14 | bugs in this process and settle down the new APIs, this series will become |
|
15 | 15 | IPython 1.0. We encourage feedback now on the core APIs, which we hope to |
|
16 | 16 | maintain stable during the 1.0 series. |
|
17 | 17 | |
|
18 | 18 | Since the internal APIs have changed so much, projects using IPython as a |
|
19 | 19 | library (as opposed to end-users of the application) are the most likely to |
|
20 | 20 | encounter regressions or changes that break their existing use patterns. We |
|
21 | 21 | will make every effort to provide updated versions of the APIs to facilitate |
|
22 | 22 | the transition, and we encourage you to contact us on the `development mailing |
|
23 | 23 | list`__ with questions and feedback. |
|
24 | 24 | |
|
25 | 25 | .. __: http://mail.scipy.org/mailman/listinfo/ipython-dev |
|
26 | 26 | |
|
27 | 27 | Chris Fonnesbeck recently wrote an `excellent post`__ that highlights some of |
|
28 | 28 | our major new features, with examples and screenshots. We encourage you to |
|
29 | 29 | read it as it provides an illustrated, high-level overview complementing the |
|
30 | 30 | detailed feature breakdown in this document. |
|
31 | 31 | |
|
32 | 32 | .. __: http://stronginference.com/post/innovations-in-ipython |
|
33 | 33 | |
|
34 | 34 | A quick summary of the major changes (see below for details): |
|
35 | 35 | |
|
36 | 36 | * **Standalone Qt console**: a new rich console has been added to IPython, |
|
37 | 37 | started with `ipython qtconsole`. In this application we have tried to |
|
38 | 38 | retain the feel of a terminal for fast and efficient workflows, while adding |
|
39 | 39 | many features that a line-oriented terminal simply can not support, such as |
|
40 | 40 | inline figures, full multiline editing with syntax highlighting, graphical |
|
41 | 41 | tooltips for function calls and much more. This development was sponsored by |
|
42 | 42 | `Enthought Inc.`__. See :ref:`below <qtconsole_011>` for details. |
|
43 | 43 | |
|
44 | 44 | .. __: http://enthought.com |
|
45 | 45 | |
|
46 | 46 | * **High-level parallel computing with ZeroMQ**. Using the same architecture |
|
47 | 47 | that our Qt console is based on, we have completely rewritten our high-level |
|
48 | 48 | parallel computing machinery that in prior versions used the Twisted |
|
49 | 49 | networking framework. While this change will require users to update their |
|
50 | 50 | codes, the improvements in performance, memory control and internal |
|
51 | 51 | consistency across our codebase convinced us it was a price worth paying. We |
|
52 | 52 | have tried to explain how to best proceed with this update, and will be happy |
|
53 | 53 | to answer questions that may arise. A full tutorial describing these |
|
54 | 54 | features `was presented at SciPy'11`__, more details :ref:`below |
|
55 | 55 | <parallel_011>`. |
|
56 | 56 | |
|
57 | 57 | .. __: http://minrk.github.com/scipy-tutorial-2011 |
|
58 | 58 | |
|
59 | 59 | * **New model for GUI/plotting support in the terminal**. Now instead of the |
|
60 | 60 | various `-Xthread` flags we had before, GUI support is provided without the |
|
61 | 61 | use of any threads, by directly integrating GUI event loops with Python's |
|
62 | 62 | `PyOS_InputHook` API. A new command-line flag `--gui` controls GUI support, |
|
63 | 63 | and it can also be enabled after IPython startup via the new `%gui` magic. |
|
64 | 64 | This requires some changes if you want to execute GUI-using scripts inside |
|
65 | 65 | IPython, see :ref:`the GUI support section <gui_support>` for more details. |
|
66 | 66 | |
|
67 | 67 | * **A two-process architecture.** The Qt console is the first use of a new |
|
68 | 68 | model that splits IPython between a kernel process where code is executed and |
|
69 | 69 | a client that handles user interaction. We plan on also providing terminal |
|
70 | 70 | and web-browser based clients using this infrastructure in future releases. |
|
71 | 71 | This model allows multiple clients to interact with an IPython process |
|
72 | 72 | through a :ref:`well-documented messaging protocol <messaging>` using the |
|
73 | 73 | ZeroMQ networking library. |
|
74 | 74 | |
|
75 | 75 | * **Refactoring.** the entire codebase has been refactored, in order to make it |
|
76 | 76 | more modular and easier to contribute to. IPython has traditionally been a |
|
77 | 77 | hard project to participate because the old codebase was very monolithic. We |
|
78 | 78 | hope this (ongoing) restructuring will make it easier for new developers to |
|
79 | 79 | join us. |
|
80 | 80 | |
|
81 | 81 | * **Vim integration**. Vim can be configured to seamlessly control an IPython |
|
82 | 82 | kernel, see the files in :file:`docs/examples/vim` for the full details. |
|
83 | 83 | This work was done by Paul Ivanov, who prepared a nice `video |
|
84 | 84 | demonstration`__ of the features it provides. |
|
85 | 85 | |
|
86 | 86 | .. __: http://pirsquared.org/blog/2011/07/28/vim-ipython/ |
|
87 | 87 | |
|
88 | 88 | * **Integration into Microsoft Visual Studio**. Thanks to the work of the |
|
89 | 89 | Microsoft `Python Tools for Visual Studio`__ team, this version of IPython |
|
90 | 90 | has been integrated into Microsoft Visual Studio's Python tools open source |
|
91 | 91 | plug-in. `Details below`_ |
|
92 | 92 | |
|
93 | 93 | .. __: http://pytools.codeplex.com |
|
94 | 94 | .. _details below: ms_visual_studio_011_ |
|
95 | 95 | |
|
96 | 96 | * **Improved unicode support**. We closed many bugs related to unicode input. |
|
97 | 97 | |
|
98 | 98 | * **Python 3**. IPython now runs on Python 3.x. See :ref:`python3_011` for |
|
99 | 99 | details. |
|
100 | 100 | |
|
101 | 101 | * **New profile model**. Profiles are now directories that contain all relevant |
|
102 | 102 | information for that session, and thus better isolate IPython use-cases. |
|
103 | 103 | |
|
104 | 104 | * **SQLite storage for history**. All history is now stored in a SQLite |
|
105 | 105 | database, providing support for multiple simultaneous sessions that won't |
|
106 | 106 | clobber each other as well as the ability to perform queries on all stored |
|
107 | 107 | data. |
|
108 | 108 | |
|
109 | 109 | * **New configuration system**. All parts of IPython are now configured via a |
|
110 | 110 | mechanism inspired by the Enthought Traits library. Any configurable element |
|
111 | 111 | can have its attributes set either via files that now use real Python syntax |
|
112 | 112 | or from the command-line. |
|
113 | 113 | |
|
114 | 114 | * **Pasting of code with prompts**. IPython now intelligently strips out input |
|
115 | 115 | prompts , be they plain Python ones (``>>>`` and ``...``) or IPython ones |
|
116 | 116 | (``In [N]:`` and ``...:``). More details :ref:`here <pasting_with_prompts>`. |
|
117 | 117 | |
|
118 | 118 | |
|
119 | 119 | Authors and support |
|
120 | 120 | ------------------- |
|
121 | 121 | |
|
122 | 122 | Over 60 separate authors have contributed to this release, see :ref:`below |
|
123 | 123 | <credits_011>` for a full list. In particular, we want to highlight the |
|
124 | 124 | extremely active participation of two new core team members: Evan Patterson |
|
125 | 125 | implemented the Qt console, and Thomas Kluyver started with our Python 3 port |
|
126 | 126 | and by now has made major contributions to just about every area of IPython. |
|
127 | 127 | |
|
128 | 128 | We are also grateful for the support we have received during this development |
|
129 | 129 | cycle from several institutions: |
|
130 | 130 | |
|
131 | 131 | - `Enthought Inc`__ funded the development of our new Qt console, an effort that |
|
132 | 132 | required developing major pieces of underlying infrastructure, which now |
|
133 | 133 | power not only the Qt console but also our new parallel machinery. We'd like |
|
134 | 134 | to thank Eric Jones and Travis Oliphant for their support, as well as Ilan |
|
135 | 135 | Schnell for his tireless work integrating and testing IPython in the |
|
136 | 136 | `Enthought Python Distribution`_. |
|
137 | 137 | |
|
138 | 138 | .. __: http://enthought.com |
|
139 | 139 | .. _Enthought Python Distribution: http://www.enthought.com/products/epd.php |
|
140 | 140 | |
|
141 | 141 | - Nipy/NIH: funding via the `NiPy project`__ (NIH grant 5R01MH081909-02) helped |
|
142 | 142 | us jumpstart the development of this series by restructuring the entire |
|
143 | 143 | codebase two years ago in a way that would make modular development and |
|
144 | 144 | testing more approachable. Without this initial groundwork, all the new |
|
145 | 145 | features we have added would have been impossible to develop. |
|
146 | 146 | |
|
147 | 147 | .. __: http://nipy.org |
|
148 | 148 | |
|
149 | 149 | - Sage/NSF: funding via the grant `Sage: Unifying Mathematical Software for |
|
150 | 150 | Scientists, Engineers, and Mathematicians`__ (NSF grant DMS-1015114) |
|
151 | 151 | supported a meeting in spring 2011 of several of the core IPython developers |
|
152 | 152 | where major progress was made integrating the last key pieces leading to this |
|
153 | 153 | release. |
|
154 | 154 | |
|
155 | 155 | .. __: http://modular.math.washington.edu/grants/compmath09 |
|
156 | 156 | |
|
157 | 157 | - Microsoft's team working on `Python Tools for Visual Studio`__ developed the |
|
158 | 158 | integraton of IPython into the Python plugin for Visual Studio 2010. |
|
159 | 159 | |
|
160 | 160 | .. __: http://pytools.codeplex.com |
|
161 | 161 | |
|
162 | 162 | - Google Summer of Code: in 2010, we had two students developing prototypes of |
|
163 | 163 | the new machinery that is now maturing in this release: `Omar Zapata`_ and |
|
164 | 164 | `Gerardo Gutiérrez`_. |
|
165 | 165 | |
|
166 | 166 | .. _Omar Zapata: http://ipythonzmq.blogspot.com/2010/08/ipython-zmq-status.html |
|
167 | 167 | .. _Gerardo Gutiérrez: http://ipythonqt.blogspot.com/2010/04/ipython-qt-interface-gsoc-2010-proposal.html> |
|
168 | 168 | |
|
169 | 169 | |
|
170 | 170 | Development summary: moving to Git and Github |
|
171 | 171 | --------------------------------------------- |
|
172 | 172 | |
|
173 | 173 | In April 2010, after `one breakage too many with bzr`__, we decided to move our |
|
174 | 174 | entire development process to Git and Github.com. This has proven to be one of |
|
175 | 175 | the best decisions in the project's history, as the combination of git and |
|
176 | 176 | github have made us far, far more productive than we could be with our previous |
|
177 | 177 | tools. We first converted our bzr repo to a git one without losing history, |
|
178 | 178 | and a few weeks later ported all open Launchpad bugs to github issues with |
|
179 | 179 | their comments mostly intact (modulo some formatting changes). This ensured a |
|
180 | 180 | smooth transition where no development history or submitted bugs were lost. |
|
181 | 181 | Feel free to use our little Launchpad to Github issues `porting script`_ if you |
|
182 | 182 | need to make a similar transition. |
|
183 | 183 | |
|
184 | 184 | .. __: http://mail.scipy.org/pipermail/ipython-dev/2010-April/005944.html |
|
185 | 185 | .. _porting script: https://gist.github.com/835577 |
|
186 | 186 | |
|
187 | 187 | These simple statistics show how much work has been done on the new release, by |
|
188 | 188 | comparing the current code to the last point it had in common with the 0.10 |
|
189 | 189 | series. A huge diff and ~2200 commits make up this cycle:: |
|
190 | 190 | |
|
191 | 191 | git diff $(git merge-base 0.10.2 HEAD) | wc -l |
|
192 | 192 | 288019 |
|
193 | 193 | |
|
194 | 194 | git log $(git merge-base 0.10.2 HEAD)..HEAD --oneline | wc -l |
|
195 | 195 | 2200 |
|
196 | 196 | |
|
197 | 197 | Since our move to github, 511 issues were closed, 226 of which were pull |
|
198 | 198 | requests and 285 regular issues (:ref:`a full list with links |
|
199 | 199 | <issues_list_011>` is available for those interested in the details). Github's |
|
200 | 200 | pull requests are a fantastic mechanism for reviewing code and building a |
|
201 | 201 | shared ownership of the project, and we are making enthusiastic use of it. |
|
202 | 202 | |
|
203 | 203 | .. Note:: |
|
204 | 204 | |
|
205 | 205 | This undercounts the number of issues closed in this development cycle, |
|
206 | 206 | since we only moved to github for issue tracking in May 2010, but we have no |
|
207 | 207 | way of collecting statistics on the number of issues closed in the old |
|
208 | 208 | Launchpad bug tracker prior to that. |
|
209 | 209 | |
|
210 | 210 | |
|
211 | 211 | .. _qtconsole_011: |
|
212 | 212 | |
|
213 | 213 | Qt Console |
|
214 | 214 | ---------- |
|
215 | 215 | |
|
216 | 216 | IPython now ships with a Qt application that feels very much like a terminal, |
|
217 | 217 | but is in fact a rich GUI that runs an IPython client but supports inline |
|
218 | 218 | figures, saving sessions to PDF and HTML, multiline editing with syntax |
|
219 | 219 | highlighting, graphical calltips and much more: |
|
220 | 220 | |
|
221 | 221 | .. figure:: ../_images/qtconsole.png |
|
222 | 222 | :width: 400px |
|
223 | 223 | :alt: IPython Qt console with embedded plots |
|
224 | 224 | :align: center |
|
225 | 225 | :target: ../_images/qtconsole.png |
|
226 | 226 | |
|
227 | 227 | The Qt console for IPython, using inline matplotlib plots. |
|
228 | 228 | |
|
229 | 229 | We hope that many projects will embed this widget, which we've kept |
|
230 | 230 | deliberately very lightweight, into their own environments. In the future we |
|
231 | 231 | may also offer a slightly more featureful application (with menus and other GUI |
|
232 | 232 | elements), but we remain committed to always shipping this easy to embed |
|
233 | 233 | widget. |
|
234 | 234 | |
|
235 | See the `Jupyter Qt Console site <http://jupyter.org/qtconsole>`_ for a detailed | |
|
235 | See the `Jupyter Qt Console site <https://jupyter.org/qtconsole>`_ for a detailed | |
|
236 | 236 | description of the console's features and use. |
|
237 | 237 | |
|
238 | 238 | |
|
239 | 239 | .. _parallel_011: |
|
240 | 240 | |
|
241 | 241 | High-level parallel computing with ZeroMQ |
|
242 | 242 | ----------------------------------------- |
|
243 | 243 | |
|
244 | 244 | We have completely rewritten the Twisted-based code for high-level parallel |
|
245 | 245 | computing to work atop our new ZeroMQ architecture. While we realize this will |
|
246 | 246 | break compatibility for a number of users, we hope to make the transition as |
|
247 | 247 | easy as possible with our docs, and we are convinced the change is worth it. |
|
248 | 248 | ZeroMQ provides us with much tighter control over memory, higher performance, |
|
249 | 249 | and its communications are impervious to the Python Global Interpreter Lock |
|
250 | 250 | because they take place in a system-level C++ thread. The impact of the GIL in |
|
251 | 251 | our previous code was something we could simply not work around, given that |
|
252 | 252 | Twisted is itself a Python library. So while Twisted is a very capable |
|
253 | 253 | framework, we think ZeroMQ fits our needs much better and we hope you will find |
|
254 | 254 | the change to be a significant improvement in the long run. |
|
255 | 255 | |
|
256 | 256 | Our manual contains a full description of how to use IPython for parallel |
|
257 | 257 | computing, and the `tutorial`__ presented by Min |
|
258 | 258 | Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the |
|
259 | 259 | reference docs. |
|
260 | 260 | |
|
261 | 261 | .. __: http://minrk.github.com/scipy-tutorial-2011 |
|
262 | 262 | |
|
263 | 263 | |
|
264 | 264 | Refactoring |
|
265 | 265 | ----------- |
|
266 | 266 | |
|
267 | 267 | As of this release, a signifiant portion of IPython has been refactored. This |
|
268 | 268 | refactoring is founded on a number of new abstractions. The main new classes |
|
269 | 269 | that implement these abstractions are: |
|
270 | 270 | |
|
271 | 271 | * :class:`traitlets.HasTraits`. |
|
272 | 272 | * :class:`traitlets.config.configurable.Configurable`. |
|
273 | 273 | * :class:`traitlets.config.application.Application`. |
|
274 | 274 | * :class:`traitlets.config.loader.ConfigLoader`. |
|
275 | 275 | * :class:`traitlets.config.loader.Config` |
|
276 | 276 | |
|
277 | 277 | We are still in the process of writing developer focused documentation about |
|
278 | 278 | these classes, but for now our :ref:`configuration documentation |
|
279 | 279 | <config_overview>` contains a high level overview of the concepts that these |
|
280 | 280 | classes express. |
|
281 | 281 | |
|
282 | 282 | The biggest user-visible change is likely the move to using the config system |
|
283 | 283 | to determine the command-line arguments for IPython applications. The benefit |
|
284 | 284 | of this is that *all* configurable values in IPython are exposed on the |
|
285 | 285 | command-line, but the syntax for specifying values has changed. The gist is |
|
286 | 286 | that assigning values is pure Python assignment. Simple flags exist for |
|
287 | 287 | commonly used options, these are always prefixed with '--'. |
|
288 | 288 | |
|
289 | 289 | The IPython command-line help has the details of all the options (via |
|
290 | 290 | ``ipython --help``), but a simple example should clarify things; the ``pylab`` |
|
291 | 291 | flag can be used to start in pylab mode with the qt4 backend:: |
|
292 | 292 | |
|
293 | 293 | ipython --pylab=qt |
|
294 | 294 | |
|
295 | 295 | which is equivalent to using the fully qualified form:: |
|
296 | 296 | |
|
297 | 297 | ipython --TerminalIPythonApp.pylab=qt |
|
298 | 298 | |
|
299 | 299 | The long-form options can be listed via ``ipython --help-all``. |
|
300 | 300 | |
|
301 | 301 | |
|
302 | 302 | ZeroMQ architecture |
|
303 | 303 | ------------------- |
|
304 | 304 | |
|
305 | 305 | There is a new GUI framework for IPython, based on a client-server model in |
|
306 | 306 | which multiple clients can communicate with one IPython kernel, using the |
|
307 | 307 | ZeroMQ messaging framework. There is already a Qt console client, which can |
|
308 | 308 | be started by calling ``ipython qtconsole``. The protocol is :ref:`documented |
|
309 | 309 | <messaging>`. |
|
310 | 310 | |
|
311 | 311 | The parallel computing framework has also been rewritten using ZMQ. The |
|
312 | 312 | protocol is described :ref:`here <parallel_messages>`, and the code is in the |
|
313 | 313 | new :mod:`IPython.parallel` module. |
|
314 | 314 | |
|
315 | 315 | .. _python3_011: |
|
316 | 316 | |
|
317 | 317 | Python 3 support |
|
318 | 318 | ---------------- |
|
319 | 319 | |
|
320 | 320 | A Python 3 version of IPython has been prepared. For the time being, this is |
|
321 | 321 | maintained separately and updated from the main codebase. Its code can be found |
|
322 | 322 | `here <https://github.com/ipython/ipython-py3k>`_. The parallel computing |
|
323 | 323 | components are not perfect on Python3, but most functionality appears to be |
|
324 | 324 | working. As this work is evolving quickly, the best place to find updated |
|
325 | 325 | information about it is our `Python 3 wiki page`__. |
|
326 | 326 | |
|
327 | 327 | .. __: http://wiki.ipython.org/index.php?title=Python_3 |
|
328 | 328 | |
|
329 | 329 | |
|
330 | 330 | Unicode |
|
331 | 331 | ------- |
|
332 | 332 | |
|
333 | 333 | Entering non-ascii characters in unicode literals (``u"€ø"``) now works |
|
334 | 334 | properly on all platforms. However, entering these in byte/string literals |
|
335 | 335 | (``"€ø"``) will not work as expected on Windows (or any platform where the |
|
336 | 336 | terminal encoding is not UTF-8, as it typically is for Linux & Mac OS X). You |
|
337 | 337 | can use escape sequences (``"\xe9\x82"``) to get bytes above 128, or use |
|
338 | 338 | unicode literals and encode them. This is a limitation of Python 2 which we |
|
339 | 339 | cannot easily work around. |
|
340 | 340 | |
|
341 | 341 | .. _ms_visual_studio_011: |
|
342 | 342 | |
|
343 | 343 | Integration with Microsoft Visual Studio |
|
344 | 344 | ---------------------------------------- |
|
345 | 345 | |
|
346 | 346 | IPython can be used as the interactive shell in the `Python plugin for |
|
347 | 347 | Microsoft Visual Studio`__, as seen here: |
|
348 | 348 | |
|
349 | 349 | .. figure:: ../_images/ms_visual_studio.png |
|
350 | 350 | :width: 500px |
|
351 | 351 | :alt: IPython console embedded in Microsoft Visual Studio. |
|
352 | 352 | :align: center |
|
353 | 353 | :target: ../_images/ms_visual_studio.png |
|
354 | 354 | |
|
355 | 355 | IPython console embedded in Microsoft Visual Studio. |
|
356 | 356 | |
|
357 | 357 | The Microsoft team developing this currently has a release candidate out using |
|
358 | 358 | IPython 0.11. We will continue to collaborate with them to ensure that as they |
|
359 | 359 | approach their final release date, the integration with IPython remains smooth. |
|
360 | 360 | We'd like to thank Dino Viehland and Shahrokh Mortazavi for the work they have |
|
361 | 361 | done towards this feature, as well as Wenming Ye for his support of our WinHPC |
|
362 | 362 | capabilities. |
|
363 | 363 | |
|
364 | 364 | .. __: http://pytools.codeplex.com |
|
365 | 365 | |
|
366 | 366 | |
|
367 | 367 | Additional new features |
|
368 | 368 | ----------------------- |
|
369 | 369 | |
|
370 | 370 | * Added ``Bytes`` traitlet, removing ``Str``. All 'string' traitlets should |
|
371 | 371 | either be ``Unicode`` if a real string, or ``Bytes`` if a C-string. This |
|
372 | 372 | removes ambiguity and helps the Python 3 transition. |
|
373 | 373 | |
|
374 | 374 | * New magic ``%loadpy`` loads a python file from disk or web URL into |
|
375 | 375 | the current input buffer. |
|
376 | 376 | |
|
377 | 377 | * New magic ``%pastebin`` for sharing code via the 'Lodge it' pastebin. |
|
378 | 378 | |
|
379 | 379 | * New magic ``%precision`` for controlling float and numpy pretty printing. |
|
380 | 380 | |
|
381 | 381 | * IPython applications initiate logging, so any object can gain access to |
|
382 | 382 | a the logger of the currently running Application with: |
|
383 | 383 | |
|
384 | 384 | .. sourcecode:: python |
|
385 | 385 | |
|
386 | 386 | from traitlets.config.application import Application |
|
387 | 387 | logger = Application.instance().log |
|
388 | 388 | |
|
389 | 389 | * You can now get help on an object halfway through typing a command. For |
|
390 | 390 | instance, typing ``a = zip?`` shows the details of :func:`zip`. It also |
|
391 | 391 | leaves the command at the next prompt so you can carry on with it. |
|
392 | 392 | |
|
393 | 393 | * The input history is now written to an SQLite database. The API for |
|
394 | 394 | retrieving items from the history has also been redesigned. |
|
395 | 395 | |
|
396 | 396 | * The :mod:`IPython.extensions.pretty` extension has been moved out of |
|
397 | 397 | quarantine and fully updated to the new extension API. |
|
398 | 398 | |
|
399 | 399 | * New magics for loading/unloading/reloading extensions have been added: |
|
400 | 400 | ``%load_ext``, ``%unload_ext`` and ``%reload_ext``. |
|
401 | 401 | |
|
402 | 402 | * The configuration system and configuration files are brand new. See the |
|
403 | 403 | configuration system :ref:`documentation <config_index>` for more details. |
|
404 | 404 | |
|
405 | 405 | * The :class:`~IPython.core.interactiveshell.InteractiveShell` class is now a |
|
406 | 406 | :class:`~traitlets.config.configurable.Configurable` subclass and has traitlets |
|
407 | 407 | that determine the defaults and runtime environment. The ``__init__`` method |
|
408 | 408 | has also been refactored so this class can be instantiated and run without |
|
409 | 409 | the old :mod:`ipmaker` module. |
|
410 | 410 | |
|
411 | 411 | * The methods of :class:`~IPython.core.interactiveshell.InteractiveShell` have |
|
412 | 412 | been organized into sections to make it easier to turn more sections |
|
413 | 413 | of functionality into components. |
|
414 | 414 | |
|
415 | 415 | * The embedded shell has been refactored into a truly standalone subclass of |
|
416 | 416 | :class:`InteractiveShell` called :class:`InteractiveShellEmbed`. All |
|
417 | 417 | embedding logic has been taken out of the base class and put into the |
|
418 | 418 | embedded subclass. |
|
419 | 419 | |
|
420 | 420 | * Added methods of :class:`~IPython.core.interactiveshell.InteractiveShell` to |
|
421 | 421 | help it cleanup after itself. The :meth:`cleanup` method controls this. We |
|
422 | 422 | couldn't do this in :meth:`__del__` because we have cycles in our object |
|
423 | 423 | graph that prevent it from being called. |
|
424 | 424 | |
|
425 | 425 | * Created a new module :mod:`IPython.utils.importstring` for resolving |
|
426 | 426 | strings like ``foo.bar.Bar`` to the actual class. |
|
427 | 427 | |
|
428 | 428 | * Completely refactored the :mod:`IPython.core.prefilter` module into |
|
429 | 429 | :class:`~traitlets.config.configurable.Configurable` subclasses. Added a new |
|
430 | 430 | layer into the prefilter system, called "transformations" that all new |
|
431 | 431 | prefilter logic should use (rather than the older "checker/handler" |
|
432 | 432 | approach). |
|
433 | 433 | |
|
434 | 434 | * Aliases are now components (:mod:`IPython.core.alias`). |
|
435 | 435 | |
|
436 | 436 | * New top level :func:`~IPython.frontend.terminal.embed.embed` function that can |
|
437 | 437 | be called to embed IPython at any place in user's code. On the first call it |
|
438 | 438 | will create an :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed` |
|
439 | 439 | instance and call it. In later calls, it just calls the previously created |
|
440 | 440 | :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed`. |
|
441 | 441 | |
|
442 | 442 | * Created a configuration system (:mod:`traitlets.config.configurable`) that is |
|
443 | 443 | based on :mod:`traitlets`. Configurables are arranged into a |
|
444 | 444 | runtime containment tree (not inheritance) that i) automatically propagates |
|
445 | 445 | configuration information and ii) allows singletons to discover each other in |
|
446 | 446 | a loosely coupled manner. In the future all parts of IPython will be |
|
447 | 447 | subclasses of :class:`~traitlets.config.configurable.Configurable`. All IPython |
|
448 | 448 | developers should become familiar with the config system. |
|
449 | 449 | |
|
450 | 450 | * Created a new :class:`~traitlets.config.loader.Config` for holding |
|
451 | 451 | configuration information. This is a dict like class with a few extras: i) |
|
452 | 452 | it supports attribute style access, ii) it has a merge function that merges |
|
453 | 453 | two :class:`~traitlets.config.loader.Config` instances recursively and iii) it |
|
454 | 454 | will automatically create sub-:class:`~traitlets.config.loader.Config` |
|
455 | 455 | instances for attributes that start with an uppercase character. |
|
456 | 456 | |
|
457 | 457 | * Created new configuration loaders in :mod:`traitlets.config.loader`. These |
|
458 | 458 | loaders provide a unified loading interface for all configuration |
|
459 | 459 | information including command line arguments and configuration files. We |
|
460 | 460 | have two default implementations based on :mod:`argparse` and plain python |
|
461 | 461 | files. These are used to implement the new configuration system. |
|
462 | 462 | |
|
463 | 463 | * Created a top-level :class:`Application` class in |
|
464 | 464 | :mod:`IPython.core.application` that is designed to encapsulate the starting |
|
465 | 465 | of any basic Python program. An application loads and merges all the |
|
466 | 466 | configuration objects, constructs the main application, configures and |
|
467 | 467 | initiates logging, and creates and configures any :class:`Configurable` |
|
468 | 468 | instances and then starts the application running. An extended |
|
469 | 469 | :class:`BaseIPythonApplication` class adds logic for handling the |
|
470 | 470 | IPython directory as well as profiles, and all IPython entry points |
|
471 | 471 | extend it. |
|
472 | 472 | |
|
473 | 473 | * The :class:`Type` and :class:`Instance` traitlets now handle classes given |
|
474 | 474 | as strings, like ``foo.bar.Bar``. This is needed for forward declarations. |
|
475 | 475 | But, this was implemented in a careful way so that string to class |
|
476 | 476 | resolution is done at a single point, when the parent |
|
477 | 477 | :class:`~traitlets.HasTraitlets` is instantiated. |
|
478 | 478 | |
|
479 | 479 | * :mod:`IPython.utils.ipstruct` has been refactored to be a subclass of |
|
480 | 480 | dict. It also now has full docstrings and doctests. |
|
481 | 481 | |
|
482 | 482 | * Created a Traits like implementation in :mod:`traitlets`. This |
|
483 | 483 | is a pure Python, lightweight version of a library that is similar to |
|
484 | 484 | Enthought's Traits project, but has no dependencies on Enthought's code. We |
|
485 | 485 | are using this for validation, defaults and notification in our new component |
|
486 | 486 | system. Although it is not 100% API compatible with Enthought's Traits, we |
|
487 | 487 | plan on moving in this direction so that eventually our implementation could |
|
488 | 488 | be replaced by a (yet to exist) pure Python version of Enthought Traits. |
|
489 | 489 | |
|
490 | 490 | * Added a new module :mod:`IPython.lib.inputhook` to manage the integration |
|
491 | 491 | with GUI event loops using `PyOS_InputHook`. See the docstrings in this |
|
492 | 492 | module or the main IPython docs for details. |
|
493 | 493 | |
|
494 | 494 | * For users, GUI event loop integration is now handled through the new |
|
495 | 495 | :command:`%gui` magic command. Type ``%gui?`` at an IPython prompt for |
|
496 | 496 | documentation. |
|
497 | 497 | |
|
498 | 498 | * For developers :mod:`IPython.lib.inputhook` provides a simple interface |
|
499 | 499 | for managing the event loops in their interactive GUI applications. |
|
500 | 500 | Examples can be found in our :file:`examples/lib` directory. |
|
501 | 501 | |
|
502 | 502 | Backwards incompatible changes |
|
503 | 503 | ------------------------------ |
|
504 | 504 | |
|
505 | 505 | * The Twisted-based :mod:`IPython.kernel` has been removed, and completely |
|
506 | 506 | rewritten as :mod:`IPython.parallel`, using ZeroMQ. |
|
507 | 507 | |
|
508 | 508 | * Profiles are now directories. Instead of a profile being a single config file, |
|
509 | 509 | profiles are now self-contained directories. By default, profiles get their |
|
510 | 510 | own IPython history, log files, and everything. To create a new profile, do |
|
511 | 511 | ``ipython profile create <name>``. |
|
512 | 512 | |
|
513 | 513 | * All IPython applications have been rewritten to use |
|
514 | 514 | :class:`~traitlets.config.loader.KeyValueConfigLoader`. This means that |
|
515 | 515 | command-line options have changed. Now, all configurable values are accessible |
|
516 | 516 | from the command-line with the same syntax as in a configuration file. |
|
517 | 517 | |
|
518 | 518 | * The command line options ``-wthread``, ``-qthread`` and |
|
519 | 519 | ``-gthread`` have been removed. Use ``--gui=wx``, ``--gui=qt``, ``--gui=gtk`` |
|
520 | 520 | instead. |
|
521 | 521 | |
|
522 | 522 | * The extension loading functions have been renamed to |
|
523 | 523 | :func:`load_ipython_extension` and :func:`unload_ipython_extension`. |
|
524 | 524 | |
|
525 | 525 | * :class:`~IPython.core.interactiveshell.InteractiveShell` no longer takes an |
|
526 | 526 | ``embedded`` argument. Instead just use the |
|
527 | 527 | :class:`~IPython.core.interactiveshell.InteractiveShellEmbed` class. |
|
528 | 528 | |
|
529 | 529 | * ``__IPYTHON__`` is no longer injected into ``__builtin__``. |
|
530 | 530 | |
|
531 | 531 | * :meth:`Struct.__init__` no longer takes `None` as its first argument. It |
|
532 | 532 | must be a :class:`dict` or :class:`Struct`. |
|
533 | 533 | |
|
534 | 534 | * :meth:`~IPython.core.interactiveshell.InteractiveShell.ipmagic` has been |
|
535 | 535 | renamed :meth:`~IPython.core.interactiveshell.InteractiveShell.magic.` |
|
536 | 536 | |
|
537 | 537 | * The functions :func:`ipmagic` and :func:`ipalias` have been removed from |
|
538 | 538 | :mod:`__builtins__`. |
|
539 | 539 | |
|
540 | 540 | * The references to the global |
|
541 | 541 | :class:`~IPython.core.interactivehell.InteractiveShell` instance (``_ip``, and |
|
542 | 542 | ``__IP``) have been removed from the user's namespace. They are replaced by a |
|
543 | 543 | new function called :func:`get_ipython` that returns the current |
|
544 | 544 | :class:`~IPython.core.interactiveshell.InteractiveShell` instance. This |
|
545 | 545 | function is injected into the user's namespace and is now the main way of |
|
546 | 546 | accessing the running IPython. |
|
547 | 547 | |
|
548 | 548 | * Old style configuration files :file:`ipythonrc` and :file:`ipy_user_conf.py` |
|
549 | 549 | are no longer supported. Users should migrate there configuration files to |
|
550 | 550 | the new format described :doc:`here </config/intro>` and |
|
551 | 551 | :ref:`here <config_overview>`. |
|
552 | 552 | |
|
553 | 553 | * The old IPython extension API that relied on :func:`ipapi` has been |
|
554 | 554 | completely removed. The new extension API is described :ref:`here |
|
555 | 555 | <extensions_overview>`. |
|
556 | 556 | |
|
557 | 557 | * Support for ``qt3`` has been dropped. Users who need this should use |
|
558 | 558 | previous versions of IPython. |
|
559 | 559 | |
|
560 | 560 | * Removed :mod:`shellglobals` as it was obsolete. |
|
561 | 561 | |
|
562 | 562 | * Removed all the threaded shells in :mod:`IPython.core.shell`. These are no |
|
563 | 563 | longer needed because of the new capabilities in |
|
564 | 564 | :mod:`IPython.lib.inputhook`. |
|
565 | 565 | |
|
566 | 566 | * New top-level sub-packages have been created: :mod:`IPython.core`, |
|
567 | 567 | :mod:`IPython.lib`, :mod:`IPython.utils`, :mod:`IPython.deathrow`, |
|
568 | 568 | :mod:`IPython.quarantine`. All existing top-level modules have been |
|
569 | 569 | moved to appropriate sub-packages. All internal import statements |
|
570 | 570 | have been updated and tests have been added. The build system (setup.py |
|
571 | 571 | and friends) have been updated. See :doc:`/api/index` for details of these |
|
572 | 572 | new sub-packages. |
|
573 | 573 | |
|
574 | 574 | * :mod:`IPython.ipapi` has been moved to :mod:`IPython.core.ipapi`. |
|
575 | 575 | :mod:`IPython.Shell` and :mod:`IPython.iplib` have been split and removed as |
|
576 | 576 | part of the refactor. |
|
577 | 577 | |
|
578 | 578 | * :mod:`Extensions` has been moved to :mod:`extensions` and all existing |
|
579 | 579 | extensions have been moved to either :mod:`IPython.quarantine` or |
|
580 | 580 | :mod:`IPython.deathrow`. :mod:`IPython.quarantine` contains modules that we |
|
581 | 581 | plan on keeping but that need to be updated. :mod:`IPython.deathrow` contains |
|
582 | 582 | modules that are either dead or that should be maintained as third party |
|
583 | 583 | libraries. |
|
584 | 584 | |
|
585 | 585 | * Previous IPython GUIs in :mod:`IPython.frontend` and :mod:`IPython.gui` are |
|
586 | 586 | likely broken, and have been removed to :mod:`IPython.deathrow` because of the |
|
587 | 587 | refactoring in the core. With proper updates, these should still work. |
|
588 | 588 | |
|
589 | 589 | |
|
590 | 590 | Known Regressions |
|
591 | 591 | ----------------- |
|
592 | 592 | |
|
593 | 593 | We do our best to improve IPython, but there are some known regressions in 0.11 |
|
594 | 594 | relative to 0.10.2. First of all, there are features that have yet to be |
|
595 | 595 | ported to the new APIs, and in order to ensure that all of the installed code |
|
596 | 596 | runs for our users, we have moved them to two separate directories in the |
|
597 | 597 | source distribution, `quarantine` and `deathrow`. Finally, we have some other |
|
598 | 598 | miscellaneous regressions that we hope to fix as soon as possible. We now |
|
599 | 599 | describe all of these in more detail. |
|
600 | 600 | |
|
601 | 601 | Quarantine |
|
602 | 602 | ~~~~~~~~~~ |
|
603 | 603 | |
|
604 | 604 | These are tools and extensions that we consider relatively easy to update to |
|
605 | 605 | the new classes and APIs, but that we simply haven't had time for. Any user |
|
606 | 606 | who is interested in one of these is encouraged to help us by porting it and |
|
607 | 607 | submitting a pull request on our `development site`_. |
|
608 | 608 | |
|
609 | 609 | .. _development site: http://github.com/ipython/ipython |
|
610 | 610 | |
|
611 | 611 | Currently, the quarantine directory contains:: |
|
612 | 612 | |
|
613 | 613 | clearcmd.py ipy_fsops.py ipy_signals.py |
|
614 | 614 | envpersist.py ipy_gnuglobal.py ipy_synchronize_with.py |
|
615 | 615 | ext_rescapture.py ipy_greedycompleter.py ipy_system_conf.py |
|
616 | 616 | InterpreterExec.py ipy_jot.py ipy_which.py |
|
617 | 617 | ipy_app_completers.py ipy_lookfor.py ipy_winpdb.py |
|
618 | 618 | ipy_autoreload.py ipy_profile_doctest.py ipy_workdir.py |
|
619 | 619 | ipy_completers.py ipy_pydb.py jobctrl.py |
|
620 | 620 | ipy_editors.py ipy_rehashdir.py ledit.py |
|
621 | 621 | ipy_exportdb.py ipy_render.py pspersistence.py |
|
622 | 622 | ipy_extutil.py ipy_server.py win32clip.py |
|
623 | 623 | |
|
624 | 624 | Deathrow |
|
625 | 625 | ~~~~~~~~ |
|
626 | 626 | |
|
627 | 627 | These packages may be harder to update or make most sense as third-party |
|
628 | 628 | libraries. Some of them are completely obsolete and have been already replaced |
|
629 | 629 | by better functionality (we simply haven't had the time to carefully weed them |
|
630 | 630 | out so they are kept here for now). Others simply require fixes to code that |
|
631 | 631 | the current core team may not be familiar with. If a tool you were used to is |
|
632 | 632 | included here, we encourage you to contact the dev list and we can discuss |
|
633 | 633 | whether it makes sense to keep it in IPython (if it can be maintained). |
|
634 | 634 | |
|
635 | 635 | Currently, the deathrow directory contains:: |
|
636 | 636 | |
|
637 | 637 | astyle.py ipy_defaults.py ipy_vimserver.py |
|
638 | 638 | dtutils.py ipy_kitcfg.py numeric_formats.py |
|
639 | 639 | Gnuplot2.py ipy_legacy.py numutils.py |
|
640 | 640 | GnuplotInteractive.py ipy_p4.py outputtrap.py |
|
641 | 641 | GnuplotRuntime.py ipy_profile_none.py PhysicalQInput.py |
|
642 | 642 | ibrowse.py ipy_profile_numpy.py PhysicalQInteractive.py |
|
643 | 643 | igrid.py ipy_profile_scipy.py quitter.py* |
|
644 | 644 | ipipe.py ipy_profile_sh.py scitedirector.py |
|
645 | 645 | iplib.py ipy_profile_zope.py Shell.py |
|
646 | 646 | ipy_constants.py ipy_traits_completer.py twshell.py |
|
647 | 647 | |
|
648 | 648 | |
|
649 | 649 | Other regressions |
|
650 | 650 | ~~~~~~~~~~~~~~~~~ |
|
651 | 651 | |
|
652 | 652 | * The machinery that adds functionality to the 'sh' profile for using IPython |
|
653 | 653 | as your system shell has not been updated to use the new APIs. As a result, |
|
654 | 654 | only the aesthetic (prompt) changes are still implemented. We intend to fix |
|
655 | 655 | this by 0.12. Tracked as issue 547_. |
|
656 | 656 | |
|
657 | 657 | .. _547: https://github.com/ipython/ipython/issues/547 |
|
658 | 658 | |
|
659 | 659 | * The installation of scripts on Windows was broken without setuptools, so we |
|
660 | 660 | now depend on setuptools on Windows. We hope to fix setuptools-less |
|
661 | 661 | installation, and then remove the setuptools dependency. Issue 539_. |
|
662 | 662 | |
|
663 | 663 | .. _539: https://github.com/ipython/ipython/issues/539 |
|
664 | 664 | |
|
665 | 665 | * The directory history `_dh` is not saved between sessions. Issue 634_. |
|
666 | 666 | |
|
667 | 667 | .. _634: https://github.com/ipython/ipython/issues/634 |
|
668 | 668 | |
|
669 | 669 | |
|
670 | 670 | Removed Features |
|
671 | 671 | ---------------- |
|
672 | 672 | |
|
673 | 673 | As part of the updating of IPython, we have removed a few features for the |
|
674 | 674 | purposes of cleaning up the codebase and interfaces. These removals are |
|
675 | 675 | permanent, but for any item listed below, equivalent functionality is |
|
676 | 676 | available. |
|
677 | 677 | |
|
678 | 678 | * The magics Exit and Quit have been dropped as ways to exit IPython. Instead, |
|
679 | 679 | the lowercase forms of both work either as a bare name (``exit``) or a |
|
680 | 680 | function call (``exit()``). You can assign these to other names using |
|
681 | 681 | exec_lines in the config file. |
|
682 | 682 | |
|
683 | 683 | |
|
684 | 684 | .. _credits_011: |
|
685 | 685 | |
|
686 | 686 | Credits |
|
687 | 687 | ------- |
|
688 | 688 | |
|
689 | 689 | Many users and developers contributed code, features, bug reports and ideas to |
|
690 | 690 | this release. Please do not hesitate in contacting us if we've failed to |
|
691 | 691 | acknowledge your contribution here. In particular, for this release we have |
|
692 | 692 | contribution from the following people, a mix of new and regular names (in |
|
693 | 693 | alphabetical order by first name): |
|
694 | 694 | |
|
695 | 695 | * Aenugu Sai Kiran Reddy <saikrn08-at-gmail.com> |
|
696 | 696 | * andy wilson <wilson.andrew.j+github-at-gmail.com> |
|
697 | 697 | * Antonio Cuni <antocuni> |
|
698 | 698 | * Barry Wark <barrywark-at-gmail.com> |
|
699 | 699 | * Beetoju Anuradha <anu.beethoju-at-gmail.com> |
|
700 | 700 | * Benjamin Ragan-Kelley <minrk-at-Mercury.local> |
|
701 | 701 | * Brad Reisfeld |
|
702 | 702 | * Brian E. Granger <ellisonbg-at-gmail.com> |
|
703 | 703 | * Christoph Gohlke <cgohlke-at-uci.edu> |
|
704 | 704 | * Cody Precord |
|
705 | 705 | * dan.milstein |
|
706 | 706 | * Darren Dale <dsdale24-at-gmail.com> |
|
707 | 707 | * Dav Clark <davclark-at-berkeley.edu> |
|
708 | 708 | * David Warde-Farley <wardefar-at-iro.umontreal.ca> |
|
709 | 709 | * epatters <ejpatters-at-gmail.com> |
|
710 | 710 | * epatters <epatters-at-caltech.edu> |
|
711 | 711 | * epatters <epatters-at-enthought.com> |
|
712 | 712 | * Eric Firing <efiring-at-hawaii.edu> |
|
713 | 713 | * Erik Tollerud <erik.tollerud-at-gmail.com> |
|
714 | 714 | * Evan Patterson <epatters-at-enthought.com> |
|
715 | 715 | * Fernando Perez <Fernando.Perez-at-berkeley.edu> |
|
716 | 716 | * Gael Varoquaux <gael.varoquaux-at-normalesup.org> |
|
717 | 717 | * Gerardo <muzgash-at-Muzpelheim> |
|
718 | 718 | * Jason Grout <jason.grout-at-drake.edu> |
|
719 | 719 | * John Hunter <jdh2358-at-gmail.com> |
|
720 | 720 | * Jens Hedegaard Nielsen <jenshnielsen-at-gmail.com> |
|
721 | 721 | * Johann Cohen-Tanugi <johann.cohentanugi-at-gmail.com> |
|
722 | 722 | * Jörgen Stenarson <jorgen.stenarson-at-bostream.nu> |
|
723 | 723 | * Justin Riley <justin.t.riley-at-gmail.com> |
|
724 | 724 | * Kiorky |
|
725 | 725 | * Laurent Dufrechou <laurent.dufrechou-at-gmail.com> |
|
726 | 726 | * Luis Pedro Coelho <lpc-at-cmu.edu> |
|
727 | 727 | * Mani chandra <mchandra-at-iitk.ac.in> |
|
728 | 728 | * Mark E. Smith |
|
729 | 729 | * Mark Voorhies <mark.voorhies-at-ucsf.edu> |
|
730 | 730 | * Martin Spacek <git-at-mspacek.mm.st> |
|
731 | 731 | * Michael Droettboom <mdroe-at-stsci.edu> |
|
732 | 732 | * MinRK <benjaminrk-at-gmail.com> |
|
733 | 733 | * muzuiget <muzuiget-at-gmail.com> |
|
734 | 734 | * Nick Tarleton <nick-at-quixey.com> |
|
735 | 735 | * Nicolas Rougier <Nicolas.rougier-at-inria.fr> |
|
736 | 736 | * Omar Andres Zapata Mesa <andresete.chaos-at-gmail.com> |
|
737 | 737 | * Paul Ivanov <pivanov314-at-gmail.com> |
|
738 | 738 | * Pauli Virtanen <pauli.virtanen-at-iki.fi> |
|
739 | 739 | * Prabhu Ramachandran |
|
740 | 740 | * Ramana <sramana9-at-gmail.com> |
|
741 | 741 | * Robert Kern <robert.kern-at-gmail.com> |
|
742 | 742 | * Sathesh Chandra <satheshchandra88-at-gmail.com> |
|
743 | 743 | * Satrajit Ghosh <satra-at-mit.edu> |
|
744 | 744 | * Sebastian Busch |
|
745 | 745 | * Skipper Seabold <jsseabold-at-gmail.com> |
|
746 | 746 | * Stefan van der Walt <bzr-at-mentat.za.net> |
|
747 | 747 | * Stephan Peijnik <debian-at-sp.or.at> |
|
748 | 748 | * Steven Bethard |
|
749 | 749 | * Thomas Kluyver <takowl-at-gmail.com> |
|
750 | 750 | * Thomas Spura <tomspur-at-fedoraproject.org> |
|
751 | 751 | * Tom Fetherston <tfetherston-at-aol.com> |
|
752 | 752 | * Tom MacWright |
|
753 | 753 | * tzanko |
|
754 | 754 | * vankayala sowjanya <hai.sowjanya-at-gmail.com> |
|
755 | 755 | * Vivian De Smedt <vds2212-at-VIVIAN> |
|
756 | 756 | * Ville M. Vainio <vivainio-at-gmail.com> |
|
757 | 757 | * Vishal Vatsa <vishal.vatsa-at-gmail.com> |
|
758 | 758 | * Vishnu S G <sgvishnu777-at-gmail.com> |
|
759 | 759 | * Walter Doerwald <walter-at-livinglogic.de> |
|
760 | 760 | |
|
761 | 761 | .. note:: |
|
762 | 762 | |
|
763 | 763 | This list was generated with the output of |
|
764 | 764 | ``git log dev-0.11 HEAD --format='* %aN <%aE>' | sed 's/@/\-at\-/' | sed 's/<>//' | sort -u`` |
|
765 | 765 | after some cleanup. If you should be on this list, please add yourself. |
|
1 | NO CONTENT: modified file | |
The requested commit or file is too big and content was truncated. Show full diff |
@@ -1,61 +1,62 b'' | |||
|
1 | 1 | { |
|
2 | 2 | "cells": [ |
|
3 | 3 | { |
|
4 | 4 | "cell_type": "markdown", |
|
5 | 5 | "metadata": {}, |
|
6 | 6 | "source": [ |
|
7 | 7 | "<img src=\"images/ipython_logo.png\">" |
|
8 | 8 | ] |
|
9 | 9 | }, |
|
10 | 10 | { |
|
11 | 11 | "cell_type": "markdown", |
|
12 | 12 | "metadata": {}, |
|
13 | 13 | "source": [ |
|
14 | 14 | "# IPython Documentation" |
|
15 | 15 | ] |
|
16 | 16 | }, |
|
17 | 17 | { |
|
18 | 18 | "cell_type": "markdown", |
|
19 | 19 | "metadata": {}, |
|
20 | 20 | "source": [ |
|
21 | "This directory contains IPython's notebook-based documentation. This augments our [Sphinx-based documentation](http://ipython.org/ipython-doc/stable/index.html) with notebooks that contain interactive tutorials and examples. Over time, more of our documentation will be pulled into this format." | |
|
21 | "This directory contains IPython's notebook-based documentation. This | |
|
22 | augments our [Sphinx-based documentation](https://ipython.org/ipython-doc/stable/index.html) with notebooks that contain interactive tutorials and examples. Over time, more of our documentation will be pulled into this format." | |
|
22 | 23 | ] |
|
23 | 24 | }, |
|
24 | 25 | { |
|
25 | 26 | "cell_type": "markdown", |
|
26 | 27 | "metadata": {}, |
|
27 | 28 | "source": [ |
|
28 | 29 | "## Topics" |
|
29 | 30 | ] |
|
30 | 31 | }, |
|
31 | 32 | { |
|
32 | 33 | "cell_type": "markdown", |
|
33 | 34 | "metadata": {}, |
|
34 | 35 | "source": [ |
|
35 | 36 | "* [IPython Kernel](IPython Kernel/Index.ipynb): IPython's core syntax and command line features available in all frontends\n", |
|
36 | 37 | "* [Embedding](Embedding/Index.ipynb): Embedding and reusing IPython's components into other applications\n" |
|
37 | 38 | ] |
|
38 | 39 | } |
|
39 | 40 | ], |
|
40 | 41 | "metadata": { |
|
41 | 42 | "kernelspec": { |
|
42 | 43 | "display_name": "Python 3", |
|
43 | 44 | "language": "python", |
|
44 | 45 | "name": "python3" |
|
45 | 46 | }, |
|
46 | 47 | "language_info": { |
|
47 | 48 | "codemirror_mode": { |
|
48 | 49 | "name": "ipython", |
|
49 | 50 | "version": 3 |
|
50 | 51 | }, |
|
51 | 52 | "file_extension": ".py", |
|
52 | 53 | "mimetype": "text/x-python", |
|
53 | 54 | "name": "python", |
|
54 | 55 | "nbconvert_exporter": "python", |
|
55 | 56 | "pygments_lexer": "ipython3", |
|
56 | 57 | "version": "3.4.3" |
|
57 | 58 | } |
|
58 | 59 | }, |
|
59 | 60 | "nbformat": 4, |
|
60 | 61 | "nbformat_minor": 0 |
|
61 | 62 | } |
@@ -1,307 +1,307 b'' | |||
|
1 | 1 | { |
|
2 | 2 | "cells": [ |
|
3 | 3 | { |
|
4 | 4 | "cell_type": "markdown", |
|
5 | 5 | "metadata": {}, |
|
6 | 6 | "source": [ |
|
7 | 7 | "# Test notebook for overflowing content" |
|
8 | 8 | ] |
|
9 | 9 | }, |
|
10 | 10 | { |
|
11 | 11 | "cell_type": "markdown", |
|
12 | 12 | "metadata": {}, |
|
13 | 13 | "source": [ |
|
14 | 14 | "markdown image:\n", |
|
15 | 15 | "\n", |
|
16 | 16 | "<img src=\"http://placehold.it/800x200.png\">\n", |
|
17 | 17 | "\n", |
|
18 | 18 | "unconfined markdown image:\n", |
|
19 | 19 | "\n", |
|
20 | 20 | "<img src=\"http://placehold.it/800x200.png\" class=\"unconfined\">" |
|
21 | 21 | ] |
|
22 | 22 | }, |
|
23 | 23 | { |
|
24 | 24 | "cell_type": "code", |
|
25 | 25 | "execution_count": 1, |
|
26 | 26 | "metadata": { |
|
27 | 27 | "collapsed": true |
|
28 | 28 | }, |
|
29 | 29 | "outputs": [], |
|
30 | 30 | "source": [ |
|
31 | 31 | "from IPython.display import Image, IFrame" |
|
32 | 32 | ] |
|
33 | 33 | }, |
|
34 | 34 | { |
|
35 | 35 | "cell_type": "markdown", |
|
36 | 36 | "metadata": {}, |
|
37 | 37 | "source": [ |
|
38 | 38 | "Overflow image in HTML (non-embedded)" |
|
39 | 39 | ] |
|
40 | 40 | }, |
|
41 | 41 | { |
|
42 | 42 | "cell_type": "code", |
|
43 | 43 | "execution_count": 2, |
|
44 | 44 | "metadata": { |
|
45 | 45 | "collapsed": false |
|
46 | 46 | }, |
|
47 | 47 | "outputs": [ |
|
48 | 48 | { |
|
49 | 49 | "data": { |
|
50 | 50 | "text/html": [ |
|
51 | 51 | "<img src=\"http://placehold.it/800x200.png\" />" |
|
52 | 52 | ], |
|
53 | 53 | "text/plain": [ |
|
54 | 54 | "<IPython.core.display.Image object>" |
|
55 | 55 | ] |
|
56 | 56 | }, |
|
57 | 57 | "execution_count": 2, |
|
58 | 58 | "metadata": {}, |
|
59 | 59 | "output_type": "execute_result" |
|
60 | 60 | } |
|
61 | 61 | ], |
|
62 | 62 | "source": [ |
|
63 | 63 | "Image(url=\"http://placehold.it/800x200.png\", embed=False)" |
|
64 | 64 | ] |
|
65 | 65 | }, |
|
66 | 66 | { |
|
67 | 67 | "cell_type": "markdown", |
|
68 | 68 | "metadata": {}, |
|
69 | 69 | "source": [ |
|
70 | 70 | "Overflow image:" |
|
71 | 71 | ] |
|
72 | 72 | }, |
|
73 | 73 | { |
|
74 | 74 | "cell_type": "code", |
|
75 | 75 | "execution_count": 3, |
|
76 | 76 | "metadata": { |
|
77 | 77 | "collapsed": false |
|
78 | 78 | }, |
|
79 | 79 | "outputs": [ |
|
80 | 80 | { |
|
81 | 81 | "data": { |
|
82 | 82 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADIBAMAAADioZgpAAAAG1BMVEXMzMyWlpbFxcWxsbGjo6Oc\nnJyqqqq3t7e+vr4PApRfAAAFsUlEQVR4nO3cz28aRxTAcYwhcOzYxskRpLbKka0qtUeTquq1G6Xq\n1VSKejX9EeVo+kPyn13mzXuzs2uKZwxSK+33c4iZhX2K3szOr10YDAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5p+GX9w89JefLevfsi/cCHevbNPDvch2/du19O\nF65/hmu382MsT2pf/qn5wO++fD3PDCefTk4/MlwPbSWD7sbK61C+t/KLUH6VF+3T8OlZPP24cD00\nCQlyV/NQ1oQ1GdOMNik9ZFjrp18OThGuj/QCiZdIpcXZPJTP7f23OdHG9mlL+HHh+siatLuU4jBm\n9Ca8v7DyVU60dTz94hThekha7Ne/+X+lPPK5+lg1ncxq9/K7PzM7manU7IOvlusThOujcciVz9PS\nl7fSmKexCeurrUuG/cPRdp2T1Mv8+HB9tAk14XuS7315FVJZWRMehd7n3GVNjLY6OPiod8eH66N1\nyNi59vpDHUzOdn9v/fsLvXRiJ3TQSkfvsZ5+ZLg+WoXOxHclfqY60Yrxs9VP/Psb7XzWNsgctNaG\n/0IvuCPD9VEdmupQK2SknfvU+hStMOmM7p+MNl2FC8Eq5MhwfWTz3aRvWe453rxx2PT93P+xK+LY\ncD1knblmapGMxr4p25UT23qekV4hJwrXJ3V7DLE+3nfys0EzCMROKI9N2k4Urk90dLVZVmWDbdUc\nl9E4vghWWnT7W/paZ1W54RBtQ6cy1sRqS45tO7bk2LYDF64o2Zl8nFjZMLkrCIdoFJZytnKzWZBN\ng2JfH+dJgQsr7tH+CpEtxkFBOEQ+M7P7z51mLmZQh+OYwTgcBz7juya/2F8hcS8rNxwalVOyH17b\nCnrRdGW3vryvQu6kJ3pcIdKRXZSEQ8NuUIQbFq0MLjsZvGzOqsNo7sf2x7MluW6WJeGQ+DtUyK0U\nrK+xldtZ+k6Swdd+B/1C0vow7wSUu4azonBIhKcS3BspxDwlGVy231G7rF9O9l0fYaR/VRgOxm56\nh62l/Azu5k1XI53dtlUuHqZCysWbrtKm8zPoK2O7706sDOm6t06FFJP0yS1c6fXzM+jny/W+xcQi\nTtmokGdYuLgwbN04enoUXidzgVQd+z8G9WeoXFxC+5VDwTw1PD8y7waUMcmWGEx7i7nmBpVPUJ2/\nknuRjBWJTXrdFISDmLjmVt5sULTXITuIjzYI5Wgc6dk6KRW3Xzeh+ynZDbRxp2WUDOlsLpazbXfb\nhi/ZL6/dnmXhJhnS2X4v130+x7d6eUNfHLijNElH76hujdYF4SDiwkBfbFz2PVe56THrxJOtyptY\nLAgHEac9WiEL63CSpxKkr3/8VEIl097OIOLPtwfdB0XhIGKF6DQo/7kdfa69MxBU7cGax4BK2fM6\n3WnQ00+2+U5n012IDNNFyIAH5crZ0ybpqNt69rNy//Ls50J3e+fdcEmPVRAOgT2PZc9n2Yq91ZUt\nB8ma2+za+suJ62xmjTsTr/xwUHUz/ZHOfRWaeOWS7w+83fP9gam0+bpzdNMdq3PDwVSh7S6s69o6\n+4ZNmNEm37BpTVNHcl7VuSGy6g4NueFgfE1cD6a19SnNd9C06/E5Dt9BS+4NDh82knp/9sc/msM+\n8Q9BOJoXDg1ZyV3VcTCeOnMTPrC1cnopjPWA7Fw1i8OJSwzywyGxsgxpE660ePB7zGd6wqRJvRfv\nzzdHs8Ih8ZllSNdpWd/0lwqxh62bCmm+pR6P8sMBpey3F+KO4LqTsH2/hSEVcmsfbh9uVwg/rVFM\nf50kjrHh12LeNB+QB7fslzeCM8vx9qkrJCscWv7yXXzyA0oZv6ckk6fWi3BmUh9xqOfnmYq9/vWr\n+//6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/+AfmZU6iN1i\nLzkAAAAASUVORK5CYII=\n", |
|
83 | 83 | "text/plain": [ |
|
84 | 84 | "<IPython.core.display.Image object>" |
|
85 | 85 | ] |
|
86 | 86 | }, |
|
87 | 87 | "execution_count": 3, |
|
88 | 88 | "metadata": {}, |
|
89 | 89 | "output_type": "execute_result" |
|
90 | 90 | } |
|
91 | 91 | ], |
|
92 | 92 | "source": [ |
|
93 | 93 | "Image(url=\"http://placehold.it/800x200.png\", embed=True)" |
|
94 | 94 | ] |
|
95 | 95 | }, |
|
96 | 96 | { |
|
97 | 97 | "cell_type": "markdown", |
|
98 | 98 | "metadata": {}, |
|
99 | 99 | "source": [ |
|
100 | 100 | "Overflow, unconfined" |
|
101 | 101 | ] |
|
102 | 102 | }, |
|
103 | 103 | { |
|
104 | 104 | "cell_type": "code", |
|
105 | 105 | "execution_count": 4, |
|
106 | 106 | "metadata": { |
|
107 | 107 | "collapsed": false |
|
108 | 108 | }, |
|
109 | 109 | "outputs": [ |
|
110 | 110 | { |
|
111 | 111 | "data": { |
|
112 | 112 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADIBAMAAADioZgpAAAAG1BMVEXMzMyWlpbFxcWxsbGjo6Oc\nnJyqqqq3t7e+vr4PApRfAAAFsUlEQVR4nO3cz28aRxTAcYwhcOzYxskRpLbKka0qtUeTquq1G6Xq\n1VSKejX9EeVo+kPyn13mzXuzs2uKZwxSK+33c4iZhX2K3szOr10YDAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5p+GX9w89JefLevfsi/cCHevbNPDvch2/du19O\nF65/hmu382MsT2pf/qn5wO++fD3PDCefTk4/MlwPbSWD7sbK61C+t/KLUH6VF+3T8OlZPP24cD00\nCQlyV/NQ1oQ1GdOMNik9ZFjrp18OThGuj/QCiZdIpcXZPJTP7f23OdHG9mlL+HHh+siatLuU4jBm\n9Ca8v7DyVU60dTz94hThekha7Ne/+X+lPPK5+lg1ncxq9/K7PzM7manU7IOvlusThOujcciVz9PS\nl7fSmKexCeurrUuG/cPRdp2T1Mv8+HB9tAk14XuS7315FVJZWRMehd7n3GVNjLY6OPiod8eH66N1\nyNi59vpDHUzOdn9v/fsLvXRiJ3TQSkfvsZ5+ZLg+WoXOxHclfqY60Yrxs9VP/Psb7XzWNsgctNaG\n/0IvuCPD9VEdmupQK2SknfvU+hStMOmM7p+MNl2FC8Eq5MhwfWTz3aRvWe453rxx2PT93P+xK+LY\ncD1knblmapGMxr4p25UT23qekV4hJwrXJ3V7DLE+3nfys0EzCMROKI9N2k4Urk90dLVZVmWDbdUc\nl9E4vghWWnT7W/paZ1W54RBtQ6cy1sRqS45tO7bk2LYDF64o2Zl8nFjZMLkrCIdoFJZytnKzWZBN\ng2JfH+dJgQsr7tH+CpEtxkFBOEQ+M7P7z51mLmZQh+OYwTgcBz7juya/2F8hcS8rNxwalVOyH17b\nCnrRdGW3vryvQu6kJ3pcIdKRXZSEQ8NuUIQbFq0MLjsZvGzOqsNo7sf2x7MluW6WJeGQ+DtUyK0U\nrK+xldtZ+k6Swdd+B/1C0vow7wSUu4azonBIhKcS3BspxDwlGVy231G7rF9O9l0fYaR/VRgOxm56\nh62l/Azu5k1XI53dtlUuHqZCysWbrtKm8zPoK2O7706sDOm6t06FFJP0yS1c6fXzM+jny/W+xcQi\nTtmokGdYuLgwbN04enoUXidzgVQd+z8G9WeoXFxC+5VDwTw1PD8y7waUMcmWGEx7i7nmBpVPUJ2/\nknuRjBWJTXrdFISDmLjmVt5sULTXITuIjzYI5Wgc6dk6KRW3Xzeh+ynZDbRxp2WUDOlsLpazbXfb\nhi/ZL6/dnmXhJhnS2X4v130+x7d6eUNfHLijNElH76hujdYF4SDiwkBfbFz2PVe56THrxJOtyptY\nLAgHEac9WiEL63CSpxKkr3/8VEIl097OIOLPtwfdB0XhIGKF6DQo/7kdfa69MxBU7cGax4BK2fM6\n3WnQ00+2+U5n012IDNNFyIAH5crZ0ybpqNt69rNy//Ls50J3e+fdcEmPVRAOgT2PZc9n2Yq91ZUt\nB8ma2+za+suJ62xmjTsTr/xwUHUz/ZHOfRWaeOWS7w+83fP9gam0+bpzdNMdq3PDwVSh7S6s69o6\n+4ZNmNEm37BpTVNHcl7VuSGy6g4NueFgfE1cD6a19SnNd9C06/E5Dt9BS+4NDh82knp/9sc/msM+\n8Q9BOJoXDg1ZyV3VcTCeOnMTPrC1cnopjPWA7Fw1i8OJSwzywyGxsgxpE660ePB7zGd6wqRJvRfv\nzzdHs8Ih8ZllSNdpWd/0lwqxh62bCmm+pR6P8sMBpey3F+KO4LqTsH2/hSEVcmsfbh9uVwg/rVFM\nf50kjrHh12LeNB+QB7fslzeCM8vx9qkrJCscWv7yXXzyA0oZv6ckk6fWi3BmUh9xqOfnmYq9/vWr\n+//6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/+AfmZU6iN1i\nLzkAAAAASUVORK5CYII=\n", |
|
113 | 113 | "text/plain": [ |
|
114 | 114 | "<IPython.core.display.Image object>" |
|
115 | 115 | ] |
|
116 | 116 | }, |
|
117 | 117 | "execution_count": 4, |
|
118 | 118 | "metadata": { |
|
119 | 119 | "image/png": { |
|
120 | 120 | "unconfined": true |
|
121 | 121 | } |
|
122 | 122 | }, |
|
123 | 123 | "output_type": "execute_result" |
|
124 | 124 | } |
|
125 | 125 | ], |
|
126 | 126 | "source": [ |
|
127 | 127 | "Image(url=\"http://placehold.it/800x200.png\", embed=True, unconfined=True)" |
|
128 | 128 | ] |
|
129 | 129 | }, |
|
130 | 130 | { |
|
131 | 131 | "cell_type": "markdown", |
|
132 | 132 | "metadata": {}, |
|
133 | 133 | "source": [ |
|
134 | 134 | "Overflow with explicit height, width (retina):" |
|
135 | 135 | ] |
|
136 | 136 | }, |
|
137 | 137 | { |
|
138 | 138 | "cell_type": "code", |
|
139 | 139 | "execution_count": 5, |
|
140 | 140 | "metadata": { |
|
141 | 141 | "collapsed": false |
|
142 | 142 | }, |
|
143 | 143 | "outputs": [ |
|
144 | 144 | { |
|
145 | 145 | "data": { |
|
146 | 146 | "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg\nSlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP\nFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc\nITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA\nyAcIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC\nBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn\nKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY\nmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5\n+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB\nAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD\nREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip\nqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR\nAD8A9MooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKjmnit03yuEX3oAkoqC3vILrd5L7tuM8EYz9anoAKKZJKkMZeRgqjqTVA65aBsASEeo\nXigDSoqK3uYbpN8Lhh39RUtABRTJZo4IzJK4VR3NZ/8AblpuxiXHrt4/nQBp0VHBcRXEe+Jwy+3a\npKACimu6xoXdgqjkk1ntrlorYHmMPULx+tAGlRUNvdw3SloXDY6juKmoAKKKKACiiigAooooAKKK\nKACiqtzqFtaHbI+X/uryagj1u0dsHzE92Xj9KANGikVldQykFTyCKWgAoqvc3kFoAZXwT0Uck1Vj\n1u0dsHzE92Xj9KANKikVldQykFTyCO9LQAUVFcXMNqm+Zwo7epqkuuWhbBEgHqV4/nQBpUUyOVJo\nw8bBlPQin0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF\nFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\nUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR\nQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA\nBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF\nFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\nUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBnahqqWhMSLulx3\n6CufnnmuXMsrFucZ7D2rqLiwt7qVJJVJK8cHr9az9dRY7aBUUKoY4AGB0oAb4e/5ef8AgP8AWtus\nTw9/y8/8B/rW3QBzWsXTTXhiB+SPgD37mprfRPOsxI0hWRhlRjj2zVLUomi1CYN/ExYfQ810VpdR\nPYJKXUKqgNk9CKAObtZ5LK7D8jacOvqO4rrgQQCOhrjnzc3bFF5kckD6mutY+TbE9difyFAHOard\nm5u2UH93Gdqj37mrKaEzWgcyETEZC44+lZtqnm3kKn+Jxn867CgDlNPums7tSSQhO1x7V1dclqKe\nXqE6jj5s/nzXT2j+ZZwuTklBn64oAxNbuzJcfZ1PyJ973NLZ6N9otRLJIUZhlQB296zp2Mt1I3dn\nJ/WuwRQiKg6KMCgDkopJbC9z0ZGww9R3FdYjiRFdTlWAIPtXN60mzUWP95Qf6f0rZ0l9+mw5PIyP\nyNAF2iimTSeTBJJjOxS2PXAoAfRWJ/wkP/Tr/wCRP/rVqTXSRWZueq7dwHrnpQBPRWJ/wkP/AE6/\n+RP/AK1bdABVXULk2lm8i/e6L9atUjKGUqwBB6g0Acna2st/cFQfd3POKuX+ji2tzNFIWC/eDD9a\n3IbeG3DCKMIGOTiqWtXKxWZhzl5OAPQetAFLQ7plmNsxyjAlR6GtyWRYYXkbooJNc7osZfUVYdEU\nk/lj+tautPs05h/eYD+v9KAMEmXUL3k5eRvy/wD1VdvtH+y23nRyF9v3gR+opuhJuvmY/wAKEj9K\n37hPMt5U/vKR+lAGNod2RIbVj8rcp7HvW6SACT0FchZP5d9A2f4xn6V02oP5enzsP7hH58UAc5d3\nD314WGTk7UX27Vdn0QxWhkWQtIoyy44PriqulJv1KEHoCT+QrqetAHN6PdmC6ETH93Jxj0Paukrj\nXBguWA4KPx+BrsQQQCOhoAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi\niigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK\nKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo\nAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi\niigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKx9\nf/1EP+8f5VsVj6//AKiH/eP8qAGeHv8Al5/4D/WtusTw9/y8/wDAf61t0AYmuXEBIh2Bphzuz932\nrKS0uJITKkLlB3Apru1xclmPzO3P4muwRFjjVFGFUYAoA5vSLiCG6AlQbm4V8/drfvP+PG4/65t/\nKua1GJYdQmRRgZyB9Rn+tdDEzXGkgnlniIPucYoA57Tv+QjB/v11lcjYttvoD/00H8666gDltX/5\nCk3/AAH/ANBFb+m/8g6D/drntTbdqU5/2sfkMV0diuywgH+wD+lAHKRczpn+8P512dca4MVwwPVW\n/ka7IHIyKAOd17/j+T/rmP5mtHRf+Qcv+8azNcbdqGP7qAf1/rWro67dNjPqSf1oAv010WSNkYZV\ngQR7U6igDndW05LXZJCCIzwRnODUEl6X0uK2ycqxz9O38/0rf1ExDT5vN+7t4Hv2/WuUGMjPTvig\nDY0vS454DNcKSGPyDOOPWt2o4DGbeMxf6vaNv0qSgAooooAhurlLWBpZOg6D1PpXKzzSXdwZH5dj\ngAfyFWNUvTd3JCn90nC+/vV/RtP2qLqUfMfuA9h60AXNNshZ2+G5kflj/SoNe/48U/66D+RrUrN1\ntd2n5/uuD/T+tAFLQP8Aj4m/3B/Ot/rXPaC2LyRfWP8AqK35W2ROx7KTQBx0P+vj/wB4fzrptX/5\nBc3/AAH/ANCFc5arvu4V9XUfrXS6mu7TZwP7ufyOaAMTRf8AkIr/ALprpq5fR226nF7gj9K6igDk\nLzi+uP8Aro3866yH/UR/7o/lXIznzLqVh/E5I/OuwRdqKvoMUALRRRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA\nUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR\nRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\nFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA\nUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR\nRRQAUUUUAFFFFABRRRQAUUUUANeRIkLyMFUdSTxWLrVzDPDEIpUchjnac1qX1u11ZyQoQGbGCenU\nGsX+wbr/AJ6Q/mf8KAH6JcQwef5sipnbjccZ61vKwZQykFSMgjvXPf2Ddf8APSH8z/hW9bxmK2ij\nYglECnHsKAOVvIWtrySPphsqfbtXRQ6nbSWwlaVVIHzKTyD9KL/T475Bk7ZF+62P0rHOh3YbAMZH\nruoAqXErXd48iqcyN8o/lXV28Xk28cX91QKo6fpK2jebIweXtjotaVAHJXkDWl66DgA5U+3at1NX\ntjaeazjeBzH3zU17YRXsYD/K4+647Vk/2Bcbv9bFt9ec0AUIo3vbwL1aRsk+nqa64AKAAMAcCqlj\np0dipIO+Q9WI/lVygDmNXtzBfO2Plk+Yf1rUstUtzZL50gV0GCD1OPSrl1aR3kJjkHuCOoNYzaBO\nG+SaMr6nINAFCeR729Z1UlpG+UfoK6uCIQQRxDoigVTsNKjs28xm8yXscYA+laFABTXdI0LuwVR1\nJNOqvfW7XVnJChAZsYJ6dQaAMTWL1biVYomDRpzkdzSTafs0iO4x+8zub6Hp/T86kj0GfzF8ySLZ\nn5sE5x+VbskSywtER8rLtoAxdGv0iRoJnCqPmUsfzFbisGUMpBBGQR3rnv7Buv8AnpD+Z/wregjM\nVvFGSCUQKSPYUASVR1a4+z2LbThn+Uf1q9WfqlhLfLEI3UbCchu+aAMKxjikulE7qkY5O44z7V0n\n2+0H/LxF/wB9Vjf2Ddf89IfzP+FH9g3X/PSH8z/hQBuxXMEzFYpUdgM4U5pLuD7TaSRd2HH17VQ0\nzTJrK5aSRoyChX5SfUe3tWrQByVnObO9WRgflOGHt3rY1LU4DZtHDIHeQY47Dvmn3+kpduZY28uQ\n9eODVJNAmLfvJowv+zkmgCLRbcy3vmEfLGM/j2ropEEkbI3RgQajtraO1hEUY4HUnqT61NQByHz2\nV6Mj54n/ADreuNWt1sy8UgMjD5V7g+9Pv9MjvcNnZKON2Ov1rNXQJ93zSxhfUZJoAqabbm4vo1x8\nqnc30FdXVazso7KLYnLH7zHqas0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2Q==\n", |
|
147 | 147 | "text/plain": [ |
|
148 | 148 | "<IPython.core.display.Image object>" |
|
149 | 149 | ] |
|
150 | 150 | }, |
|
151 | 151 | "execution_count": 5, |
|
152 | 152 | "metadata": { |
|
153 | 153 | "image/jpeg": { |
|
154 | 154 | "height": 100, |
|
155 | 155 | "width": 900 |
|
156 | 156 | } |
|
157 | 157 | }, |
|
158 | 158 | "output_type": "execute_result" |
|
159 | 159 | } |
|
160 | 160 | ], |
|
161 | 161 | "source": [ |
|
162 | 162 | "Image(url=\"http://placehold.it/1800x200.jpg\", embed=True, retina=True)" |
|
163 | 163 | ] |
|
164 | 164 | }, |
|
165 | 165 | { |
|
166 | 166 | "cell_type": "markdown", |
|
167 | 167 | "metadata": {}, |
|
168 | 168 | "source": [ |
|
169 | 169 | "Overflowing IFrame:" |
|
170 | 170 | ] |
|
171 | 171 | }, |
|
172 | 172 | { |
|
173 | 173 | "cell_type": "code", |
|
174 | 174 | "execution_count": null, |
|
175 | 175 | "metadata": { |
|
176 | 176 | "collapsed": false |
|
177 | 177 | }, |
|
178 | 178 | "outputs": [ |
|
179 | 179 | { |
|
180 | 180 | "data": { |
|
181 | 181 | "text/html": [ |
|
182 | 182 | "\n", |
|
183 | 183 | " <iframe\n", |
|
184 | 184 | " width=\"900\"\n", |
|
185 | 185 | " height=\"400\"\n", |
|
186 | " src=\"http://ipython.org\"\n", | |
|
186 | " src=\"https://ipython.org\"\n", | |
|
187 | 187 | " frameborder=\"0\"\n", |
|
188 | 188 | " allowfullscreen\n", |
|
189 | 189 | " ></iframe>\n", |
|
190 | 190 | " " |
|
191 | 191 | ], |
|
192 | 192 | "text/plain": [ |
|
193 | 193 | "<IPython.lib.display.IFrame at 0x105239dd8>" |
|
194 | 194 | ] |
|
195 | 195 | }, |
|
196 | 196 | "execution_count": 6, |
|
197 | 197 | "metadata": {}, |
|
198 | 198 | "output_type": "execute_result" |
|
199 | 199 | } |
|
200 | 200 | ], |
|
201 | 201 | "source": [ |
|
202 | "IFrame(src=\"http://ipython.org\", width=900, height=400)" | |
|
202 | "IFrame(src=\"https://ipython.org\", width=900, height=400)" | |
|
203 | 203 | ] |
|
204 | 204 | }, |
|
205 | 205 | { |
|
206 | 206 | "cell_type": "markdown", |
|
207 | 207 | "metadata": {}, |
|
208 | 208 | "source": [ |
|
209 | 209 | "Overflowing table:" |
|
210 | 210 | ] |
|
211 | 211 | }, |
|
212 | 212 | { |
|
213 | 213 | "cell_type": "code", |
|
214 | 214 | "execution_count": null, |
|
215 | 215 | "metadata": { |
|
216 | 216 | "collapsed": false |
|
217 | 217 | }, |
|
218 | 218 | "outputs": [ |
|
219 | 219 | { |
|
220 | 220 | "data": { |
|
221 | 221 | "text/html": [ |
|
222 | 222 | "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", |
|
223 | 223 | "<table border=\"1\" class=\"dataframe\">\n", |
|
224 | 224 | " <thead>\n", |
|
225 | 225 | " <tr style=\"text-align: right;\">\n", |
|
226 | 226 | " <th></th>\n", |
|
227 | 227 | " <th>0</th>\n", |
|
228 | 228 | " <th>1</th>\n", |
|
229 | 229 | " <th>2</th>\n", |
|
230 | 230 | " <th>3</th>\n", |
|
231 | 231 | " <th>4</th>\n", |
|
232 | 232 | " <th>5</th>\n", |
|
233 | 233 | " <th>6</th>\n", |
|
234 | 234 | " <th>7</th>\n", |
|
235 | 235 | " <th>8</th>\n", |
|
236 | 236 | " <th>9</th>\n", |
|
237 | 237 | " <th>10</th>\n", |
|
238 | 238 | " <th>11</th>\n", |
|
239 | 239 | " <th>12</th>\n", |
|
240 | 240 | " <th>13</th>\n", |
|
241 | 241 | " <th>14</th>\n", |
|
242 | 242 | " </tr>\n", |
|
243 | 243 | " </thead>\n", |
|
244 | 244 | " <tbody>\n", |
|
245 | 245 | " <tr>\n", |
|
246 | 246 | " <th>0</th>\n", |
|
247 | 247 | " <td> column</td>\n", |
|
248 | 248 | " <td> column</td>\n", |
|
249 | 249 | " <td> column</td>\n", |
|
250 | 250 | " <td> column</td>\n", |
|
251 | 251 | " <td> column</td>\n", |
|
252 | 252 | " <td> column</td>\n", |
|
253 | 253 | " <td> column</td>\n", |
|
254 | 254 | " <td> column</td>\n", |
|
255 | 255 | " <td> column</td>\n", |
|
256 | 256 | " <td> column</td>\n", |
|
257 | 257 | " <td> column</td>\n", |
|
258 | 258 | " <td> column</td>\n", |
|
259 | 259 | " <td> column</td>\n", |
|
260 | 260 | " <td> column</td>\n", |
|
261 | 261 | " <td> column</td>\n", |
|
262 | 262 | " </tr>\n", |
|
263 | 263 | " </tbody>\n", |
|
264 | 264 | "</table>\n", |
|
265 | 265 | "</div>" |
|
266 | 266 | ], |
|
267 | 267 | "text/plain": [ |
|
268 | 268 | " 0 1 2 3 4 5 6 7 8 \\\n", |
|
269 | 269 | "0 column column column column column column column column column \n", |
|
270 | 270 | "\n", |
|
271 | 271 | " 9 10 11 12 13 14 \n", |
|
272 | 272 | "0 column column column column column column " |
|
273 | 273 | ] |
|
274 | 274 | }, |
|
275 | 275 | "execution_count": 7, |
|
276 | 276 | "metadata": {}, |
|
277 | 277 | "output_type": "execute_result" |
|
278 | 278 | } |
|
279 | 279 | ], |
|
280 | 280 | "source": [ |
|
281 | 281 | "import pandas as pd\n", |
|
282 | 282 | "pd.DataFrame([['column'] * 15])" |
|
283 | 283 | ] |
|
284 | 284 | } |
|
285 | 285 | ], |
|
286 | 286 | "metadata": { |
|
287 | 287 | "kernelspec": { |
|
288 | 288 | "display_name": "Python 3", |
|
289 | 289 | "language": "python", |
|
290 | 290 | "name": "python3" |
|
291 | 291 | }, |
|
292 | 292 | "language_info": { |
|
293 | 293 | "codemirror_mode": { |
|
294 | 294 | "name": "ipython", |
|
295 | 295 | "version": 3 |
|
296 | 296 | }, |
|
297 | 297 | "file_extension": ".py", |
|
298 | 298 | "mimetype": "text/x-python", |
|
299 | 299 | "name": "python", |
|
300 | 300 | "nbconvert_exporter": "python", |
|
301 | 301 | "pygments_lexer": "ipython3", |
|
302 | 302 | "version": "3.4.3" |
|
303 | 303 | } |
|
304 | 304 | }, |
|
305 | 305 | "nbformat": 4, |
|
306 | 306 | "nbformat_minor": 0 |
|
307 | 307 | } |
|
1 | NO CONTENT: modified file | |
The requested commit or file is too big and content was truncated. Show full diff |
General Comments 0
You need to be logged in to leave comments.
Login now