Show More
The requested changes are too big and content was truncated. Show full diff
@@ -1,151 +1,151 b'' | |||||
1 | # encoding: utf-8 |
|
1 | # encoding: utf-8 | |
2 | """ |
|
2 | """ | |
3 | IPython: tools for interactive and parallel computing in Python. |
|
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 | # Copyright (c) 2008-2011, IPython Development Team. |
|
8 | # Copyright (c) 2008-2011, IPython Development Team. | |
9 | # Copyright (c) 2001-2007, Fernando Perez <fernando.perez@colorado.edu> |
|
9 | # Copyright (c) 2001-2007, Fernando Perez <fernando.perez@colorado.edu> | |
10 | # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de> |
|
10 | # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de> | |
11 | # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu> |
|
11 | # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu> | |
12 | # |
|
12 | # | |
13 | # Distributed under the terms of the Modified BSD License. |
|
13 | # Distributed under the terms of the Modified BSD License. | |
14 | # |
|
14 | # | |
15 | # The full license is in the file COPYING.txt, distributed with this software. |
|
15 | # The full license is in the file COPYING.txt, distributed with this software. | |
16 | #----------------------------------------------------------------------------- |
|
16 | #----------------------------------------------------------------------------- | |
17 |
|
17 | |||
18 | #----------------------------------------------------------------------------- |
|
18 | #----------------------------------------------------------------------------- | |
19 | # Imports |
|
19 | # Imports | |
20 | #----------------------------------------------------------------------------- |
|
20 | #----------------------------------------------------------------------------- | |
21 |
|
21 | |||
22 | import os |
|
22 | import os | |
23 | import sys |
|
23 | import sys | |
24 |
|
24 | |||
25 | #----------------------------------------------------------------------------- |
|
25 | #----------------------------------------------------------------------------- | |
26 | # Setup everything |
|
26 | # Setup everything | |
27 | #----------------------------------------------------------------------------- |
|
27 | #----------------------------------------------------------------------------- | |
28 |
|
28 | |||
29 | # Don't forget to also update setup.py when this changes! |
|
29 | # Don't forget to also update setup.py when this changes! | |
30 | if sys.version_info < (3,4): |
|
30 | if sys.version_info < (3,4): | |
31 | raise ImportError( |
|
31 | raise ImportError( | |
32 | """ |
|
32 | """ | |
33 | IPython 7.0+ supports Python 3.4 and above. |
|
33 | IPython 7.0+ supports Python 3.4 and above. | |
34 | When using Python 2.7, please install IPython 5.x LTS Long Term Support version. |
|
34 | When using Python 2.7, please install IPython 5.x LTS Long Term Support version. | |
35 | Python 3.3 was supported up to IPython 6.x. |
|
35 | Python 3.3 was supported up to IPython 6.x. | |
36 |
|
36 | |||
37 | See IPython `README.rst` file for more information: |
|
37 | See IPython `README.rst` file for more information: | |
38 |
|
38 | |||
39 | https://github.com/ipython/ipython/blob/master/README.rst |
|
39 | https://github.com/ipython/ipython/blob/master/README.rst | |
40 |
|
40 | |||
41 | """) |
|
41 | """) | |
42 |
|
42 | |||
43 | # Make it easy to import extensions - they are always directly on pythonpath. |
|
43 | # Make it easy to import extensions - they are always directly on pythonpath. | |
44 | # Therefore, non-IPython modules can be added to extensions directory. |
|
44 | # Therefore, non-IPython modules can be added to extensions directory. | |
45 | # This should probably be in ipapp.py. |
|
45 | # This should probably be in ipapp.py. | |
46 | sys.path.append(os.path.join(os.path.dirname(__file__), "extensions")) |
|
46 | sys.path.append(os.path.join(os.path.dirname(__file__), "extensions")) | |
47 |
|
47 | |||
48 | #----------------------------------------------------------------------------- |
|
48 | #----------------------------------------------------------------------------- | |
49 | # Setup the top level names |
|
49 | # Setup the top level names | |
50 | #----------------------------------------------------------------------------- |
|
50 | #----------------------------------------------------------------------------- | |
51 |
|
51 | |||
52 | from .core.getipython import get_ipython |
|
52 | from .core.getipython import get_ipython | |
53 | from .core import release |
|
53 | from .core import release | |
54 | from .core.application import Application |
|
54 | from .core.application import Application | |
55 | from .terminal.embed import embed |
|
55 | from .terminal.embed import embed | |
56 |
|
56 | |||
57 | from .core.interactiveshell import InteractiveShell |
|
57 | from .core.interactiveshell import InteractiveShell | |
58 | from .testing import test |
|
58 | from .testing import test | |
59 | from .utils.sysinfo import sys_info |
|
59 | from .utils.sysinfo import sys_info | |
60 | from .utils.frame import extract_module_locals |
|
60 | from .utils.frame import extract_module_locals | |
61 |
|
61 | |||
62 | # Release data |
|
62 | # Release data | |
63 | __author__ = '%s <%s>' % (release.author, release.author_email) |
|
63 | __author__ = '%s <%s>' % (release.author, release.author_email) | |
64 | __license__ = release.license |
|
64 | __license__ = release.license | |
65 | __version__ = release.version |
|
65 | __version__ = release.version | |
66 | version_info = release.version_info |
|
66 | version_info = release.version_info | |
67 |
|
67 | |||
68 | def embed_kernel(module=None, local_ns=None, **kwargs): |
|
68 | def embed_kernel(module=None, local_ns=None, **kwargs): | |
69 | """Embed and start an IPython kernel in a given scope. |
|
69 | """Embed and start an IPython kernel in a given scope. | |
70 |
|
70 | |||
71 | If you don't want the kernel to initialize the namespace |
|
71 | If you don't want the kernel to initialize the namespace | |
72 | from the scope of the surrounding function, |
|
72 | from the scope of the surrounding function, | |
73 | and/or you want to load full IPython configuration, |
|
73 | and/or you want to load full IPython configuration, | |
74 | you probably want `IPython.start_kernel()` instead. |
|
74 | you probably want `IPython.start_kernel()` instead. | |
75 |
|
75 | |||
76 | Parameters |
|
76 | Parameters | |
77 | ---------- |
|
77 | ---------- | |
78 | module : ModuleType, optional |
|
78 | module : ModuleType, optional | |
79 | The module to load into IPython globals (default: caller) |
|
79 | The module to load into IPython globals (default: caller) | |
80 | local_ns : dict, optional |
|
80 | local_ns : dict, optional | |
81 | The namespace to load into IPython user namespace (default: caller) |
|
81 | The namespace to load into IPython user namespace (default: caller) | |
82 |
|
82 | |||
83 | kwargs : various, optional |
|
83 | kwargs : various, optional | |
84 | Further keyword args are relayed to the IPKernelApp constructor, |
|
84 | Further keyword args are relayed to the IPKernelApp constructor, | |
85 | allowing configuration of the Kernel. Will only have an effect |
|
85 | allowing configuration of the Kernel. Will only have an effect | |
86 | on the first embed_kernel call for a given process. |
|
86 | on the first embed_kernel call for a given process. | |
87 | """ |
|
87 | """ | |
88 |
|
88 | |||
89 | (caller_module, caller_locals) = extract_module_locals(1) |
|
89 | (caller_module, caller_locals) = extract_module_locals(1) | |
90 | if module is None: |
|
90 | if module is None: | |
91 | module = caller_module |
|
91 | module = caller_module | |
92 | if local_ns is None: |
|
92 | if local_ns is None: | |
93 | local_ns = caller_locals |
|
93 | local_ns = caller_locals | |
94 |
|
94 | |||
95 | # Only import .zmq when we really need it |
|
95 | # Only import .zmq when we really need it | |
96 | from ipykernel.embed import embed_kernel as real_embed_kernel |
|
96 | from ipykernel.embed import embed_kernel as real_embed_kernel | |
97 | real_embed_kernel(module=module, local_ns=local_ns, **kwargs) |
|
97 | real_embed_kernel(module=module, local_ns=local_ns, **kwargs) | |
98 |
|
98 | |||
99 | def start_ipython(argv=None, **kwargs): |
|
99 | def start_ipython(argv=None, **kwargs): | |
100 | """Launch a normal IPython instance (as opposed to embedded) |
|
100 | """Launch a normal IPython instance (as opposed to embedded) | |
101 |
|
101 | |||
102 | `IPython.embed()` puts a shell in a particular calling scope, |
|
102 | `IPython.embed()` puts a shell in a particular calling scope, | |
103 | such as a function or method for debugging purposes, |
|
103 | such as a function or method for debugging purposes, | |
104 | which is often not desirable. |
|
104 | which is often not desirable. | |
105 |
|
105 | |||
106 | `start_ipython()` does full, regular IPython initialization, |
|
106 | `start_ipython()` does full, regular IPython initialization, | |
107 | including loading startup files, configuration, etc. |
|
107 | including loading startup files, configuration, etc. | |
108 | much of which is skipped by `embed()`. |
|
108 | much of which is skipped by `embed()`. | |
109 |
|
109 | |||
110 | This is a public API method, and will survive implementation changes. |
|
110 | This is a public API method, and will survive implementation changes. | |
111 |
|
111 | |||
112 | Parameters |
|
112 | Parameters | |
113 | ---------- |
|
113 | ---------- | |
114 |
|
114 | |||
115 | argv : list or None, optional |
|
115 | argv : list or None, optional | |
116 | If unspecified or None, IPython will parse command-line options from sys.argv. |
|
116 | If unspecified or None, IPython will parse command-line options from sys.argv. | |
117 | To prevent any command-line parsing, pass an empty list: `argv=[]`. |
|
117 | To prevent any command-line parsing, pass an empty list: `argv=[]`. | |
118 | user_ns : dict, optional |
|
118 | user_ns : dict, optional | |
119 | specify this dictionary to initialize the IPython user namespace with particular values. |
|
119 | specify this dictionary to initialize the IPython user namespace with particular values. | |
120 | kwargs : various, optional |
|
120 | kwargs : various, optional | |
121 | Any other kwargs will be passed to the Application constructor, |
|
121 | Any other kwargs will be passed to the Application constructor, | |
122 | such as `config`. |
|
122 | such as `config`. | |
123 | """ |
|
123 | """ | |
124 | from IPython.terminal.ipapp import launch_new_instance |
|
124 | from IPython.terminal.ipapp import launch_new_instance | |
125 | return launch_new_instance(argv=argv, **kwargs) |
|
125 | return launch_new_instance(argv=argv, **kwargs) | |
126 |
|
126 | |||
127 | def start_kernel(argv=None, **kwargs): |
|
127 | def start_kernel(argv=None, **kwargs): | |
128 | """Launch a normal IPython kernel instance (as opposed to embedded) |
|
128 | """Launch a normal IPython kernel instance (as opposed to embedded) | |
129 |
|
129 | |||
130 | `IPython.embed_kernel()` puts a shell in a particular calling scope, |
|
130 | `IPython.embed_kernel()` puts a shell in a particular calling scope, | |
131 | such as a function or method for debugging purposes, |
|
131 | such as a function or method for debugging purposes, | |
132 | which is often not desirable. |
|
132 | which is often not desirable. | |
133 |
|
133 | |||
134 | `start_kernel()` does full, regular IPython initialization, |
|
134 | `start_kernel()` does full, regular IPython initialization, | |
135 | including loading startup files, configuration, etc. |
|
135 | including loading startup files, configuration, etc. | |
136 | much of which is skipped by `embed()`. |
|
136 | much of which is skipped by `embed()`. | |
137 |
|
137 | |||
138 | Parameters |
|
138 | Parameters | |
139 | ---------- |
|
139 | ---------- | |
140 |
|
140 | |||
141 | argv : list or None, optional |
|
141 | argv : list or None, optional | |
142 | If unspecified or None, IPython will parse command-line options from sys.argv. |
|
142 | If unspecified or None, IPython will parse command-line options from sys.argv. | |
143 | To prevent any command-line parsing, pass an empty list: `argv=[]`. |
|
143 | To prevent any command-line parsing, pass an empty list: `argv=[]`. | |
144 | user_ns : dict, optional |
|
144 | user_ns : dict, optional | |
145 | specify this dictionary to initialize the IPython user namespace with particular values. |
|
145 | specify this dictionary to initialize the IPython user namespace with particular values. | |
146 | kwargs : various, optional |
|
146 | kwargs : various, optional | |
147 | Any other kwargs will be passed to the Application constructor, |
|
147 | Any other kwargs will be passed to the Application constructor, | |
148 | such as `config`. |
|
148 | such as `config`. | |
149 | """ |
|
149 | """ | |
150 | from IPython.kernel.zmq.kernelapp import launch_new_instance |
|
150 | from IPython.kernel.zmq.kernelapp import launch_new_instance | |
151 | return launch_new_instance(argv=argv, **kwargs) |
|
151 | return launch_new_instance(argv=argv, **kwargs) |
@@ -1,119 +1,119 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 | """Release data for the IPython project.""" |
|
2 | """Release data for the IPython project.""" | |
3 |
|
3 | |||
4 | #----------------------------------------------------------------------------- |
|
4 | #----------------------------------------------------------------------------- | |
5 | # Copyright (c) 2008, IPython Development Team. |
|
5 | # Copyright (c) 2008, IPython Development Team. | |
6 | # Copyright (c) 2001, Fernando Perez <fernando.perez@colorado.edu> |
|
6 | # Copyright (c) 2001, Fernando Perez <fernando.perez@colorado.edu> | |
7 | # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de> |
|
7 | # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de> | |
8 | # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu> |
|
8 | # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu> | |
9 | # |
|
9 | # | |
10 | # Distributed under the terms of the Modified BSD License. |
|
10 | # Distributed under the terms of the Modified BSD License. | |
11 | # |
|
11 | # | |
12 | # The full license is in the file COPYING.txt, distributed with this software. |
|
12 | # The full license is in the file COPYING.txt, distributed with this software. | |
13 | #----------------------------------------------------------------------------- |
|
13 | #----------------------------------------------------------------------------- | |
14 |
|
14 | |||
15 | # Name of the package for release purposes. This is the name which labels |
|
15 | # Name of the package for release purposes. This is the name which labels | |
16 | # the tarballs and RPMs made by distutils, so it's best to lowercase it. |
|
16 | # the tarballs and RPMs made by distutils, so it's best to lowercase it. | |
17 | name = 'ipython' |
|
17 | name = 'ipython' | |
18 |
|
18 | |||
19 | # IPython version information. An empty _version_extra corresponds to a full |
|
19 | # IPython version information. An empty _version_extra corresponds to a full | |
20 | # release. 'dev' as a _version_extra string means this is a development |
|
20 | # release. 'dev' as a _version_extra string means this is a development | |
21 | # version |
|
21 | # version | |
22 | _version_major = 7 |
|
22 | _version_major = 7 | |
23 | _version_minor = 0 |
|
23 | _version_minor = 0 | |
24 | _version_patch = 0 |
|
24 | _version_patch = 0 | |
25 | _version_extra = '.dev' |
|
25 | _version_extra = '.dev' | |
26 | # _version_extra = 'rc2' |
|
26 | # _version_extra = 'rc2' | |
27 | # _version_extra = '' # Uncomment this for full releases |
|
27 | # _version_extra = '' # Uncomment this for full releases | |
28 |
|
28 | |||
29 | # Construct full version string from these. |
|
29 | # Construct full version string from these. | |
30 | _ver = [_version_major, _version_minor, _version_patch] |
|
30 | _ver = [_version_major, _version_minor, _version_patch] | |
31 |
|
31 | |||
32 | __version__ = '.'.join(map(str, _ver)) |
|
32 | __version__ = '.'.join(map(str, _ver)) | |
33 | if _version_extra: |
|
33 | if _version_extra: | |
34 | __version__ = __version__ + _version_extra |
|
34 | __version__ = __version__ + _version_extra | |
35 |
|
35 | |||
36 | version = __version__ # backwards compatibility name |
|
36 | version = __version__ # backwards compatibility name | |
37 | version_info = (_version_major, _version_minor, _version_patch, _version_extra) |
|
37 | version_info = (_version_major, _version_minor, _version_patch, _version_extra) | |
38 |
|
38 | |||
39 | # Change this when incrementing the kernel protocol version |
|
39 | # Change this when incrementing the kernel protocol version | |
40 | kernel_protocol_version_info = (5, 0) |
|
40 | kernel_protocol_version_info = (5, 0) | |
41 | kernel_protocol_version = "%i.%i" % kernel_protocol_version_info |
|
41 | kernel_protocol_version = "%i.%i" % kernel_protocol_version_info | |
42 |
|
42 | |||
43 | description = "IPython: Productive Interactive Computing" |
|
43 | description = "IPython: Productive Interactive Computing" | |
44 |
|
44 | |||
45 | long_description = \ |
|
45 | long_description = \ | |
46 | """ |
|
46 | """ | |
47 | IPython provides a rich toolkit to help you make the most out of using Python |
|
47 | IPython provides a rich toolkit to help you make the most out of using Python | |
48 | interactively. Its main components are: |
|
48 | interactively. Its main components are: | |
49 |
|
49 | |||
50 | * A powerful interactive Python shell |
|
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 | notebooks and other interactive frontends. |
|
52 | notebooks and other interactive frontends. | |
53 |
|
53 | |||
54 | The enhanced interactive Python shells have the following main features: |
|
54 | The enhanced interactive Python shells have the following main features: | |
55 |
|
55 | |||
56 | * Comprehensive object introspection. |
|
56 | * Comprehensive object introspection. | |
57 |
|
57 | |||
58 | * Input history, persistent across sessions. |
|
58 | * Input history, persistent across sessions. | |
59 |
|
59 | |||
60 | * Caching of output results during a session with automatically generated |
|
60 | * Caching of output results during a session with automatically generated | |
61 | references. |
|
61 | references. | |
62 |
|
62 | |||
63 | * Extensible tab completion, with support by default for completion of python |
|
63 | * Extensible tab completion, with support by default for completion of python | |
64 | variables and keywords, filenames and function keywords. |
|
64 | variables and keywords, filenames and function keywords. | |
65 |
|
65 | |||
66 | * Extensible system of 'magic' commands for controlling the environment and |
|
66 | * Extensible system of 'magic' commands for controlling the environment and | |
67 | performing many tasks related either to IPython or the operating system. |
|
67 | performing many tasks related either to IPython or the operating system. | |
68 |
|
68 | |||
69 | * A rich configuration system with easy switching between different setups |
|
69 | * A rich configuration system with easy switching between different setups | |
70 | (simpler than changing $PYTHONSTARTUP environment variables every time). |
|
70 | (simpler than changing $PYTHONSTARTUP environment variables every time). | |
71 |
|
71 | |||
72 | * Session logging and reloading. |
|
72 | * Session logging and reloading. | |
73 |
|
73 | |||
74 | * Extensible syntax processing for special purpose situations. |
|
74 | * Extensible syntax processing for special purpose situations. | |
75 |
|
75 | |||
76 | * Access to the system shell with user-extensible alias system. |
|
76 | * Access to the system shell with user-extensible alias system. | |
77 |
|
77 | |||
78 | * Easily embeddable in other Python programs and GUIs. |
|
78 | * Easily embeddable in other Python programs and GUIs. | |
79 |
|
79 | |||
80 | * Integrated access to the pdb debugger and the Python profiler. |
|
80 | * Integrated access to the pdb debugger and the Python profiler. | |
81 |
|
81 | |||
82 | The latest development version is always available from IPython's `GitHub |
|
82 | The latest development version is always available from IPython's `GitHub | |
83 | site <http://github.com/ipython>`_. |
|
83 | site <http://github.com/ipython>`_. | |
84 | """ |
|
84 | """ | |
85 |
|
85 | |||
86 | license = 'BSD' |
|
86 | license = 'BSD' | |
87 |
|
87 | |||
88 | authors = {'Fernando' : ('Fernando Perez','fperez.net@gmail.com'), |
|
88 | authors = {'Fernando' : ('Fernando Perez','fperez.net@gmail.com'), | |
89 | 'Janko' : ('Janko Hauser','jhauser@zscout.de'), |
|
89 | 'Janko' : ('Janko Hauser','jhauser@zscout.de'), | |
90 | 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'), |
|
90 | 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'), | |
91 | 'Ville' : ('Ville Vainio','vivainio@gmail.com'), |
|
91 | 'Ville' : ('Ville Vainio','vivainio@gmail.com'), | |
92 | 'Brian' : ('Brian E Granger', 'ellisonbg@gmail.com'), |
|
92 | 'Brian' : ('Brian E Granger', 'ellisonbg@gmail.com'), | |
93 | 'Min' : ('Min Ragan-Kelley', 'benjaminrk@gmail.com'), |
|
93 | 'Min' : ('Min Ragan-Kelley', 'benjaminrk@gmail.com'), | |
94 | 'Thomas' : ('Thomas A. Kluyver', 'takowl@gmail.com'), |
|
94 | 'Thomas' : ('Thomas A. Kluyver', 'takowl@gmail.com'), | |
95 | 'Jorgen' : ('Jorgen Stenarson', 'jorgen.stenarson@bostream.nu'), |
|
95 | 'Jorgen' : ('Jorgen Stenarson', 'jorgen.stenarson@bostream.nu'), | |
96 | 'Matthias' : ('Matthias Bussonnier', 'bussonniermatthias@gmail.com'), |
|
96 | 'Matthias' : ('Matthias Bussonnier', 'bussonniermatthias@gmail.com'), | |
97 | } |
|
97 | } | |
98 |
|
98 | |||
99 | author = 'The IPython Development Team' |
|
99 | author = 'The IPython Development Team' | |
100 |
|
100 | |||
101 | author_email = 'ipython-dev@python.org' |
|
101 | author_email = 'ipython-dev@python.org' | |
102 |
|
102 | |||
103 | url = 'https://ipython.org' |
|
103 | url = 'https://ipython.org' | |
104 |
|
104 | |||
105 |
|
105 | |||
106 | platforms = ['Linux','Mac OSX','Windows'] |
|
106 | platforms = ['Linux','Mac OSX','Windows'] | |
107 |
|
107 | |||
108 | keywords = ['Interactive','Interpreter','Shell', 'Embedding'] |
|
108 | keywords = ['Interactive','Interpreter','Shell', 'Embedding'] | |
109 |
|
109 | |||
110 | classifiers = [ |
|
110 | classifiers = [ | |
111 | 'Framework :: IPython', |
|
111 | 'Framework :: IPython', | |
112 | 'Intended Audience :: Developers', |
|
112 | 'Intended Audience :: Developers', | |
113 | 'Intended Audience :: Science/Research', |
|
113 | 'Intended Audience :: Science/Research', | |
114 | 'License :: OSI Approved :: BSD License', |
|
114 | 'License :: OSI Approved :: BSD License', | |
115 | 'Programming Language :: Python', |
|
115 | 'Programming Language :: Python', | |
116 | 'Programming Language :: Python :: 3', |
|
116 | 'Programming Language :: Python :: 3', | |
117 | 'Programming Language :: Python :: 3 :: Only', |
|
117 | 'Programming Language :: Python :: 3 :: Only', | |
118 | 'Topic :: System :: Shells' |
|
118 | 'Topic :: System :: Shells' | |
119 | ] |
|
119 | ] |
@@ -1,341 +1,341 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 | """Usage information for the main IPython applications. |
|
2 | """Usage information for the main IPython applications. | |
3 | """ |
|
3 | """ | |
4 | #----------------------------------------------------------------------------- |
|
4 | #----------------------------------------------------------------------------- | |
5 | # Copyright (C) 2008-2011 The IPython Development Team |
|
5 | # Copyright (C) 2008-2011 The IPython Development Team | |
6 | # Copyright (C) 2001-2007 Fernando Perez. <fperez@colorado.edu> |
|
6 | # Copyright (C) 2001-2007 Fernando Perez. <fperez@colorado.edu> | |
7 | # |
|
7 | # | |
8 | # Distributed under the terms of the BSD License. The full license is in |
|
8 | # Distributed under the terms of the BSD License. The full license is in | |
9 | # the file COPYING, distributed as part of this software. |
|
9 | # the file COPYING, distributed as part of this software. | |
10 | #----------------------------------------------------------------------------- |
|
10 | #----------------------------------------------------------------------------- | |
11 |
|
11 | |||
12 | import sys |
|
12 | import sys | |
13 | from IPython.core import release |
|
13 | from IPython.core import release | |
14 |
|
14 | |||
15 | cl_usage = """\ |
|
15 | cl_usage = """\ | |
16 | ========= |
|
16 | ========= | |
17 | IPython |
|
17 | IPython | |
18 | ========= |
|
18 | ========= | |
19 |
|
19 | |||
20 | Tools for Interactive Computing in Python |
|
20 | Tools for Interactive Computing in Python | |
21 | ========================================= |
|
21 | ========================================= | |
22 |
|
22 | |||
23 | A Python shell with automatic history (input and output), dynamic object |
|
23 | A Python shell with automatic history (input and output), dynamic object | |
24 | introspection, easier configuration, command completion, access to the |
|
24 | introspection, easier configuration, command completion, access to the | |
25 | system shell and more. IPython can also be embedded in running programs. |
|
25 | system shell and more. IPython can also be embedded in running programs. | |
26 |
|
26 | |||
27 |
|
27 | |||
28 | Usage |
|
28 | Usage | |
29 |
|
29 | |||
30 | ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ... |
|
30 | ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ... | |
31 |
|
31 | |||
32 | If invoked with no options, it executes the file and exits, passing the |
|
32 | If invoked with no options, it executes the file and exits, passing the | |
33 | remaining arguments to the script, just as if you had specified the same |
|
33 | remaining arguments to the script, just as if you had specified the same | |
34 | command with python. You may need to specify `--` before args to be passed |
|
34 | command with python. You may need to specify `--` before args to be passed | |
35 | to the script, to prevent IPython from attempting to parse them. If you |
|
35 | to the script, to prevent IPython from attempting to parse them. If you | |
36 | specify the option `-i` before the filename, it will enter an interactive |
|
36 | specify the option `-i` before the filename, it will enter an interactive | |
37 | IPython session after running the script, rather than exiting. Files ending |
|
37 | IPython session after running the script, rather than exiting. Files ending | |
38 | in .py will be treated as normal Python, but files ending in .ipy can |
|
38 | in .py will be treated as normal Python, but files ending in .ipy can | |
39 | contain special IPython syntax (magic commands, shell expansions, etc.). |
|
39 | contain special IPython syntax (magic commands, shell expansions, etc.). | |
40 |
|
40 | |||
41 | Almost all configuration in IPython is available via the command-line. Do |
|
41 | Almost all configuration in IPython is available via the command-line. Do | |
42 | `ipython --help-all` to see all available options. For persistent |
|
42 | `ipython --help-all` to see all available options. For persistent | |
43 | configuration, look into your `ipython_config.py` configuration file for |
|
43 | configuration, look into your `ipython_config.py` configuration file for | |
44 | details. |
|
44 | details. | |
45 |
|
45 | |||
46 | This file is typically installed in the `IPYTHONDIR` directory, and there |
|
46 | This file is typically installed in the `IPYTHONDIR` directory, and there | |
47 | is a separate configuration directory for each profile. The default profile |
|
47 | is a separate configuration directory for each profile. The default profile | |
48 | directory will be located in $IPYTHONDIR/profile_default. IPYTHONDIR |
|
48 | directory will be located in $IPYTHONDIR/profile_default. IPYTHONDIR | |
49 | defaults to to `$HOME/.ipython`. For Windows users, $HOME resolves to |
|
49 | defaults to to `$HOME/.ipython`. For Windows users, $HOME resolves to | |
50 | C:\\Users\\YourUserName in most instances. |
|
50 | C:\\Users\\YourUserName in most instances. | |
51 |
|
51 | |||
52 | To initialize a profile with the default configuration file, do:: |
|
52 | To initialize a profile with the default configuration file, do:: | |
53 |
|
53 | |||
54 | $> ipython profile create |
|
54 | $> ipython profile create | |
55 |
|
55 | |||
56 | and start editing `IPYTHONDIR/profile_default/ipython_config.py` |
|
56 | and start editing `IPYTHONDIR/profile_default/ipython_config.py` | |
57 |
|
57 | |||
58 | In IPython's documentation, we will refer to this directory as |
|
58 | In IPython's documentation, we will refer to this directory as | |
59 | `IPYTHONDIR`, you can change its default location by creating an |
|
59 | `IPYTHONDIR`, you can change its default location by creating an | |
60 | environment variable with this name and setting it to the desired path. |
|
60 | environment variable with this name and setting it to the desired path. | |
61 |
|
61 | |||
62 | For more information, see the manual available in HTML and PDF in your |
|
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 | interactive_usage = """ |
|
66 | interactive_usage = """ | |
67 | IPython -- An enhanced Interactive Python |
|
67 | IPython -- An enhanced Interactive Python | |
68 | ========================================= |
|
68 | ========================================= | |
69 |
|
69 | |||
70 | IPython offers a fully compatible replacement for the standard Python |
|
70 | IPython offers a fully compatible replacement for the standard Python | |
71 | interpreter, with convenient shell features, special commands, command |
|
71 | interpreter, with convenient shell features, special commands, command | |
72 | history mechanism and output results caching. |
|
72 | history mechanism and output results caching. | |
73 |
|
73 | |||
74 | At your system command line, type 'ipython -h' to see the command line |
|
74 | At your system command line, type 'ipython -h' to see the command line | |
75 | options available. This document only describes interactive features. |
|
75 | options available. This document only describes interactive features. | |
76 |
|
76 | |||
77 | GETTING HELP |
|
77 | GETTING HELP | |
78 | ------------ |
|
78 | ------------ | |
79 |
|
79 | |||
80 | Within IPython you have various way to access help: |
|
80 | Within IPython you have various way to access help: | |
81 |
|
81 | |||
82 | ? -> Introduction and overview of IPython's features (this screen). |
|
82 | ? -> Introduction and overview of IPython's features (this screen). | |
83 | object? -> Details about 'object'. |
|
83 | object? -> Details about 'object'. | |
84 | object?? -> More detailed, verbose information about 'object'. |
|
84 | object?? -> More detailed, verbose information about 'object'. | |
85 | %quickref -> Quick reference of all IPython specific syntax and magics. |
|
85 | %quickref -> Quick reference of all IPython specific syntax and magics. | |
86 | help -> Access Python's own help system. |
|
86 | help -> Access Python's own help system. | |
87 |
|
87 | |||
88 | If you are in terminal IPython you can quit this screen by pressing `q`. |
|
88 | If you are in terminal IPython you can quit this screen by pressing `q`. | |
89 |
|
89 | |||
90 |
|
90 | |||
91 | MAIN FEATURES |
|
91 | MAIN FEATURES | |
92 | ------------- |
|
92 | ------------- | |
93 |
|
93 | |||
94 | * Access to the standard Python help with object docstrings and the Python |
|
94 | * Access to the standard Python help with object docstrings and the Python | |
95 | manuals. Simply type 'help' (no quotes) to invoke it. |
|
95 | manuals. Simply type 'help' (no quotes) to invoke it. | |
96 |
|
96 | |||
97 | * Magic commands: type %magic for information on the magic subsystem. |
|
97 | * Magic commands: type %magic for information on the magic subsystem. | |
98 |
|
98 | |||
99 | * System command aliases, via the %alias command or the configuration file(s). |
|
99 | * System command aliases, via the %alias command or the configuration file(s). | |
100 |
|
100 | |||
101 | * Dynamic object information: |
|
101 | * Dynamic object information: | |
102 |
|
102 | |||
103 | Typing ?word or word? prints detailed information about an object. Certain |
|
103 | Typing ?word or word? prints detailed information about an object. Certain | |
104 | long strings (code, etc.) get snipped in the center for brevity. |
|
104 | long strings (code, etc.) get snipped in the center for brevity. | |
105 |
|
105 | |||
106 | Typing ??word or word?? gives access to the full information without |
|
106 | Typing ??word or word?? gives access to the full information without | |
107 | snipping long strings. Strings that are longer than the screen are printed |
|
107 | snipping long strings. Strings that are longer than the screen are printed | |
108 | through the less pager. |
|
108 | through the less pager. | |
109 |
|
109 | |||
110 | The ?/?? system gives access to the full source code for any object (if |
|
110 | The ?/?? system gives access to the full source code for any object (if | |
111 | available), shows function prototypes and other useful information. |
|
111 | available), shows function prototypes and other useful information. | |
112 |
|
112 | |||
113 | If you just want to see an object's docstring, type '%pdoc object' (without |
|
113 | If you just want to see an object's docstring, type '%pdoc object' (without | |
114 | quotes, and without % if you have automagic on). |
|
114 | quotes, and without % if you have automagic on). | |
115 |
|
115 | |||
116 | * Tab completion in the local namespace: |
|
116 | * Tab completion in the local namespace: | |
117 |
|
117 | |||
118 | At any time, hitting tab will complete any available python commands or |
|
118 | At any time, hitting tab will complete any available python commands or | |
119 | variable names, and show you a list of the possible completions if there's |
|
119 | variable names, and show you a list of the possible completions if there's | |
120 | no unambiguous one. It will also complete filenames in the current directory. |
|
120 | no unambiguous one. It will also complete filenames in the current directory. | |
121 |
|
121 | |||
122 | * Search previous command history in multiple ways: |
|
122 | * Search previous command history in multiple ways: | |
123 |
|
123 | |||
124 | - Start typing, and then use arrow keys up/down or (Ctrl-p/Ctrl-n) to search |
|
124 | - Start typing, and then use arrow keys up/down or (Ctrl-p/Ctrl-n) to search | |
125 | through the history items that match what you've typed so far. |
|
125 | through the history items that match what you've typed so far. | |
126 |
|
126 | |||
127 | - Hit Ctrl-r: opens a search prompt. Begin typing and the system searches |
|
127 | - Hit Ctrl-r: opens a search prompt. Begin typing and the system searches | |
128 | your history for lines that match what you've typed so far, completing as |
|
128 | your history for lines that match what you've typed so far, completing as | |
129 | much as it can. |
|
129 | much as it can. | |
130 |
|
130 | |||
131 | - %hist: search history by index. |
|
131 | - %hist: search history by index. | |
132 |
|
132 | |||
133 | * Persistent command history across sessions. |
|
133 | * Persistent command history across sessions. | |
134 |
|
134 | |||
135 | * Logging of input with the ability to save and restore a working session. |
|
135 | * Logging of input with the ability to save and restore a working session. | |
136 |
|
136 | |||
137 | * System shell with !. Typing !ls will run 'ls' in the current directory. |
|
137 | * System shell with !. Typing !ls will run 'ls' in the current directory. | |
138 |
|
138 | |||
139 | * The reload command does a 'deep' reload of a module: changes made to the |
|
139 | * The reload command does a 'deep' reload of a module: changes made to the | |
140 | module since you imported will actually be available without having to exit. |
|
140 | module since you imported will actually be available without having to exit. | |
141 |
|
141 | |||
142 | * Verbose and colored exception traceback printouts. See the magic xmode and |
|
142 | * Verbose and colored exception traceback printouts. See the magic xmode and | |
143 | xcolor functions for details (just type %magic). |
|
143 | xcolor functions for details (just type %magic). | |
144 |
|
144 | |||
145 | * Input caching system: |
|
145 | * Input caching system: | |
146 |
|
146 | |||
147 | IPython offers numbered prompts (In/Out) with input and output caching. All |
|
147 | IPython offers numbered prompts (In/Out) with input and output caching. All | |
148 | input is saved and can be retrieved as variables (besides the usual arrow |
|
148 | input is saved and can be retrieved as variables (besides the usual arrow | |
149 | key recall). |
|
149 | key recall). | |
150 |
|
150 | |||
151 | The following GLOBAL variables always exist (so don't overwrite them!): |
|
151 | The following GLOBAL variables always exist (so don't overwrite them!): | |
152 | _i: stores previous input. |
|
152 | _i: stores previous input. | |
153 | _ii: next previous. |
|
153 | _ii: next previous. | |
154 | _iii: next-next previous. |
|
154 | _iii: next-next previous. | |
155 | _ih : a list of all input _ih[n] is the input from line n. |
|
155 | _ih : a list of all input _ih[n] is the input from line n. | |
156 |
|
156 | |||
157 | Additionally, global variables named _i<n> are dynamically created (<n> |
|
157 | Additionally, global variables named _i<n> are dynamically created (<n> | |
158 | being the prompt counter), such that _i<n> == _ih[<n>] |
|
158 | being the prompt counter), such that _i<n> == _ih[<n>] | |
159 |
|
159 | |||
160 | For example, what you typed at prompt 14 is available as _i14 and _ih[14]. |
|
160 | For example, what you typed at prompt 14 is available as _i14 and _ih[14]. | |
161 |
|
161 | |||
162 | You can create macros which contain multiple input lines from this history, |
|
162 | You can create macros which contain multiple input lines from this history, | |
163 | for later re-execution, with the %macro function. |
|
163 | for later re-execution, with the %macro function. | |
164 |
|
164 | |||
165 | The history function %hist allows you to see any part of your input history |
|
165 | The history function %hist allows you to see any part of your input history | |
166 | by printing a range of the _i variables. Note that inputs which contain |
|
166 | by printing a range of the _i variables. Note that inputs which contain | |
167 | magic functions (%) appear in the history with a prepended comment. This is |
|
167 | magic functions (%) appear in the history with a prepended comment. This is | |
168 | because they aren't really valid Python code, so you can't exec them. |
|
168 | because they aren't really valid Python code, so you can't exec them. | |
169 |
|
169 | |||
170 | * Output caching system: |
|
170 | * Output caching system: | |
171 |
|
171 | |||
172 | For output that is returned from actions, a system similar to the input |
|
172 | For output that is returned from actions, a system similar to the input | |
173 | cache exists but using _ instead of _i. Only actions that produce a result |
|
173 | cache exists but using _ instead of _i. Only actions that produce a result | |
174 | (NOT assignments, for example) are cached. If you are familiar with |
|
174 | (NOT assignments, for example) are cached. If you are familiar with | |
175 | Mathematica, IPython's _ variables behave exactly like Mathematica's % |
|
175 | Mathematica, IPython's _ variables behave exactly like Mathematica's % | |
176 | variables. |
|
176 | variables. | |
177 |
|
177 | |||
178 | The following GLOBAL variables always exist (so don't overwrite them!): |
|
178 | The following GLOBAL variables always exist (so don't overwrite them!): | |
179 | _ (one underscore): previous output. |
|
179 | _ (one underscore): previous output. | |
180 | __ (two underscores): next previous. |
|
180 | __ (two underscores): next previous. | |
181 | ___ (three underscores): next-next previous. |
|
181 | ___ (three underscores): next-next previous. | |
182 |
|
182 | |||
183 | Global variables named _<n> are dynamically created (<n> being the prompt |
|
183 | Global variables named _<n> are dynamically created (<n> being the prompt | |
184 | counter), such that the result of output <n> is always available as _<n>. |
|
184 | counter), such that the result of output <n> is always available as _<n>. | |
185 |
|
185 | |||
186 | Finally, a global dictionary named _oh exists with entries for all lines |
|
186 | Finally, a global dictionary named _oh exists with entries for all lines | |
187 | which generated output. |
|
187 | which generated output. | |
188 |
|
188 | |||
189 | * Directory history: |
|
189 | * Directory history: | |
190 |
|
190 | |||
191 | Your history of visited directories is kept in the global list _dh, and the |
|
191 | Your history of visited directories is kept in the global list _dh, and the | |
192 | magic %cd command can be used to go to any entry in that list. |
|
192 | magic %cd command can be used to go to any entry in that list. | |
193 |
|
193 | |||
194 | * Auto-parentheses and auto-quotes (adapted from Nathan Gray's LazyPython) |
|
194 | * Auto-parentheses and auto-quotes (adapted from Nathan Gray's LazyPython) | |
195 |
|
195 | |||
196 | 1. Auto-parentheses |
|
196 | 1. Auto-parentheses | |
197 |
|
197 | |||
198 | Callable objects (i.e. functions, methods, etc) can be invoked like |
|
198 | Callable objects (i.e. functions, methods, etc) can be invoked like | |
199 | this (notice the commas between the arguments):: |
|
199 | this (notice the commas between the arguments):: | |
200 |
|
200 | |||
201 | In [1]: callable_ob arg1, arg2, arg3 |
|
201 | In [1]: callable_ob arg1, arg2, arg3 | |
202 |
|
202 | |||
203 | and the input will be translated to this:: |
|
203 | and the input will be translated to this:: | |
204 |
|
204 | |||
205 | callable_ob(arg1, arg2, arg3) |
|
205 | callable_ob(arg1, arg2, arg3) | |
206 |
|
206 | |||
207 | This feature is off by default (in rare cases it can produce |
|
207 | This feature is off by default (in rare cases it can produce | |
208 | undesirable side-effects), but you can activate it at the command-line |
|
208 | undesirable side-effects), but you can activate it at the command-line | |
209 | by starting IPython with `--autocall 1`, set it permanently in your |
|
209 | by starting IPython with `--autocall 1`, set it permanently in your | |
210 | configuration file, or turn on at runtime with `%autocall 1`. |
|
210 | configuration file, or turn on at runtime with `%autocall 1`. | |
211 |
|
211 | |||
212 | You can force auto-parentheses by using '/' as the first character |
|
212 | You can force auto-parentheses by using '/' as the first character | |
213 | of a line. For example:: |
|
213 | of a line. For example:: | |
214 |
|
214 | |||
215 | In [1]: /globals # becomes 'globals()' |
|
215 | In [1]: /globals # becomes 'globals()' | |
216 |
|
216 | |||
217 | Note that the '/' MUST be the first character on the line! This |
|
217 | Note that the '/' MUST be the first character on the line! This | |
218 | won't work:: |
|
218 | won't work:: | |
219 |
|
219 | |||
220 | In [2]: print /globals # syntax error |
|
220 | In [2]: print /globals # syntax error | |
221 |
|
221 | |||
222 | In most cases the automatic algorithm should work, so you should |
|
222 | In most cases the automatic algorithm should work, so you should | |
223 | rarely need to explicitly invoke /. One notable exception is if you |
|
223 | rarely need to explicitly invoke /. One notable exception is if you | |
224 | are trying to call a function with a list of tuples as arguments (the |
|
224 | are trying to call a function with a list of tuples as arguments (the | |
225 | parenthesis will confuse IPython):: |
|
225 | parenthesis will confuse IPython):: | |
226 |
|
226 | |||
227 | In [1]: zip (1,2,3),(4,5,6) # won't work |
|
227 | In [1]: zip (1,2,3),(4,5,6) # won't work | |
228 |
|
228 | |||
229 | but this will work:: |
|
229 | but this will work:: | |
230 |
|
230 | |||
231 | In [2]: /zip (1,2,3),(4,5,6) |
|
231 | In [2]: /zip (1,2,3),(4,5,6) | |
232 | ------> zip ((1,2,3),(4,5,6)) |
|
232 | ------> zip ((1,2,3),(4,5,6)) | |
233 | Out[2]= [(1, 4), (2, 5), (3, 6)] |
|
233 | Out[2]= [(1, 4), (2, 5), (3, 6)] | |
234 |
|
234 | |||
235 | IPython tells you that it has altered your command line by |
|
235 | IPython tells you that it has altered your command line by | |
236 | displaying the new command line preceded by -->. e.g.:: |
|
236 | displaying the new command line preceded by -->. e.g.:: | |
237 |
|
237 | |||
238 | In [18]: callable list |
|
238 | In [18]: callable list | |
239 | -------> callable (list) |
|
239 | -------> callable (list) | |
240 |
|
240 | |||
241 | 2. Auto-Quoting |
|
241 | 2. Auto-Quoting | |
242 |
|
242 | |||
243 | You can force auto-quoting of a function's arguments by using ',' as |
|
243 | You can force auto-quoting of a function's arguments by using ',' as | |
244 | the first character of a line. For example:: |
|
244 | the first character of a line. For example:: | |
245 |
|
245 | |||
246 | In [1]: ,my_function /home/me # becomes my_function("/home/me") |
|
246 | In [1]: ,my_function /home/me # becomes my_function("/home/me") | |
247 |
|
247 | |||
248 | If you use ';' instead, the whole argument is quoted as a single |
|
248 | If you use ';' instead, the whole argument is quoted as a single | |
249 | string (while ',' splits on whitespace):: |
|
249 | string (while ',' splits on whitespace):: | |
250 |
|
250 | |||
251 | In [2]: ,my_function a b c # becomes my_function("a","b","c") |
|
251 | In [2]: ,my_function a b c # becomes my_function("a","b","c") | |
252 | In [3]: ;my_function a b c # becomes my_function("a b c") |
|
252 | In [3]: ;my_function a b c # becomes my_function("a b c") | |
253 |
|
253 | |||
254 | Note that the ',' MUST be the first character on the line! This |
|
254 | Note that the ',' MUST be the first character on the line! This | |
255 | won't work:: |
|
255 | won't work:: | |
256 |
|
256 | |||
257 | In [4]: x = ,my_function /home/me # syntax error |
|
257 | In [4]: x = ,my_function /home/me # syntax error | |
258 | """ |
|
258 | """ | |
259 |
|
259 | |||
260 | interactive_usage_min = """\ |
|
260 | interactive_usage_min = """\ | |
261 | An enhanced console for Python. |
|
261 | An enhanced console for Python. | |
262 | Some of its features are: |
|
262 | Some of its features are: | |
263 | - Tab completion in the local namespace. |
|
263 | - Tab completion in the local namespace. | |
264 | - Logging of input, see command-line options. |
|
264 | - Logging of input, see command-line options. | |
265 | - System shell escape via ! , eg !ls. |
|
265 | - System shell escape via ! , eg !ls. | |
266 | - Magic commands, starting with a % (like %ls, %pwd, %cd, etc.) |
|
266 | - Magic commands, starting with a % (like %ls, %pwd, %cd, etc.) | |
267 | - Keeps track of locally defined variables via %who, %whos. |
|
267 | - Keeps track of locally defined variables via %who, %whos. | |
268 | - Show object information with a ? eg ?x or x? (use ?? for more info). |
|
268 | - Show object information with a ? eg ?x or x? (use ?? for more info). | |
269 | """ |
|
269 | """ | |
270 |
|
270 | |||
271 | quick_reference = r""" |
|
271 | quick_reference = r""" | |
272 | IPython -- An enhanced Interactive Python - Quick Reference Card |
|
272 | IPython -- An enhanced Interactive Python - Quick Reference Card | |
273 | ================================================================ |
|
273 | ================================================================ | |
274 |
|
274 | |||
275 | obj?, obj?? : Get help, or more help for object (also works as |
|
275 | obj?, obj?? : Get help, or more help for object (also works as | |
276 | ?obj, ??obj). |
|
276 | ?obj, ??obj). | |
277 | ?foo.*abc* : List names in 'foo' containing 'abc' in them. |
|
277 | ?foo.*abc* : List names in 'foo' containing 'abc' in them. | |
278 | %magic : Information about IPython's 'magic' % functions. |
|
278 | %magic : Information about IPython's 'magic' % functions. | |
279 |
|
279 | |||
280 | Magic functions are prefixed by % or %%, and typically take their arguments |
|
280 | Magic functions are prefixed by % or %%, and typically take their arguments | |
281 | without parentheses, quotes or even commas for convenience. Line magics take a |
|
281 | without parentheses, quotes or even commas for convenience. Line magics take a | |
282 | single % and cell magics are prefixed with two %%. |
|
282 | single % and cell magics are prefixed with two %%. | |
283 |
|
283 | |||
284 | Example magic function calls: |
|
284 | Example magic function calls: | |
285 |
|
285 | |||
286 | %alias d ls -F : 'd' is now an alias for 'ls -F' |
|
286 | %alias d ls -F : 'd' is now an alias for 'ls -F' | |
287 | alias d ls -F : Works if 'alias' not a python name |
|
287 | alias d ls -F : Works if 'alias' not a python name | |
288 | alist = %alias : Get list of aliases to 'alist' |
|
288 | alist = %alias : Get list of aliases to 'alist' | |
289 | cd /usr/share : Obvious. cd -<tab> to choose from visited dirs. |
|
289 | cd /usr/share : Obvious. cd -<tab> to choose from visited dirs. | |
290 | %cd?? : See help AND source for magic %cd |
|
290 | %cd?? : See help AND source for magic %cd | |
291 | %timeit x=10 : time the 'x=10' statement with high precision. |
|
291 | %timeit x=10 : time the 'x=10' statement with high precision. | |
292 | %%timeit x=2**100 |
|
292 | %%timeit x=2**100 | |
293 | x**100 : time 'x**100' with a setup of 'x=2**100'; setup code is not |
|
293 | x**100 : time 'x**100' with a setup of 'x=2**100'; setup code is not | |
294 | counted. This is an example of a cell magic. |
|
294 | counted. This is an example of a cell magic. | |
295 |
|
295 | |||
296 | System commands: |
|
296 | System commands: | |
297 |
|
297 | |||
298 | !cp a.txt b/ : System command escape, calls os.system() |
|
298 | !cp a.txt b/ : System command escape, calls os.system() | |
299 | cp a.txt b/ : after %rehashx, most system commands work without ! |
|
299 | cp a.txt b/ : after %rehashx, most system commands work without ! | |
300 | cp ${f}.txt $bar : Variable expansion in magics and system commands |
|
300 | cp ${f}.txt $bar : Variable expansion in magics and system commands | |
301 | files = !ls /usr : Capture system command output |
|
301 | files = !ls /usr : Capture system command output | |
302 | files.s, files.l, files.n: "a b c", ['a','b','c'], 'a\nb\nc' |
|
302 | files.s, files.l, files.n: "a b c", ['a','b','c'], 'a\nb\nc' | |
303 |
|
303 | |||
304 | History: |
|
304 | History: | |
305 |
|
305 | |||
306 | _i, _ii, _iii : Previous, next previous, next next previous input |
|
306 | _i, _ii, _iii : Previous, next previous, next next previous input | |
307 | _i4, _ih[2:5] : Input history line 4, lines 2-4 |
|
307 | _i4, _ih[2:5] : Input history line 4, lines 2-4 | |
308 | exec _i81 : Execute input history line #81 again |
|
308 | exec _i81 : Execute input history line #81 again | |
309 | %rep 81 : Edit input history line #81 |
|
309 | %rep 81 : Edit input history line #81 | |
310 | _, __, ___ : previous, next previous, next next previous output |
|
310 | _, __, ___ : previous, next previous, next next previous output | |
311 | _dh : Directory history |
|
311 | _dh : Directory history | |
312 | _oh : Output history |
|
312 | _oh : Output history | |
313 | %hist : Command history of current session. |
|
313 | %hist : Command history of current session. | |
314 | %hist -g foo : Search command history of (almost) all sessions for 'foo'. |
|
314 | %hist -g foo : Search command history of (almost) all sessions for 'foo'. | |
315 | %hist -g : Command history of (almost) all sessions. |
|
315 | %hist -g : Command history of (almost) all sessions. | |
316 | %hist 1/2-8 : Command history containing lines 2-8 of session 1. |
|
316 | %hist 1/2-8 : Command history containing lines 2-8 of session 1. | |
317 | %hist 1/ ~2/ : Command history of session 1 and 2 sessions before current. |
|
317 | %hist 1/ ~2/ : Command history of session 1 and 2 sessions before current. | |
318 | %hist ~8/1-~6/5 : Command history from line 1 of 8 sessions ago to |
|
318 | %hist ~8/1-~6/5 : Command history from line 1 of 8 sessions ago to | |
319 | line 5 of 6 sessions ago. |
|
319 | line 5 of 6 sessions ago. | |
320 | %edit 0/ : Open editor to execute code with history of current session. |
|
320 | %edit 0/ : Open editor to execute code with history of current session. | |
321 |
|
321 | |||
322 | Autocall: |
|
322 | Autocall: | |
323 |
|
323 | |||
324 | f 1,2 : f(1,2) # Off by default, enable with %autocall magic. |
|
324 | f 1,2 : f(1,2) # Off by default, enable with %autocall magic. | |
325 | /f 1,2 : f(1,2) (forced autoparen) |
|
325 | /f 1,2 : f(1,2) (forced autoparen) | |
326 | ,f 1 2 : f("1","2") |
|
326 | ,f 1 2 : f("1","2") | |
327 | ;f 1 2 : f("1 2") |
|
327 | ;f 1 2 : f("1 2") | |
328 |
|
328 | |||
329 | Remember: TAB completion works in many contexts, not just file names |
|
329 | Remember: TAB completion works in many contexts, not just file names | |
330 | or python names. |
|
330 | or python names. | |
331 |
|
331 | |||
332 | The following magic functions are currently available: |
|
332 | The following magic functions are currently available: | |
333 |
|
333 | |||
334 | """ |
|
334 | """ | |
335 |
|
335 | |||
336 | default_banner_parts = ["Python %s\n"%sys.version.split("\n")[0], |
|
336 | default_banner_parts = ["Python %s\n"%sys.version.split("\n")[0], | |
337 | "Type 'copyright', 'credits' or 'license' for more information\n" , |
|
337 | "Type 'copyright', 'credits' or 'license' for more information\n" , | |
338 | "IPython {version} -- An enhanced Interactive Python. Type '?' for help.\n".format(version=release.version), |
|
338 | "IPython {version} -- An enhanced Interactive Python. Type '?' for help.\n".format(version=release.version), | |
339 | ] |
|
339 | ] | |
340 |
|
340 | |||
341 | default_banner = ''.join(default_banner_parts) |
|
341 | default_banner = ''.join(default_banner_parts) |
@@ -1,111 +1,111 b'' | |||||
1 | .. image:: https://codecov.io/github/ipython/ipython/coverage.svg?branch=master |
|
1 | .. image:: https://codecov.io/github/ipython/ipython/coverage.svg?branch=master | |
2 | :target: https://codecov.io/github/ipython/ipython?branch=master |
|
2 | :target: https://codecov.io/github/ipython/ipython?branch=master | |
3 |
|
3 | |||
4 | .. image:: https://img.shields.io/pypi/v/IPython.svg |
|
4 | .. image:: https://img.shields.io/pypi/v/IPython.svg | |
5 | :target: https://pypi.python.org/pypi/ipython |
|
5 | :target: https://pypi.python.org/pypi/ipython | |
6 |
|
6 | |||
7 | .. image:: https://img.shields.io/travis/ipython/ipython.svg |
|
7 | .. image:: https://img.shields.io/travis/ipython/ipython.svg | |
8 | :target: https://travis-ci.org/ipython/ipython |
|
8 | :target: https://travis-ci.org/ipython/ipython | |
9 |
|
9 | |||
10 | .. image:: https://www.codetriage.com/ipython/ipython/badges/users.svg |
|
10 | .. image:: https://www.codetriage.com/ipython/ipython/badges/users.svg | |
11 | :target: https://www.codetriage.com/ipython/ipython/ |
|
11 | :target: https://www.codetriage.com/ipython/ipython/ | |
12 |
|
12 | |||
13 | =========================================== |
|
13 | =========================================== | |
14 | IPython: Productive Interactive Computing |
|
14 | IPython: Productive Interactive Computing | |
15 | =========================================== |
|
15 | =========================================== | |
16 |
|
16 | |||
17 | Overview |
|
17 | Overview | |
18 | ======== |
|
18 | ======== | |
19 |
|
19 | |||
20 | Welcome to IPython. Our full documentation is available on `ipython.readthedocs.io |
|
20 | Welcome to IPython. Our full documentation is available on `ipython.readthedocs.io | |
21 | <https://ipython.readthedocs.io/en/stable/>`_ and contains information on how to install, use and |
|
21 | <https://ipython.readthedocs.io/en/stable/>`_ and contains information on how to install, use and | |
22 | contribute to the project. |
|
22 | contribute to the project. | |
23 |
|
23 | |||
24 | **IPython versions and Python Support** |
|
24 | **IPython versions and Python Support** | |
25 |
|
25 | |||
26 | **IPython 7.0** requires Python version 3.4 and above. |
|
26 | **IPython 7.0** requires Python version 3.4 and above. | |
27 |
|
27 | |||
28 | **IPython 6.x** requires Python version 3.3 and above. |
|
28 | **IPython 6.x** requires Python version 3.3 and above. | |
29 |
|
29 | |||
30 | **IPython 5.x LTS** is the compatible release for Python 2.7. |
|
30 | **IPython 5.x LTS** is the compatible release for Python 2.7. | |
31 | If you require Python 2 support, you **must** use IPython 5.x LTS. Please |
|
31 | If you require Python 2 support, you **must** use IPython 5.x LTS. Please | |
32 | update your project configurations and requirements as necessary. |
|
32 | update your project configurations and requirements as necessary. | |
33 |
|
33 | |||
34 |
|
34 | |||
35 | The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*. |
|
35 | The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*. | |
36 | See the `Jupyter installation docs <https://jupyter.readthedocs.io/en/latest/install.html>`__ |
|
36 | See the `Jupyter installation docs <https://jupyter.readthedocs.io/en/latest/install.html>`__ | |
37 | if you want to use these. |
|
37 | if you want to use these. | |
38 |
|
38 | |||
39 |
|
39 | |||
40 |
|
40 | |||
41 |
|
41 | |||
42 | Development and Instant running |
|
42 | Development and Instant running | |
43 | =============================== |
|
43 | =============================== | |
44 |
|
44 | |||
45 | You can find the latest version of the development documentation on `readthedocs |
|
45 | You can find the latest version of the development documentation on `readthedocs | |
46 | <https://ipython.readthedocs.io/en/latest/>`_. |
|
46 | <https://ipython.readthedocs.io/en/latest/>`_. | |
47 |
|
47 | |||
48 | You can run IPython from this directory without even installing it system-wide |
|
48 | You can run IPython from this directory without even installing it system-wide | |
49 | by typing at the terminal:: |
|
49 | by typing at the terminal:: | |
50 |
|
50 | |||
51 | $ python -m IPython |
|
51 | $ python -m IPython | |
52 |
|
52 | |||
53 | Or see the `development installation docs |
|
53 | Or see the `development installation docs | |
54 | <https://ipython.readthedocs.io/en/latest/install/install.html#installing-the-development-version>`_ |
|
54 | <https://ipython.readthedocs.io/en/latest/install/install.html#installing-the-development-version>`_ | |
55 | for the latest revision on read the docs. |
|
55 | for the latest revision on read the docs. | |
56 |
|
56 | |||
57 | Documentation and installation instructions for older version of IPython can be |
|
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 | IPython requires Python version 3 or above |
|
62 | IPython requires Python version 3 or above | |
63 | ========================================== |
|
63 | ========================================== | |
64 |
|
64 | |||
65 | Starting with version 6.0, IPython does not support Python 2.7, 3.0, 3.1, or |
|
65 | Starting with version 6.0, IPython does not support Python 2.7, 3.0, 3.1, or | |
66 | 3.2. |
|
66 | 3.2. | |
67 |
|
67 | |||
68 | For a version compatible with Python 2.7, please install the 5.x LTS Long Term |
|
68 | For a version compatible with Python 2.7, please install the 5.x LTS Long Term | |
69 | Support version. |
|
69 | Support version. | |
70 |
|
70 | |||
71 | If you are encountering this error message you are likely trying to install or |
|
71 | If you are encountering this error message you are likely trying to install or | |
72 | use IPython from source. You need to checkout the remote 5.x branch. If you are |
|
72 | use IPython from source. You need to checkout the remote 5.x branch. If you are | |
73 | using git the following should work:: |
|
73 | using git the following should work:: | |
74 |
|
74 | |||
75 | $ git fetch origin |
|
75 | $ git fetch origin | |
76 | $ git checkout 5.x |
|
76 | $ git checkout 5.x | |
77 |
|
77 | |||
78 | If you encounter this error message with a regular install of IPython, then you |
|
78 | If you encounter this error message with a regular install of IPython, then you | |
79 | likely need to update your package manager, for example if you are using `pip` |
|
79 | likely need to update your package manager, for example if you are using `pip` | |
80 | check the version of pip with:: |
|
80 | check the version of pip with:: | |
81 |
|
81 | |||
82 | $ pip --version |
|
82 | $ pip --version | |
83 |
|
83 | |||
84 | You will need to update pip to the version 9.0.1 or greater. If you are not using |
|
84 | You will need to update pip to the version 9.0.1 or greater. If you are not using | |
85 | pip, please inquiry with the maintainers of the package for your package |
|
85 | pip, please inquiry with the maintainers of the package for your package | |
86 | manager. |
|
86 | manager. | |
87 |
|
87 | |||
88 | For more information see one of our blog posts: |
|
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 | As well as the following Pull-Request for discussion: |
|
92 | As well as the following Pull-Request for discussion: | |
93 |
|
93 | |||
94 | https://github.com/ipython/ipython/pull/9900 |
|
94 | https://github.com/ipython/ipython/pull/9900 | |
95 |
|
95 | |||
96 | This error does also occur if you are invoking ``setup.py`` directly – which you |
|
96 | This error does also occur if you are invoking ``setup.py`` directly – which you | |
97 | should not – or are using ``easy_install`` If this is the case, use ``pip |
|
97 | should not – or are using ``easy_install`` If this is the case, use ``pip | |
98 | install .`` (instead of ``setup.py install`` , and ``pip install -e .`` instead |
|
98 | install .`` (instead of ``setup.py install`` , and ``pip install -e .`` instead | |
99 | of ``setup.py develop`` If you are depending on IPython as a dependency you may |
|
99 | of ``setup.py develop`` If you are depending on IPython as a dependency you may | |
100 | also want to have a conditional dependency on IPython depending on the Python |
|
100 | also want to have a conditional dependency on IPython depending on the Python | |
101 | version:: |
|
101 | version:: | |
102 |
|
102 | |||
103 | install_req = ['ipython'] |
|
103 | install_req = ['ipython'] | |
104 | if sys.version_info[0] < 3 and 'bdist_wheel' not in sys.argv: |
|
104 | if sys.version_info[0] < 3 and 'bdist_wheel' not in sys.argv: | |
105 | install_req.remove('ipython') |
|
105 | install_req.remove('ipython') | |
106 | install_req.append('ipython<6') |
|
106 | install_req.append('ipython<6') | |
107 |
|
107 | |||
108 | setup( |
|
108 | setup( | |
109 | ... |
|
109 | ... | |
110 | install_requires=install_req |
|
110 | install_requires=install_req | |
111 | ) |
|
111 | ) |
@@ -1,118 +1,118 b'' | |||||
1 | .. _introduction: |
|
1 | .. _introduction: | |
2 |
|
2 | |||
3 | ===================== |
|
3 | ===================== | |
4 | IPython Documentation |
|
4 | IPython Documentation | |
5 | ===================== |
|
5 | ===================== | |
6 |
|
6 | |||
7 | .. only:: html |
|
7 | .. only:: html | |
8 |
|
8 | |||
9 | :Release: |release| |
|
9 | :Release: |release| | |
10 | :Date: |today| |
|
10 | :Date: |today| | |
11 |
|
11 | |||
12 | Welcome to the official IPython documentation |
|
12 | Welcome to the official IPython documentation | |
13 |
|
13 | |||
14 | IPython provides a rich toolkit to help you make the most of using Python |
|
14 | IPython provides a rich toolkit to help you make the most of using Python | |
15 | interactively. Its main components are: |
|
15 | interactively. Its main components are: | |
16 |
|
16 | |||
17 | * A powerful interactive Python shell |
|
17 | * A powerful interactive Python shell | |
18 |
|
18 | |||
19 |
|
19 | |||
20 | .. image:: /_images/ipython-6-screenshot.png |
|
20 | .. image:: /_images/ipython-6-screenshot.png | |
21 | :alt: Screenshot of IPython 6.0 |
|
21 | :alt: Screenshot of IPython 6.0 | |
22 | :align: center |
|
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 | notebooks and other interactive frontends. |
|
26 | notebooks and other interactive frontends. | |
27 |
|
27 | |||
28 | The enhanced interactive Python shells and kernel have the following main |
|
28 | The enhanced interactive Python shells and kernel have the following main | |
29 | features: |
|
29 | features: | |
30 |
|
30 | |||
31 | * Comprehensive object introspection. |
|
31 | * Comprehensive object introspection. | |
32 |
|
32 | |||
33 | * Input history, persistent across sessions. |
|
33 | * Input history, persistent across sessions. | |
34 |
|
34 | |||
35 | * Caching of output results during a session with automatically generated |
|
35 | * Caching of output results during a session with automatically generated | |
36 | references. |
|
36 | references. | |
37 |
|
37 | |||
38 | * Extensible tab completion, with support by default for completion of python |
|
38 | * Extensible tab completion, with support by default for completion of python | |
39 | variables and keywords, filenames and function keywords. |
|
39 | variables and keywords, filenames and function keywords. | |
40 |
|
40 | |||
41 | * Extensible system of 'magic' commands for controlling the environment and |
|
41 | * Extensible system of 'magic' commands for controlling the environment and | |
42 | performing many tasks related to IPython or the operating system. |
|
42 | performing many tasks related to IPython or the operating system. | |
43 |
|
43 | |||
44 | * A rich configuration system with easy switching between different setups |
|
44 | * A rich configuration system with easy switching between different setups | |
45 | (simpler than changing ``$PYTHONSTARTUP`` environment variables every time). |
|
45 | (simpler than changing ``$PYTHONSTARTUP`` environment variables every time). | |
46 |
|
46 | |||
47 | * Session logging and reloading. |
|
47 | * Session logging and reloading. | |
48 |
|
48 | |||
49 | * Extensible syntax processing for special purpose situations. |
|
49 | * Extensible syntax processing for special purpose situations. | |
50 |
|
50 | |||
51 | * Access to the system shell with user-extensible alias system. |
|
51 | * Access to the system shell with user-extensible alias system. | |
52 |
|
52 | |||
53 | * Easily embeddable in other Python programs and GUIs. |
|
53 | * Easily embeddable in other Python programs and GUIs. | |
54 |
|
54 | |||
55 | * Integrated access to the pdb debugger and the Python profiler. |
|
55 | * Integrated access to the pdb debugger and the Python profiler. | |
56 |
|
56 | |||
57 |
|
57 | |||
58 | The Command line interface inherits the above functionality and adds |
|
58 | The Command line interface inherits the above functionality and adds | |
59 |
|
59 | |||
60 | * real multi-line editing thanks to `prompt_toolkit <http://python-prompt-toolkit.readthedocs.io/en/stable/>`_. |
|
60 | * real multi-line editing thanks to `prompt_toolkit <http://python-prompt-toolkit.readthedocs.io/en/stable/>`_. | |
61 |
|
61 | |||
62 | * syntax highlighting as you type |
|
62 | * syntax highlighting as you type | |
63 |
|
63 | |||
64 | * integration with command line editor for a better workflow. |
|
64 | * integration with command line editor for a better workflow. | |
65 |
|
65 | |||
66 | The kernel also has its share of features. When used with a compatible frontend, |
|
66 | The kernel also has its share of features. When used with a compatible frontend, | |
67 | it allows: |
|
67 | it allows: | |
68 |
|
68 | |||
69 | * the object to create a rich display of Html, Images, Latex, Sound and |
|
69 | * the object to create a rich display of Html, Images, Latex, Sound and | |
70 | Video. |
|
70 | Video. | |
71 |
|
71 | |||
72 | * interactive widgets with the use of the `ipywidgets <http://ipywidgets.readthedocs.io/en/stable/>`_ package. |
|
72 | * interactive widgets with the use of the `ipywidgets <http://ipywidgets.readthedocs.io/en/stable/>`_ package. | |
73 |
|
73 | |||
74 |
|
74 | |||
75 | This documentation will walk you through most of the features of the IPython |
|
75 | This documentation will walk you through most of the features of the IPython | |
76 | command line and kernel, as well as describe the internal mechanisms in order |
|
76 | command line and kernel, as well as describe the internal mechanisms in order | |
77 | to improve your Python workflow. |
|
77 | to improve your Python workflow. | |
78 |
|
78 | |||
79 | You can find the table of content for this documentation in the left |
|
79 | You can find the table of content for this documentation in the left | |
80 | sidebar, allowing you to come back to previous sections or skip ahead, if needed. |
|
80 | sidebar, allowing you to come back to previous sections or skip ahead, if needed. | |
81 |
|
81 | |||
82 |
|
82 | |||
83 | The latest development version is always available from IPython's `GitHub |
|
83 | The latest development version is always available from IPython's `GitHub | |
84 | repository <http://github.com/ipython/ipython>`_. |
|
84 | repository <http://github.com/ipython/ipython>`_. | |
85 |
|
85 | |||
86 |
|
86 | |||
87 |
|
87 | |||
88 |
|
88 | |||
89 | .. toctree:: |
|
89 | .. toctree:: | |
90 | :maxdepth: 1 |
|
90 | :maxdepth: 1 | |
91 | :hidden: |
|
91 | :hidden: | |
92 |
|
92 | |||
93 | self |
|
93 | self | |
94 | overview |
|
94 | overview | |
95 | whatsnew/index |
|
95 | whatsnew/index | |
96 | install/index |
|
96 | install/index | |
97 | interactive/index |
|
97 | interactive/index | |
98 | config/index |
|
98 | config/index | |
99 | development/index |
|
99 | development/index | |
100 | coredev/index |
|
100 | coredev/index | |
101 | api/index |
|
101 | api/index | |
102 | sphinxext |
|
102 | sphinxext | |
103 | about/index |
|
103 | about/index | |
104 |
|
104 | |||
105 | .. seealso:: |
|
105 | .. seealso:: | |
106 |
|
106 | |||
107 | `Jupyter documentation <http://jupyter.readthedocs.io/en/latest/>`__ |
|
107 | `Jupyter documentation <http://jupyter.readthedocs.io/en/latest/>`__ | |
108 | The Jupyter documentation provides information about the Notebook code and other Jupyter sub-projects. |
|
108 | The Jupyter documentation provides information about the Notebook code and other Jupyter sub-projects. | |
109 | `ipyparallel documentation <http://ipyparallel.readthedocs.io/en/latest/>`__ |
|
109 | `ipyparallel documentation <http://ipyparallel.readthedocs.io/en/latest/>`__ | |
110 | Formerly ``IPython.parallel``. |
|
110 | Formerly ``IPython.parallel``. | |
111 |
|
111 | |||
112 |
|
112 | |||
113 | .. only:: html |
|
113 | .. only:: html | |
114 |
|
114 | |||
115 | * :ref:`genindex` |
|
115 | * :ref:`genindex` | |
116 | * :ref:`modindex` |
|
116 | * :ref:`modindex` | |
117 | * :ref:`search` |
|
117 | * :ref:`search` | |
118 |
|
118 |
@@ -1,144 +1,144 b'' | |||||
1 | .. _install: |
|
1 | .. _install: | |
2 |
|
2 | |||
3 | Installing IPython |
|
3 | Installing IPython | |
4 | ================== |
|
4 | ================== | |
5 |
|
5 | |||
6 |
|
6 | |||
7 | IPython 6 requires Python ≥ 3.3. IPython 5.x can be installed on Python 2. |
|
7 | IPython 6 requires Python ≥ 3.3. IPython 5.x can be installed on Python 2. | |
8 |
|
8 | |||
9 |
|
9 | |||
10 | Quick Install |
|
10 | Quick Install | |
11 | ------------- |
|
11 | ------------- | |
12 |
|
12 | |||
13 | With ``pip`` already installed : |
|
13 | With ``pip`` already installed : | |
14 |
|
14 | |||
15 | .. code-block:: bash |
|
15 | .. code-block:: bash | |
16 |
|
16 | |||
17 | $ pip install ipython |
|
17 | $ pip install ipython | |
18 |
|
18 | |||
19 | This installs IPython as well as its dependencies. |
|
19 | This installs IPython as well as its dependencies. | |
20 |
|
20 | |||
21 | If you want to use IPython with notebooks or the Qt console, you should also |
|
21 | If you want to use IPython with notebooks or the Qt console, you should also | |
22 | install Jupyter ``pip install jupyter``. |
|
22 | install Jupyter ``pip install jupyter``. | |
23 |
|
23 | |||
24 |
|
24 | |||
25 |
|
25 | |||
26 | Overview |
|
26 | Overview | |
27 | -------- |
|
27 | -------- | |
28 |
|
28 | |||
29 | This document describes in detail the steps required to install IPython. For a |
|
29 | This document describes in detail the steps required to install IPython. For a | |
30 | few quick ways to get started with package managers or full Python |
|
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 | IPython website. |
|
32 | IPython website. | |
33 |
|
33 | |||
34 | Please let us know if you have problems installing IPython or any of its |
|
34 | Please let us know if you have problems installing IPython or any of its | |
35 | dependencies. |
|
35 | dependencies. | |
36 |
|
36 | |||
37 | IPython and most dependencies should be installed via :command:`pip`. |
|
37 | IPython and most dependencies should be installed via :command:`pip`. | |
38 | In many scenarios, this is the simplest method of installing Python packages. |
|
38 | In many scenarios, this is the simplest method of installing Python packages. | |
39 | More information about :mod:`pip` can be found on |
|
39 | More information about :mod:`pip` can be found on | |
40 | `its PyPI page <https://pip.pypa.io>`__. |
|
40 | `its PyPI page <https://pip.pypa.io>`__. | |
41 |
|
41 | |||
42 |
|
42 | |||
43 | More general information about installing Python packages can be found in |
|
43 | More general information about installing Python packages can be found in | |
44 | `Python's documentation <http://docs.python.org>`_. |
|
44 | `Python's documentation <http://docs.python.org>`_. | |
45 |
|
45 | |||
46 | .. _dependencies: |
|
46 | .. _dependencies: | |
47 |
|
47 | |||
48 | Dependencies |
|
48 | Dependencies | |
49 | ~~~~~~~~~~~~ |
|
49 | ~~~~~~~~~~~~ | |
50 |
|
50 | |||
51 | IPython relies on a number of other Python packages. Installing using a package |
|
51 | IPython relies on a number of other Python packages. Installing using a package | |
52 | manager like pip or conda will ensure the necessary packages are installed. |
|
52 | manager like pip or conda will ensure the necessary packages are installed. | |
53 | Manual installation without dependencies is possible, but not recommended. |
|
53 | Manual installation without dependencies is possible, but not recommended. | |
54 | The dependencies can be viewed with package manager commands, |
|
54 | The dependencies can be viewed with package manager commands, | |
55 | such as :command:`pip show ipython` or :command:`conda info ipython`. |
|
55 | such as :command:`pip show ipython` or :command:`conda info ipython`. | |
56 |
|
56 | |||
57 |
|
57 | |||
58 | Installing IPython itself |
|
58 | Installing IPython itself | |
59 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
59 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
60 |
|
60 | |||
61 | IPython requires several dependencies to work correctly, it is not recommended |
|
61 | IPython requires several dependencies to work correctly, it is not recommended | |
62 | to install IPython and all its dependencies manually as this can be quite long |
|
62 | to install IPython and all its dependencies manually as this can be quite long | |
63 | and troublesome. You should use the python package manager ``pip``. |
|
63 | and troublesome. You should use the python package manager ``pip``. | |
64 |
|
64 | |||
65 | Installation using pip |
|
65 | Installation using pip | |
66 | ~~~~~~~~~~~~~~~~~~~~~~ |
|
66 | ~~~~~~~~~~~~~~~~~~~~~~ | |
67 |
|
67 | |||
68 | Make sure you have the latest version of :mod:`pip` (the Python package |
|
68 | Make sure you have the latest version of :mod:`pip` (the Python package | |
69 | manager) installed. If you do not, head to `Pip documentation |
|
69 | manager) installed. If you do not, head to `Pip documentation | |
70 | <https://pip.pypa.io/en/stable/installing/>`_ and install :mod:`pip` first. |
|
70 | <https://pip.pypa.io/en/stable/installing/>`_ and install :mod:`pip` first. | |
71 |
|
71 | |||
72 | The quickest way to get up and running with IPython is to install it with pip: |
|
72 | The quickest way to get up and running with IPython is to install it with pip: | |
73 |
|
73 | |||
74 | .. code-block:: bash |
|
74 | .. code-block:: bash | |
75 |
|
75 | |||
76 | $ pip install ipython |
|
76 | $ pip install ipython | |
77 |
|
77 | |||
78 | That's it. |
|
78 | That's it. | |
79 |
|
79 | |||
80 |
|
80 | |||
81 | Installation from source |
|
81 | Installation from source | |
82 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
|
82 | ~~~~~~~~~~~~~~~~~~~~~~~~ | |
83 |
|
83 | |||
84 | To install IPython from source, |
|
84 | To install IPython from source, | |
85 | grab the latest stable tarball of IPython `from PyPI |
|
85 | grab the latest stable tarball of IPython `from PyPI | |
86 | <https://pypi.python.org/pypi/ipython>`__. Then do the following: |
|
86 | <https://pypi.python.org/pypi/ipython>`__. Then do the following: | |
87 |
|
87 | |||
88 | .. code-block:: bash |
|
88 | .. code-block:: bash | |
89 |
|
89 | |||
90 | tar -xzf ipython-5.1.0.tar.gz |
|
90 | tar -xzf ipython-5.1.0.tar.gz | |
91 | cd ipython-5.1.0 |
|
91 | cd ipython-5.1.0 | |
92 | # The [test] extra ensures test dependencies are installed too: |
|
92 | # The [test] extra ensures test dependencies are installed too: | |
93 | pip install .[test] |
|
93 | pip install .[test] | |
94 |
|
94 | |||
95 | Do not invoke ``setup.py`` directly as this can have undesirable consequences |
|
95 | Do not invoke ``setup.py`` directly as this can have undesirable consequences | |
96 | for further upgrades. We do not recommend using ``easy_install`` either. |
|
96 | for further upgrades. We do not recommend using ``easy_install`` either. | |
97 |
|
97 | |||
98 | If you are installing to a location (like ``/usr/local``) that requires higher |
|
98 | If you are installing to a location (like ``/usr/local``) that requires higher | |
99 | permissions, you may need to run the last command with :command:`sudo`. You can |
|
99 | permissions, you may need to run the last command with :command:`sudo`. You can | |
100 | also install in user specific location by using the ``--user`` flag in |
|
100 | also install in user specific location by using the ``--user`` flag in | |
101 | conjunction with pip. |
|
101 | conjunction with pip. | |
102 |
|
102 | |||
103 | To run IPython's test suite, use the :command:`iptest` command from outside of |
|
103 | To run IPython's test suite, use the :command:`iptest` command from outside of | |
104 | the IPython source tree: |
|
104 | the IPython source tree: | |
105 |
|
105 | |||
106 | .. code-block:: bash |
|
106 | .. code-block:: bash | |
107 |
|
107 | |||
108 | $ iptest |
|
108 | $ iptest | |
109 |
|
109 | |||
110 | .. _devinstall: |
|
110 | .. _devinstall: | |
111 |
|
111 | |||
112 | Installing the development version |
|
112 | Installing the development version | |
113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
114 |
|
114 | |||
115 | It is also possible to install the development version of IPython from our |
|
115 | It is also possible to install the development version of IPython from our | |
116 | `Git <http://git-scm.com/>`_ source code repository. To do this you will |
|
116 | `Git <http://git-scm.com/>`_ source code repository. To do this you will | |
117 | need to have Git installed on your system. |
|
117 | need to have Git installed on your system. | |
118 |
|
118 | |||
119 |
|
119 | |||
120 | Then do: |
|
120 | Then do: | |
121 |
|
121 | |||
122 | .. code-block:: bash |
|
122 | .. code-block:: bash | |
123 |
|
123 | |||
124 | $ git clone https://github.com/ipython/ipython.git |
|
124 | $ git clone https://github.com/ipython/ipython.git | |
125 | $ cd ipython |
|
125 | $ cd ipython | |
126 | $ pip install -e .[test] |
|
126 | $ pip install -e .[test] | |
127 |
|
127 | |||
128 | The :command:`pip install -e .` command allows users and developers to follow |
|
128 | The :command:`pip install -e .` command allows users and developers to follow | |
129 | the development branch as it changes by creating links in the right places and |
|
129 | the development branch as it changes by creating links in the right places and | |
130 | installing the command line scripts to the appropriate locations. |
|
130 | installing the command line scripts to the appropriate locations. | |
131 |
|
131 | |||
132 | Then, if you want to update your IPython at any time, do: |
|
132 | Then, if you want to update your IPython at any time, do: | |
133 |
|
133 | |||
134 | .. code-block:: bash |
|
134 | .. code-block:: bash | |
135 |
|
135 | |||
136 | $ git pull |
|
136 | $ git pull | |
137 |
|
137 | |||
138 | If the dependencies or entrypoints have changed, you may have to run |
|
138 | If the dependencies or entrypoints have changed, you may have to run | |
139 |
|
139 | |||
140 | .. code-block:: bash |
|
140 | .. code-block:: bash | |
141 |
|
141 | |||
142 | $ pip install -e . |
|
142 | $ pip install -e . | |
143 |
|
143 | |||
144 | again, but this is infrequent. |
|
144 | again, but this is infrequent. |
@@ -1,31 +1,31 b'' | |||||
1 | ======== |
|
1 | ======== | |
2 | Tutorial |
|
2 | Tutorial | |
3 | ======== |
|
3 | ======== | |
4 |
|
4 | |||
5 | This section of IPython documentation will walk you through most of the IPython |
|
5 | This section of IPython documentation will walk you through most of the IPython | |
6 | functionality. You do not need to have any deep knowledge of Python to read this |
|
6 | functionality. You do not need to have any deep knowledge of Python to read this | |
7 | tutorial, though some sections might make slightly more sense if you have already |
|
7 | tutorial, though some sections might make slightly more sense if you have already | |
8 | done some work in the classic Python REPL. |
|
8 | done some work in the classic Python REPL. | |
9 |
|
9 | |||
10 | .. note:: |
|
10 | .. note:: | |
11 |
|
11 | |||
12 | Some part of this documentation are more than a decade old so might be out |
|
12 | Some part of this documentation are more than a decade old so might be out | |
13 | of date, we welcome any report of inaccuracy, and Pull Requests that make |
|
13 | of date, we welcome any report of inaccuracy, and Pull Requests that make | |
14 | that up to date. |
|
14 | that up to date. | |
15 |
|
15 | |||
16 | .. toctree:: |
|
16 | .. toctree:: | |
17 | :maxdepth: 2 |
|
17 | :maxdepth: 2 | |
18 | :hidden: |
|
18 | :hidden: | |
19 |
|
19 | |||
20 | tutorial |
|
20 | tutorial | |
21 | plotting |
|
21 | plotting | |
22 | reference |
|
22 | reference | |
23 | shell |
|
23 | shell | |
24 | tips |
|
24 | tips | |
25 | python-ipython-diff |
|
25 | python-ipython-diff | |
26 | magics |
|
26 | magics | |
27 |
|
27 | |||
28 | .. seealso:: |
|
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 | `The Jupyter Notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`__ |
|
31 | `The Jupyter Notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`__ |
@@ -1,101 +1,101 b'' | |||||
1 | .. This (-*- rst -*-) format file contains commonly used link targets |
|
1 | .. This (-*- rst -*-) format file contains commonly used link targets | |
2 | and name substitutions. It may be included in many files, |
|
2 | and name substitutions. It may be included in many files, | |
3 | therefore it should only contain link targets and name |
|
3 | therefore it should only contain link targets and name | |
4 | substitutions. Try grepping for "^\.\. _" to find plausible |
|
4 | substitutions. Try grepping for "^\.\. _" to find plausible | |
5 | candidates for this list. |
|
5 | candidates for this list. | |
6 |
|
6 | |||
7 | NOTE: this file must have an extension *opposite* to that of the main reST |
|
7 | NOTE: this file must have an extension *opposite* to that of the main reST | |
8 | files in the manuals, so that we can include it with ".. include::" |
|
8 | files in the manuals, so that we can include it with ".. include::" | |
9 | directives, but without triggering warnings from Sphinx for not being listed |
|
9 | directives, but without triggering warnings from Sphinx for not being listed | |
10 | in any toctree. Since IPython uses .txt for the main files, this one will |
|
10 | in any toctree. Since IPython uses .txt for the main files, this one will | |
11 | use .rst. |
|
11 | use .rst. | |
12 |
|
12 | |||
13 | NOTE: reST targets are |
|
13 | NOTE: reST targets are | |
14 | __not_case_sensitive__, so only one target definition is needed for |
|
14 | __not_case_sensitive__, so only one target definition is needed for | |
15 | ipython, IPython, etc. |
|
15 | ipython, IPython, etc. | |
16 |
|
16 | |||
17 | NOTE: Some of these were taken from the nipy links compendium. |
|
17 | NOTE: Some of these were taken from the nipy links compendium. | |
18 |
|
18 | |||
19 | .. Main IPython links |
|
19 | .. Main IPython links | |
20 | .. _ipython: http://ipython.org |
|
20 | .. _ipython: https://ipython.org | |
21 | .. _`ipython manual`: http://ipython.org/documentation.html |
|
21 | .. _`ipython manual`: https://ipython.org/documentation.html | |
22 | .. _ipython_github: http://github.com/ipython/ipython/ |
|
22 | .. _ipython_github: http://github.com/ipython/ipython/ | |
23 | .. _ipython_github_repo: http://github.com/ipython/ipython/ |
|
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 | .. _ipython_pypi: http://pypi.python.org/pypi/ipython |
|
25 | .. _ipython_pypi: http://pypi.python.org/pypi/ipython | |
26 | .. _nbviewer: http://nbviewer.ipython.org |
|
26 | .. _nbviewer: http://nbviewer.ipython.org | |
27 |
|
27 | |||
28 | .. _ZeroMQ: http://zeromq.org |
|
28 | .. _ZeroMQ: http://zeromq.org | |
29 |
|
29 | |||
30 | .. Documentation tools and related links |
|
30 | .. Documentation tools and related links | |
31 | .. _graphviz: http://www.graphviz.org |
|
31 | .. _graphviz: http://www.graphviz.org | |
32 | .. _Sphinx: http://sphinx.pocoo.org |
|
32 | .. _Sphinx: http://sphinx.pocoo.org | |
33 | .. _`Sphinx reST`: http://sphinx.pocoo.org/rest.html |
|
33 | .. _`Sphinx reST`: http://sphinx.pocoo.org/rest.html | |
34 | .. _sampledoc: http://matplotlib.org/sampledoc |
|
34 | .. _sampledoc: http://matplotlib.org/sampledoc | |
35 | .. _reST: http://docutils.sourceforge.net/rst.html |
|
35 | .. _reST: http://docutils.sourceforge.net/rst.html | |
36 | .. _docutils: http://docutils.sourceforge.net |
|
36 | .. _docutils: http://docutils.sourceforge.net | |
37 | .. _lyx: http://www.lyx.org |
|
37 | .. _lyx: http://www.lyx.org | |
38 | .. _pep8: http://www.python.org/dev/peps/pep-0008 |
|
38 | .. _pep8: http://www.python.org/dev/peps/pep-0008 | |
39 | .. _numpy_coding_guide: https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt |
|
39 | .. _numpy_coding_guide: https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt | |
40 |
|
40 | |||
41 | .. Licenses |
|
41 | .. Licenses | |
42 | .. _GPL: http://www.gnu.org/licenses/gpl.html |
|
42 | .. _GPL: http://www.gnu.org/licenses/gpl.html | |
43 | .. _BSD: http://www.opensource.org/licenses/bsd-license.php |
|
43 | .. _BSD: http://www.opensource.org/licenses/bsd-license.php | |
44 | .. _LGPL: http://www.gnu.org/copyleft/lesser.html |
|
44 | .. _LGPL: http://www.gnu.org/copyleft/lesser.html | |
45 |
|
45 | |||
46 | .. Other python projects |
|
46 | .. Other python projects | |
47 | .. _numpy: http://numpy.scipy.org |
|
47 | .. _numpy: http://numpy.scipy.org | |
48 | .. _scipy: http://www.scipy.org |
|
48 | .. _scipy: http://www.scipy.org | |
49 | .. _scipy_conference: http://conference.scipy.org |
|
49 | .. _scipy_conference: http://conference.scipy.org | |
50 | .. _matplotlib: http://matplotlib.org |
|
50 | .. _matplotlib: http://matplotlib.org | |
51 | .. _pythonxy: https://code.google.com/p/pythonxy/ |
|
51 | .. _pythonxy: https://code.google.com/p/pythonxy/ | |
52 | .. _ETS: http://code.enthought.com/projects/tool-suite.php |
|
52 | .. _ETS: http://code.enthought.com/projects/tool-suite.php | |
53 | .. _EPD: http://www.enthought.com/products/epd.php |
|
53 | .. _EPD: http://www.enthought.com/products/epd.php | |
54 | .. _python: http://www.python.org |
|
54 | .. _python: http://www.python.org | |
55 | .. _mayavi: http://code.enthought.com/projects/mayavi |
|
55 | .. _mayavi: http://code.enthought.com/projects/mayavi | |
56 | .. _sympy: http://code.google.com/p/sympy |
|
56 | .. _sympy: http://code.google.com/p/sympy | |
57 | .. _sage: http://sagemath.org |
|
57 | .. _sage: http://sagemath.org | |
58 | .. _pydy: http://code.google.com/p/pydy |
|
58 | .. _pydy: http://code.google.com/p/pydy | |
59 | .. _vpython: http://vpython.org |
|
59 | .. _vpython: http://vpython.org | |
60 | .. _cython: http://cython.org |
|
60 | .. _cython: http://cython.org | |
61 | .. _software carpentry: http://software-carpentry.org |
|
61 | .. _software carpentry: http://software-carpentry.org | |
62 |
|
62 | |||
63 | .. Not so python scientific computing tools |
|
63 | .. Not so python scientific computing tools | |
64 | .. _matlab: http://www.mathworks.com |
|
64 | .. _matlab: http://www.mathworks.com | |
65 | .. _VTK: http://vtk.org |
|
65 | .. _VTK: http://vtk.org | |
66 |
|
66 | |||
67 | .. Other organizations |
|
67 | .. Other organizations | |
68 | .. _enthought: http://www.enthought.com |
|
68 | .. _enthought: http://www.enthought.com | |
69 | .. _kitware: http://www.kitware.com |
|
69 | .. _kitware: http://www.kitware.com | |
70 | .. _netlib: http://netlib.org |
|
70 | .. _netlib: http://netlib.org | |
71 |
|
71 | |||
72 | .. Other tools and projects |
|
72 | .. Other tools and projects | |
73 | .. _indefero: http://www.indefero.net |
|
73 | .. _indefero: http://www.indefero.net | |
74 | .. _git: http://git-scm.com |
|
74 | .. _git: http://git-scm.com | |
75 | .. _github: http://github.com |
|
75 | .. _github: http://github.com | |
76 | .. _Markdown: http://daringfireball.net/projects/markdown/syntax |
|
76 | .. _Markdown: http://daringfireball.net/projects/markdown/syntax | |
77 |
|
77 | |||
78 | .. _Running Code in the IPython Notebook: notebook_p1_ |
|
78 | .. _Running Code in the IPython Notebook: notebook_p1_ | |
79 | .. _notebook_p1: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%25201%2520-%2520Running%2520Code.ipynb |
|
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 | .. _Basic Output: notebook_p2_ |
|
81 | .. _Basic Output: notebook_p2_ | |
82 | .. _notebook_p2: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%202%20-%20Basic%20Output.ipynb |
|
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 | .. _Plotting with Matplotlib: notebook_p3_ |
|
84 | .. _Plotting with Matplotlib: notebook_p3_ | |
85 | .. _notebook_p3: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%203%20-%20Plotting%20with%20Matplotlib.ipynb |
|
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 | .. _Markdown Cells: notebook_p4_ |
|
87 | .. _Markdown Cells: notebook_p4_ | |
88 | .. _notebook_p4: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%204%20-%20Markdown%20Cells.ipynb |
|
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 | .. _Rich Display System: notebook_p5_ |
|
90 | .. _Rich Display System: notebook_p5_ | |
91 | .. _notebook_p5: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%205%20-%20Rich%20Display%20System.ipynb |
|
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 | .. _notebook_custom_display: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Custom%20Display%20Logic.ipynb |
|
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 | .. _Frontend/Kernel Model: notebook_two_proc_ |
|
95 | .. _Frontend/Kernel Model: notebook_two_proc_ | |
96 | .. _notebook_two_proc: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Frontend-Kernel%20Model.ipynb |
|
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 | .. _Cell magics: notebook_cell_magics_ |
|
98 | .. _Cell magics: notebook_cell_magics_ | |
99 | .. _notebook_cell_magics: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Cell%20Magics.ipynb |
|
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 | .. _overview: |
|
1 | .. _overview: | |
2 |
|
2 | |||
3 | ======== |
|
3 | ======== | |
4 | Overview |
|
4 | Overview | |
5 | ======== |
|
5 | ======== | |
6 |
|
6 | |||
7 | One of Python's most useful features is its interactive interpreter. |
|
7 | One of Python's most useful features is its interactive interpreter. | |
8 | It allows for very fast testing of ideas without the overhead of |
|
8 | It allows for very fast testing of ideas without the overhead of | |
9 | creating test files as is typical in most programming languages. |
|
9 | creating test files as is typical in most programming languages. | |
10 | However, the interpreter supplied with the standard Python distribution |
|
10 | However, the interpreter supplied with the standard Python distribution | |
11 | is somewhat limited for extended interactive use. |
|
11 | is somewhat limited for extended interactive use. | |
12 |
|
12 | |||
13 | The goal of IPython is to create a comprehensive environment for |
|
13 | The goal of IPython is to create a comprehensive environment for | |
14 | interactive and exploratory computing. To support this goal, IPython |
|
14 | interactive and exploratory computing. To support this goal, IPython | |
15 | has three main components: |
|
15 | has three main components: | |
16 |
|
16 | |||
17 | * An enhanced interactive Python shell. |
|
17 | * An enhanced interactive Python shell. | |
18 |
|
18 | |||
19 | * A decoupled :ref:`two-process communication model <ipythonzmq>`, which |
|
19 | * A decoupled :ref:`two-process communication model <ipythonzmq>`, which | |
20 | allows for multiple clients to connect to a computation kernel, most notably |
|
20 | allows for multiple clients to connect to a computation kernel, most notably | |
21 | the web-based notebook provided with `Jupyter <https://jupyter.org>`_. |
|
21 | the web-based notebook provided with `Jupyter <https://jupyter.org>`_. | |
22 |
|
22 | |||
23 | * An architecture for interactive parallel computing now part of the |
|
23 | * An architecture for interactive parallel computing now part of the | |
24 | `ipyparallel` package. |
|
24 | `ipyparallel` package. | |
25 |
|
25 | |||
26 | All of IPython is open source (released under the revised BSD license). |
|
26 | All of IPython is open source (released under the revised BSD license). | |
27 |
|
27 | |||
28 | Enhanced interactive Python shell |
|
28 | Enhanced interactive Python shell | |
29 | ================================= |
|
29 | ================================= | |
30 |
|
30 | |||
31 | IPython's interactive shell (:command:`ipython`), has the following goals, |
|
31 | IPython's interactive shell (:command:`ipython`), has the following goals, | |
32 | amongst others: |
|
32 | amongst others: | |
33 |
|
33 | |||
34 | 1. Provide an interactive shell superior to Python's default. IPython |
|
34 | 1. Provide an interactive shell superior to Python's default. IPython | |
35 | has many features for tab-completion, object introspection, system shell |
|
35 | has many features for tab-completion, object introspection, system shell | |
36 | access, command history retrieval across sessions, and its own special |
|
36 | access, command history retrieval across sessions, and its own special | |
37 | command system for adding functionality when working interactively. It |
|
37 | command system for adding functionality when working interactively. It | |
38 | tries to be a very efficient environment both for Python code development |
|
38 | tries to be a very efficient environment both for Python code development | |
39 | and for exploration of problems using Python objects (in situations like |
|
39 | and for exploration of problems using Python objects (in situations like | |
40 | data analysis). |
|
40 | data analysis). | |
41 |
|
41 | |||
42 | 2. Serve as an embeddable, ready to use interpreter for your own |
|
42 | 2. Serve as an embeddable, ready to use interpreter for your own | |
43 | programs. An interactive IPython shell can be started with a single call |
|
43 | programs. An interactive IPython shell can be started with a single call | |
44 | from inside another program, providing access to the current namespace. |
|
44 | from inside another program, providing access to the current namespace. | |
45 | This can be very useful both for debugging purposes and for situations |
|
45 | This can be very useful both for debugging purposes and for situations | |
46 | where a blend of batch-processing and interactive exploration are needed. |
|
46 | where a blend of batch-processing and interactive exploration are needed. | |
47 |
|
47 | |||
48 | 3. Offer a flexible framework which can be used as the base |
|
48 | 3. Offer a flexible framework which can be used as the base | |
49 | environment for working with other systems, with Python as the underlying |
|
49 | environment for working with other systems, with Python as the underlying | |
50 | bridge language. Specifically scientific environments like Mathematica, |
|
50 | bridge language. Specifically scientific environments like Mathematica, | |
51 | IDL and Matlab inspired its design, but similar ideas can be |
|
51 | IDL and Matlab inspired its design, but similar ideas can be | |
52 | useful in many fields. |
|
52 | useful in many fields. | |
53 |
|
53 | |||
54 | 4. Allow interactive testing of threaded graphical toolkits. IPython |
|
54 | 4. Allow interactive testing of threaded graphical toolkits. IPython | |
55 | has support for interactive, non-blocking control of GTK, Qt, WX, GLUT, and |
|
55 | has support for interactive, non-blocking control of GTK, Qt, WX, GLUT, and | |
56 | OS X applications via special threading flags. The normal Python |
|
56 | OS X applications via special threading flags. The normal Python | |
57 | shell can only do this for Tkinter applications. |
|
57 | shell can only do this for Tkinter applications. | |
58 |
|
58 | |||
59 | Main features of the interactive shell |
|
59 | Main features of the interactive shell | |
60 | -------------------------------------- |
|
60 | -------------------------------------- | |
61 |
|
61 | |||
62 | * Dynamic object introspection. One can access docstrings, function |
|
62 | * Dynamic object introspection. One can access docstrings, function | |
63 | definition prototypes, source code, source files and other details |
|
63 | definition prototypes, source code, source files and other details | |
64 | of any object accessible to the interpreter with a single |
|
64 | of any object accessible to the interpreter with a single | |
65 | keystroke (:samp:`?`, and using :samp:`??` provides additional detail). |
|
65 | keystroke (:samp:`?`, and using :samp:`??` provides additional detail). | |
66 |
|
66 | |||
67 | * Searching through modules and namespaces with :samp:`*` wildcards, both |
|
67 | * Searching through modules and namespaces with :samp:`*` wildcards, both | |
68 | when using the :samp:`?` system and via the :samp:`%psearch` command. |
|
68 | when using the :samp:`?` system and via the :samp:`%psearch` command. | |
69 |
|
69 | |||
70 | * Completion in the local namespace, by typing :kbd:`TAB` at the prompt. |
|
70 | * Completion in the local namespace, by typing :kbd:`TAB` at the prompt. | |
71 | This works for keywords, modules, methods, variables and files in the |
|
71 | This works for keywords, modules, methods, variables and files in the | |
72 | current directory. This is supported via the ``prompt_toolkit`` library. |
|
72 | current directory. This is supported via the ``prompt_toolkit`` library. | |
73 | Custom completers can be implemented easily for different purposes |
|
73 | Custom completers can be implemented easily for different purposes | |
74 | (system commands, magic arguments etc.) |
|
74 | (system commands, magic arguments etc.) | |
75 |
|
75 | |||
76 | * Numbered input/output prompts with command history (persistent |
|
76 | * Numbered input/output prompts with command history (persistent | |
77 | across sessions and tied to each profile), full searching in this |
|
77 | across sessions and tied to each profile), full searching in this | |
78 | history and caching of all input and output. |
|
78 | history and caching of all input and output. | |
79 |
|
79 | |||
80 | * User-extensible 'magic' commands. A set of commands prefixed with |
|
80 | * User-extensible 'magic' commands. A set of commands prefixed with | |
81 | :samp:`%` or :samp:`%%` is available for controlling IPython itself and provides |
|
81 | :samp:`%` or :samp:`%%` is available for controlling IPython itself and provides | |
82 | directory control, namespace information and many aliases to |
|
82 | directory control, namespace information and many aliases to | |
83 | common system shell commands. |
|
83 | common system shell commands. | |
84 |
|
84 | |||
85 | * Alias facility for defining your own system aliases. |
|
85 | * Alias facility for defining your own system aliases. | |
86 |
|
86 | |||
87 | * Complete system shell access. Lines starting with :samp:`!` are passed |
|
87 | * Complete system shell access. Lines starting with :samp:`!` are passed | |
88 | directly to the system shell, and using :samp:`!!` or :samp:`var = !cmd` |
|
88 | directly to the system shell, and using :samp:`!!` or :samp:`var = !cmd` | |
89 | captures shell output into python variables for further use. |
|
89 | captures shell output into python variables for further use. | |
90 |
|
90 | |||
91 | * The ability to expand python variables when calling the system shell. In a |
|
91 | * The ability to expand python variables when calling the system shell. In a | |
92 | shell command, any python variable prefixed with :samp:`$` is expanded. A |
|
92 | shell command, any python variable prefixed with :samp:`$` is expanded. A | |
93 | double :samp:`$$` allows passing a literal :samp:`$` to the shell (for access |
|
93 | double :samp:`$$` allows passing a literal :samp:`$` to the shell (for access | |
94 | to shell and environment variables like :envvar:`PATH`). |
|
94 | to shell and environment variables like :envvar:`PATH`). | |
95 |
|
95 | |||
96 | * Filesystem navigation, via a magic :samp:`%cd` command, along with a |
|
96 | * Filesystem navigation, via a magic :samp:`%cd` command, along with a | |
97 | persistent bookmark system (using :samp:`%bookmark`) for fast access to |
|
97 | persistent bookmark system (using :samp:`%bookmark`) for fast access to | |
98 | frequently visited directories. |
|
98 | frequently visited directories. | |
99 |
|
99 | |||
100 | * A lightweight persistence framework via the :samp:`%store` command, which |
|
100 | * A lightweight persistence framework via the :samp:`%store` command, which | |
101 | allows you to save arbitrary Python variables. These get restored |
|
101 | allows you to save arbitrary Python variables. These get restored | |
102 | when you run the :samp:`%store -r` command. |
|
102 | when you run the :samp:`%store -r` command. | |
103 |
|
103 | |||
104 | * Automatic indentation and highlighting of code as you type (through the |
|
104 | * Automatic indentation and highlighting of code as you type (through the | |
105 | `prompt_toolkit` library). |
|
105 | `prompt_toolkit` library). | |
106 |
|
106 | |||
107 | * Macro system for quickly re-executing multiple lines of previous |
|
107 | * Macro system for quickly re-executing multiple lines of previous | |
108 | input with a single name via the :samp:`%macro` command. Macros can be |
|
108 | input with a single name via the :samp:`%macro` command. Macros can be | |
109 | stored persistently via :samp:`%store` and edited via :samp:`%edit`. |
|
109 | stored persistently via :samp:`%store` and edited via :samp:`%edit`. | |
110 |
|
110 | |||
111 | * Session logging (you can then later use these logs as code in your |
|
111 | * Session logging (you can then later use these logs as code in your | |
112 | programs). Logs can optionally timestamp all input, and also store |
|
112 | programs). Logs can optionally timestamp all input, and also store | |
113 | session output (marked as comments, so the log remains valid |
|
113 | session output (marked as comments, so the log remains valid | |
114 | Python source code). |
|
114 | Python source code). | |
115 |
|
115 | |||
116 | * Session restoring: logs can be replayed to restore a previous |
|
116 | * Session restoring: logs can be replayed to restore a previous | |
117 | session to the state where you left it. |
|
117 | session to the state where you left it. | |
118 |
|
118 | |||
119 | * Verbose and colored exception traceback printouts. Easier to parse |
|
119 | * Verbose and colored exception traceback printouts. Easier to parse | |
120 | visually, and in verbose mode they produce a lot of useful |
|
120 | visually, and in verbose mode they produce a lot of useful | |
121 | debugging information (basically a terminal version of the cgitb |
|
121 | debugging information (basically a terminal version of the cgitb | |
122 | module). |
|
122 | module). | |
123 |
|
123 | |||
124 | * Auto-parentheses via the :samp:`%autocall` command: callable objects can be |
|
124 | * Auto-parentheses via the :samp:`%autocall` command: callable objects can be | |
125 | executed without parentheses: :samp:`sin 3` is automatically converted to |
|
125 | executed without parentheses: :samp:`sin 3` is automatically converted to | |
126 | :samp:`sin(3)` |
|
126 | :samp:`sin(3)` | |
127 |
|
127 | |||
128 | * Auto-quoting: using :samp:`,`, or :samp:`;` as the first character forces |
|
128 | * Auto-quoting: using :samp:`,`, or :samp:`;` as the first character forces | |
129 | auto-quoting of the rest of the line: :samp:`,my_function a b` becomes |
|
129 | auto-quoting of the rest of the line: :samp:`,my_function a b` becomes | |
130 | automatically :samp:`my_function("a","b")`, while :samp:`;my_function a b` |
|
130 | automatically :samp:`my_function("a","b")`, while :samp:`;my_function a b` | |
131 | becomes :samp:`my_function("a b")`. |
|
131 | becomes :samp:`my_function("a b")`. | |
132 |
|
132 | |||
133 | * Extensible input syntax. You can define filters that pre-process |
|
133 | * Extensible input syntax. You can define filters that pre-process | |
134 | user input to simplify input in special situations. This allows |
|
134 | user input to simplify input in special situations. This allows | |
135 | for example pasting multi-line code fragments which start with |
|
135 | for example pasting multi-line code fragments which start with | |
136 | :samp:`>>>` or :samp:`...` such as those from other python sessions or the |
|
136 | :samp:`>>>` or :samp:`...` such as those from other python sessions or the | |
137 | standard Python documentation. |
|
137 | standard Python documentation. | |
138 |
|
138 | |||
139 | * Flexible :ref:`configuration system <config_overview>`. It uses a |
|
139 | * Flexible :ref:`configuration system <config_overview>`. It uses a | |
140 | configuration file which allows permanent setting of all command-line |
|
140 | configuration file which allows permanent setting of all command-line | |
141 | options, module loading, code and file execution. The system allows |
|
141 | options, module loading, code and file execution. The system allows | |
142 | recursive file inclusion, so you can have a base file with defaults and |
|
142 | recursive file inclusion, so you can have a base file with defaults and | |
143 | layers which load other customizations for particular projects. |
|
143 | layers which load other customizations for particular projects. | |
144 |
|
144 | |||
145 | * Embeddable. You can call IPython as a python shell inside your own |
|
145 | * Embeddable. You can call IPython as a python shell inside your own | |
146 | python programs. This can be used both for debugging code or for |
|
146 | python programs. This can be used both for debugging code or for | |
147 | providing interactive abilities to your programs with knowledge |
|
147 | providing interactive abilities to your programs with knowledge | |
148 | about the local namespaces (very useful in debugging and data |
|
148 | about the local namespaces (very useful in debugging and data | |
149 | analysis situations). |
|
149 | analysis situations). | |
150 |
|
150 | |||
151 | * Easy debugger access. You can set IPython to call up an enhanced version of |
|
151 | * Easy debugger access. You can set IPython to call up an enhanced version of | |
152 | the Python debugger (pdb) every time there is an uncaught exception. This |
|
152 | the Python debugger (pdb) every time there is an uncaught exception. This | |
153 | drops you inside the code which triggered the exception with all the data |
|
153 | drops you inside the code which triggered the exception with all the data | |
154 | live and it is possible to navigate the stack to rapidly isolate the source |
|
154 | live and it is possible to navigate the stack to rapidly isolate the source | |
155 | of a bug. The :samp:`%run` magic command (with the :samp:`-d` option) can run |
|
155 | of a bug. The :samp:`%run` magic command (with the :samp:`-d` option) can run | |
156 | any script under pdb's control, automatically setting initial breakpoints for |
|
156 | any script under pdb's control, automatically setting initial breakpoints for | |
157 | you. This version of pdb has IPython-specific improvements, including |
|
157 | you. This version of pdb has IPython-specific improvements, including | |
158 | tab-completion and traceback coloring support. For even easier debugger |
|
158 | tab-completion and traceback coloring support. For even easier debugger | |
159 | access, try :samp:`%debug` after seeing an exception. |
|
159 | access, try :samp:`%debug` after seeing an exception. | |
160 |
|
160 | |||
161 | * Profiler support. You can run single statements (similar to |
|
161 | * Profiler support. You can run single statements (similar to | |
162 | :samp:`profile.run()`) or complete programs under the profiler's control. |
|
162 | :samp:`profile.run()`) or complete programs under the profiler's control. | |
163 | While this is possible with standard cProfile or profile modules, |
|
163 | While this is possible with standard cProfile or profile modules, | |
164 | IPython wraps this functionality with magic commands (see :samp:`%prun` |
|
164 | IPython wraps this functionality with magic commands (see :samp:`%prun` | |
165 | and :samp:`%run -p`) convenient for rapid interactive work. |
|
165 | and :samp:`%run -p`) convenient for rapid interactive work. | |
166 |
|
166 | |||
167 | * Simple timing information. You can use the :samp:`%timeit` command to get |
|
167 | * Simple timing information. You can use the :samp:`%timeit` command to get | |
168 | the execution time of a Python statement or expression. This machinery is |
|
168 | the execution time of a Python statement or expression. This machinery is | |
169 | intelligent enough to do more repetitions for commands that finish very |
|
169 | intelligent enough to do more repetitions for commands that finish very | |
170 | quickly in order to get a better estimate of their running time. |
|
170 | quickly in order to get a better estimate of their running time. | |
171 |
|
171 | |||
172 | .. sourcecode:: ipython |
|
172 | .. sourcecode:: ipython | |
173 |
|
173 | |||
174 | In [1]: %timeit 1+1 |
|
174 | In [1]: %timeit 1+1 | |
175 | 10000000 loops, best of 3: 25.5 ns per loop |
|
175 | 10000000 loops, best of 3: 25.5 ns per loop | |
176 |
|
176 | |||
177 | In [2]: %timeit [math.sin(x) for x in range(5000)] |
|
177 | In [2]: %timeit [math.sin(x) for x in range(5000)] | |
178 | 1000 loops, best of 3: 719 µs per loop |
|
178 | 1000 loops, best of 3: 719 µs per loop | |
179 |
|
179 | |||
180 | .. |
|
180 | .. | |
181 |
|
181 | |||
182 | To get the timing information for more than one expression, use the |
|
182 | To get the timing information for more than one expression, use the | |
183 | :samp:`%%timeit` cell magic command. |
|
183 | :samp:`%%timeit` cell magic command. | |
184 |
|
184 | |||
185 |
|
185 | |||
186 | * Doctest support. The special :samp:`%doctest_mode` command toggles a mode |
|
186 | * Doctest support. The special :samp:`%doctest_mode` command toggles a mode | |
187 | to use doctest-compatible prompts, so you can use IPython sessions as |
|
187 | to use doctest-compatible prompts, so you can use IPython sessions as | |
188 | doctest code. By default, IPython also allows you to paste existing |
|
188 | doctest code. By default, IPython also allows you to paste existing | |
189 | doctests, and strips out the leading :samp:`>>>` and :samp:`...` prompts in |
|
189 | doctests, and strips out the leading :samp:`>>>` and :samp:`...` prompts in | |
190 | them. |
|
190 | them. | |
191 |
|
191 | |||
192 | .. _ipythonzmq: |
|
192 | .. _ipythonzmq: | |
193 |
|
193 | |||
194 | Decoupled two-process model |
|
194 | Decoupled two-process model | |
195 | ============================== |
|
195 | ============================== | |
196 |
|
196 | |||
197 | IPython has abstracted and extended the notion of a traditional |
|
197 | IPython has abstracted and extended the notion of a traditional | |
198 | *Read-Evaluate-Print Loop* (REPL) environment by decoupling the *evaluation* |
|
198 | *Read-Evaluate-Print Loop* (REPL) environment by decoupling the *evaluation* | |
199 | into its own process. We call this process a **kernel**: it receives execution |
|
199 | into its own process. We call this process a **kernel**: it receives execution | |
200 | instructions from clients and communicates the results back to them. |
|
200 | instructions from clients and communicates the results back to them. | |
201 |
|
201 | |||
202 | This decoupling allows us to have several clients connected to the same |
|
202 | This decoupling allows us to have several clients connected to the same | |
203 | kernel, and even allows clients and kernels to live on different machines. |
|
203 | kernel, and even allows clients and kernels to live on different machines. | |
204 | With the exclusion of the traditional single process terminal-based IPython |
|
204 | With the exclusion of the traditional single process terminal-based IPython | |
205 | (what you start if you run ``ipython`` without any subcommands), all |
|
205 | (what you start if you run ``ipython`` without any subcommands), all | |
206 | other IPython machinery uses this two-process model. Most of this is now part |
|
206 | other IPython machinery uses this two-process model. Most of this is now part | |
207 | of the `Jupyter` project, which includes ``jupyter console``, ``jupyter |
|
207 | of the `Jupyter` project, which includes ``jupyter console``, ``jupyter | |
208 | qtconsole``, and ``jupyter notebook``. |
|
208 | qtconsole``, and ``jupyter notebook``. | |
209 |
|
209 | |||
210 | As an example, this means that when you start ``jupyter qtconsole``, you're |
|
210 | As an example, this means that when you start ``jupyter qtconsole``, you're | |
211 | really starting two processes, a kernel and a Qt-based client can send |
|
211 | really starting two processes, a kernel and a Qt-based client can send | |
212 | commands to and receive results from that kernel. If there is already a kernel |
|
212 | commands to and receive results from that kernel. If there is already a kernel | |
213 | running that you want to connect to, you can pass the ``--existing`` flag |
|
213 | running that you want to connect to, you can pass the ``--existing`` flag | |
214 | which will skip initiating a new kernel and connect to the most recent kernel, |
|
214 | which will skip initiating a new kernel and connect to the most recent kernel, | |
215 | instead. To connect to a specific kernel once you have several kernels |
|
215 | instead. To connect to a specific kernel once you have several kernels | |
216 | running, use the ``%connect_info`` magic to get the unique connection file, |
|
216 | running, use the ``%connect_info`` magic to get the unique connection file, | |
217 | which will be something like ``--existing kernel-19732.json`` but with |
|
217 | which will be something like ``--existing kernel-19732.json`` but with | |
218 | different numbers which correspond to the Process ID of the kernel. |
|
218 | different numbers which correspond to the Process ID of the kernel. | |
219 |
|
219 | |||
220 | You can read more about using `jupyter qtconsole |
|
220 | You can read more about using `jupyter qtconsole | |
221 | <http://jupyter.org/qtconsole/>`_, and |
|
221 | <https://jupyter.org/qtconsole/>`_, and | |
222 | `jupyter notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`_. There |
|
222 | `jupyter notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`_. There | |
223 | is also a :ref:`message spec <messaging>` which documents the protocol for |
|
223 | is also a :ref:`message spec <messaging>` which documents the protocol for | |
224 | communication between kernels |
|
224 | communication between kernels | |
225 | and clients. |
|
225 | and clients. | |
226 |
|
226 | |||
227 | .. seealso:: |
|
227 | .. seealso:: | |
228 |
|
228 | |||
229 | `Frontend/Kernel Model`_ example notebook |
|
229 | `Frontend/Kernel Model`_ example notebook | |
230 |
|
230 | |||
231 |
|
231 | |||
232 | Interactive parallel computing |
|
232 | Interactive parallel computing | |
233 | ============================== |
|
233 | ============================== | |
234 |
|
234 | |||
235 |
|
235 | |||
236 | This functionality is optional and now part of the `ipyparallel |
|
236 | This functionality is optional and now part of the `ipyparallel | |
237 | <http://ipyparallel.readthedocs.io/>`_ project. |
|
237 | <http://ipyparallel.readthedocs.io/>`_ project. | |
238 |
|
238 | |||
239 | Portability and Python requirements |
|
239 | Portability and Python requirements | |
240 | ----------------------------------- |
|
240 | ----------------------------------- | |
241 |
|
241 | |||
242 | Version 7.0+ supports Python 3.4 and higher. |
|
242 | Version 7.0+ supports Python 3.4 and higher. | |
243 | Versions 6.x support Python 3.3 and higher. |
|
243 | Versions 6.x support Python 3.3 and higher. | |
244 | Versions 2.0 to 5.x work with Python 2.7.x releases and Python 3.3 and higher. |
|
244 | Versions 2.0 to 5.x work with Python 2.7.x releases and Python 3.3 and higher. | |
245 | Version 1.0 additionally worked with Python 2.6 and 3.2. |
|
245 | Version 1.0 additionally worked with Python 2.6 and 3.2. | |
246 | Version 0.12 was the first version to fully support Python 3. |
|
246 | Version 0.12 was the first version to fully support Python 3. | |
247 |
|
247 | |||
248 | IPython is known to work on the following operating systems: |
|
248 | IPython is known to work on the following operating systems: | |
249 |
|
249 | |||
250 | * Linux |
|
250 | * Linux | |
251 | * Most other Unix-like OSs (AIX, Solaris, BSD, etc.) |
|
251 | * Most other Unix-like OSs (AIX, Solaris, BSD, etc.) | |
252 | * Mac OS X |
|
252 | * Mac OS X | |
253 | * Windows (CygWin, XP, Vista, etc.) |
|
253 | * Windows (CygWin, XP, Vista, etc.) | |
254 |
|
254 | |||
255 | See :ref:`here <install_index>` for instructions on how to install IPython. |
|
255 | See :ref:`here <install_index>` for instructions on how to install IPython. | |
256 |
|
256 | |||
257 | .. include:: links.txt |
|
257 | .. include:: links.txt |
@@ -1,1607 +1,1607 b'' | |||||
1 | .. _issues_list_200: |
|
1 | .. _issues_list_200: | |
2 |
|
2 | |||
3 | Issues closed in the 2.x development cycle |
|
3 | Issues closed in the 2.x development cycle | |
4 | ========================================== |
|
4 | ========================================== | |
5 |
|
5 | |||
6 | Issues closed in 2.4.1 |
|
6 | Issues closed in 2.4.1 | |
7 | ---------------------- |
|
7 | ---------------------- | |
8 |
|
8 | |||
9 | GitHub stats for 2014/11/01 - 2015/01/30 |
|
9 | GitHub stats for 2014/11/01 - 2015/01/30 | |
10 |
|
10 | |||
11 | .. note:: |
|
11 | .. note:: | |
12 |
|
12 | |||
13 | IPython 2.4.0 was released without a few of the backports listed below. |
|
13 | IPython 2.4.0 was released without a few of the backports listed below. | |
14 | 2.4.1 has the correct patches intended for 2.4.0. |
|
14 | 2.4.1 has the correct patches intended for 2.4.0. | |
15 |
|
15 | |||
16 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
16 | These lists are automatically generated, and may be incomplete or contain duplicates. | |
17 |
|
17 | |||
18 | The following 7 authors contributed 35 commits. |
|
18 | The following 7 authors contributed 35 commits. | |
19 |
|
19 | |||
20 | * Benjamin Ragan-Kelley |
|
20 | * Benjamin Ragan-Kelley | |
21 | * Carlos Cordoba |
|
21 | * Carlos Cordoba | |
22 | * Damon Allen |
|
22 | * Damon Allen | |
23 | * Jessica B. Hamrick |
|
23 | * Jessica B. Hamrick | |
24 | * Mateusz Paprocki |
|
24 | * Mateusz Paprocki | |
25 | * Peter Würtz |
|
25 | * Peter Würtz | |
26 | * Thomas Kluyver |
|
26 | * Thomas Kluyver | |
27 |
|
27 | |||
28 | We closed 10 issues and merged 6 pull requests; |
|
28 | We closed 10 issues and merged 6 pull requests; | |
29 | this is the full list (generated with the script |
|
29 | this is the full list (generated with the script | |
30 | :file:`tools/github_stats.py`): |
|
30 | :file:`tools/github_stats.py`): | |
31 |
|
31 | |||
32 | Pull Requests (10): |
|
32 | Pull Requests (10): | |
33 |
|
33 | |||
34 | * :ghpull:`7106`: Changed the display order of rich output in the live notebook. |
|
34 | * :ghpull:`7106`: Changed the display order of rich output in the live notebook. | |
35 | * :ghpull:`6878`: Update pygments monkeypatch for compatibility with Pygments 2.0 |
|
35 | * :ghpull:`6878`: Update pygments monkeypatch for compatibility with Pygments 2.0 | |
36 | * :ghpull:`6778`: backport nbformat v4 to 2.x |
|
36 | * :ghpull:`6778`: backport nbformat v4 to 2.x | |
37 | * :ghpull:`6761`: object_info_reply field is oname, not name |
|
37 | * :ghpull:`6761`: object_info_reply field is oname, not name | |
38 | * :ghpull:`6653`: Fix IPython.utils.ansispan() to ignore stray [0m |
|
38 | * :ghpull:`6653`: Fix IPython.utils.ansispan() to ignore stray [0m | |
39 | * :ghpull:`6706`: Correctly display prompt numbers that are ``None`` |
|
39 | * :ghpull:`6706`: Correctly display prompt numbers that are ``None`` | |
40 | * :ghpull:`6634`: don't use contains in SelectWidget item_query |
|
40 | * :ghpull:`6634`: don't use contains in SelectWidget item_query | |
41 | * :ghpull:`6593`: note how to start the qtconsole |
|
41 | * :ghpull:`6593`: note how to start the qtconsole | |
42 | * :ghpull:`6281`: more minor fixes to release scripts |
|
42 | * :ghpull:`6281`: more minor fixes to release scripts | |
43 | * :ghpull:`5458`: Add support for PyQt5. |
|
43 | * :ghpull:`5458`: Add support for PyQt5. | |
44 |
|
44 | |||
45 | Issues (6): |
|
45 | Issues (6): | |
46 |
|
46 | |||
47 | * :ghissue:`7272`: qtconsole problems with pygments |
|
47 | * :ghissue:`7272`: qtconsole problems with pygments | |
48 | * :ghissue:`7049`: Cause TypeError: 'NoneType' object is not callable in qtconsole |
|
48 | * :ghissue:`7049`: Cause TypeError: 'NoneType' object is not callable in qtconsole | |
49 | * :ghissue:`6877`: Qt console doesn't work with pygments 2.0rc1 |
|
49 | * :ghissue:`6877`: Qt console doesn't work with pygments 2.0rc1 | |
50 | * :ghissue:`6689`: Problem with string containing two or more question marks |
|
50 | * :ghissue:`6689`: Problem with string containing two or more question marks | |
51 | * :ghissue:`6702`: Cell numbering after ``ClearOutput`` preprocessor |
|
51 | * :ghissue:`6702`: Cell numbering after ``ClearOutput`` preprocessor | |
52 | * :ghissue:`6633`: selectwidget doesn't display 1 as a selection choice when passed in as a member of values list |
|
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 | Issues closed in 2.3.1 |
|
55 | Issues closed in 2.3.1 | |
56 | ---------------------- |
|
56 | ---------------------- | |
57 |
|
57 | |||
58 | Just one bugfix: fixed bad CRCRLF line-endings in notebooks on Windows |
|
58 | Just one bugfix: fixed bad CRCRLF line-endings in notebooks on Windows | |
59 |
|
59 | |||
60 | Pull Requests (1): |
|
60 | Pull Requests (1): | |
61 |
|
61 | |||
62 | * :ghpull:`6911`: don't use text mode in mkstemp |
|
62 | * :ghpull:`6911`: don't use text mode in mkstemp | |
63 |
|
63 | |||
64 | Issues (1): |
|
64 | Issues (1): | |
65 |
|
65 | |||
66 | * :ghissue:`6599`: Notebook.ipynb CR+LF turned into CR+CR+LF |
|
66 | * :ghissue:`6599`: Notebook.ipynb CR+LF turned into CR+CR+LF | |
67 |
|
67 | |||
68 |
|
68 | |||
69 | Issues closed in 2.3.0 |
|
69 | Issues closed in 2.3.0 | |
70 | ---------------------- |
|
70 | ---------------------- | |
71 |
|
71 | |||
72 | GitHub stats for 2014/08/06 - 2014/10/01 |
|
72 | GitHub stats for 2014/08/06 - 2014/10/01 | |
73 |
|
73 | |||
74 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
74 | These lists are automatically generated, and may be incomplete or contain duplicates. | |
75 |
|
75 | |||
76 | The following 6 authors contributed 31 commits. |
|
76 | The following 6 authors contributed 31 commits. | |
77 |
|
77 | |||
78 | * Benjamin Ragan-Kelley |
|
78 | * Benjamin Ragan-Kelley | |
79 | * David Hirschfeld |
|
79 | * David Hirschfeld | |
80 | * Eric Firing |
|
80 | * Eric Firing | |
81 | * Jessica B. Hamrick |
|
81 | * Jessica B. Hamrick | |
82 | * Matthias Bussonnier |
|
82 | * Matthias Bussonnier | |
83 | * Thomas Kluyver |
|
83 | * Thomas Kluyver | |
84 |
|
84 | |||
85 | We closed 16 issues and merged 9 pull requests; |
|
85 | We closed 16 issues and merged 9 pull requests; | |
86 | this is the full list (generated with the script |
|
86 | this is the full list (generated with the script | |
87 | :file:`tools/github_stats.py`): |
|
87 | :file:`tools/github_stats.py`): | |
88 |
|
88 | |||
89 | Pull Requests (16): |
|
89 | Pull Requests (16): | |
90 |
|
90 | |||
91 | * :ghpull:`6587`: support ``%matplotlib qt5`` and ``%matplotlib nbagg`` |
|
91 | * :ghpull:`6587`: support ``%matplotlib qt5`` and ``%matplotlib nbagg`` | |
92 | * :ghpull:`6583`: Windows symlink test fixes |
|
92 | * :ghpull:`6583`: Windows symlink test fixes | |
93 | * :ghpull:`6585`: fixes :ghissue:`6473` |
|
93 | * :ghpull:`6585`: fixes :ghissue:`6473` | |
94 | * :ghpull:`6581`: Properly mock winreg functions for test |
|
94 | * :ghpull:`6581`: Properly mock winreg functions for test | |
95 | * :ghpull:`6556`: Use some more informative asserts in inprocess kernel tests |
|
95 | * :ghpull:`6556`: Use some more informative asserts in inprocess kernel tests | |
96 | * :ghpull:`6514`: Fix for copying metadata flags |
|
96 | * :ghpull:`6514`: Fix for copying metadata flags | |
97 | * :ghpull:`6453`: Copy file metadata in atomic save |
|
97 | * :ghpull:`6453`: Copy file metadata in atomic save | |
98 | * :ghpull:`6480`: only compare host:port in Websocket.check_origin |
|
98 | * :ghpull:`6480`: only compare host:port in Websocket.check_origin | |
99 | * :ghpull:`6483`: Trim anchor link in heading cells, fixes :ghissue:`6324` |
|
99 | * :ghpull:`6483`: Trim anchor link in heading cells, fixes :ghissue:`6324` | |
100 | * :ghpull:`6410`: Fix relative import in appnope |
|
100 | * :ghpull:`6410`: Fix relative import in appnope | |
101 | * :ghpull:`6395`: update mathjax CDN url in nbconvert template |
|
101 | * :ghpull:`6395`: update mathjax CDN url in nbconvert template | |
102 | * :ghpull:`6269`: Implement atomic save |
|
102 | * :ghpull:`6269`: Implement atomic save | |
103 | * :ghpull:`6374`: Rename ``abort_queues`` --> ``_abort_queues`` |
|
103 | * :ghpull:`6374`: Rename ``abort_queues`` --> ``_abort_queues`` | |
104 | * :ghpull:`6321`: Use appnope in qt and wx gui support from the terminal; closes :ghissue:`6189` |
|
104 | * :ghpull:`6321`: Use appnope in qt and wx gui support from the terminal; closes :ghissue:`6189` | |
105 | * :ghpull:`6318`: use write_error instead of get_error_html |
|
105 | * :ghpull:`6318`: use write_error instead of get_error_html | |
106 | * :ghpull:`6303`: Fix error message when failing to load a notebook |
|
106 | * :ghpull:`6303`: Fix error message when failing to load a notebook | |
107 |
|
107 | |||
108 | Issues (9): |
|
108 | Issues (9): | |
109 |
|
109 | |||
110 | * :ghissue:`6057`: ``%matplotlib`` + qt5 |
|
110 | * :ghissue:`6057`: ``%matplotlib`` + qt5 | |
111 | * :ghissue:`6518`: Test failure in atomic save on Windows |
|
111 | * :ghissue:`6518`: Test failure in atomic save on Windows | |
112 | * :ghissue:`6473`: Switching between "Raw Cell Format" and "Edit Metadata" does not work |
|
112 | * :ghissue:`6473`: Switching between "Raw Cell Format" and "Edit Metadata" does not work | |
113 | * :ghissue:`6405`: Creating a notebook should respect directory permissions; saving should respect prior permissions |
|
113 | * :ghissue:`6405`: Creating a notebook should respect directory permissions; saving should respect prior permissions | |
114 | * :ghissue:`6324`: Anchors in Heading don't work. |
|
114 | * :ghissue:`6324`: Anchors in Heading don't work. | |
115 | * :ghissue:`6409`: No module named '_dummy' |
|
115 | * :ghissue:`6409`: No module named '_dummy' | |
116 | * :ghissue:`6392`: Mathjax library link broken |
|
116 | * :ghissue:`6392`: Mathjax library link broken | |
117 | * :ghissue:`6329`: IPython Notebook Server URL now requires "tree" at the end of the URL? (version 2.2) |
|
117 | * :ghissue:`6329`: IPython Notebook Server URL now requires "tree" at the end of the URL? (version 2.2) | |
118 | * :ghissue:`6189`: ipython console freezes for increasing no of seconds in %pylab mode |
|
118 | * :ghissue:`6189`: ipython console freezes for increasing no of seconds in %pylab mode | |
119 |
|
119 | |||
120 | Issues closed in 2.2.0 |
|
120 | Issues closed in 2.2.0 | |
121 | ---------------------- |
|
121 | ---------------------- | |
122 |
|
122 | |||
123 | GitHub stats for 2014/05/21 - 2014/08/06 (tag: rel-2.1.0) |
|
123 | GitHub stats for 2014/05/21 - 2014/08/06 (tag: rel-2.1.0) | |
124 |
|
124 | |||
125 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
125 | These lists are automatically generated, and may be incomplete or contain duplicates. | |
126 |
|
126 | |||
127 | The following 13 authors contributed 36 commits. |
|
127 | The following 13 authors contributed 36 commits. | |
128 |
|
128 | |||
129 | * Adam Hodgen |
|
129 | * Adam Hodgen | |
130 | * Benjamin Ragan-Kelley |
|
130 | * Benjamin Ragan-Kelley | |
131 | * Björn Grüning |
|
131 | * Björn Grüning | |
132 | * Dara Adib |
|
132 | * Dara Adib | |
133 | * Eric Galloway |
|
133 | * Eric Galloway | |
134 | * Jonathan Frederic |
|
134 | * Jonathan Frederic | |
135 | * Kyle Kelley |
|
135 | * Kyle Kelley | |
136 | * Matthias Bussonnier |
|
136 | * Matthias Bussonnier | |
137 | * Paul Ivanov |
|
137 | * Paul Ivanov | |
138 | * Shayne Hodge |
|
138 | * Shayne Hodge | |
139 | * Steven Anton |
|
139 | * Steven Anton | |
140 | * Thomas Kluyver |
|
140 | * Thomas Kluyver | |
141 | * Zahari |
|
141 | * Zahari | |
142 |
|
142 | |||
143 | We closed 23 issues and merged 11 pull requests; |
|
143 | We closed 23 issues and merged 11 pull requests; | |
144 | this is the full list (generated with the script |
|
144 | this is the full list (generated with the script | |
145 | :file:`tools/github_stats.py`): |
|
145 | :file:`tools/github_stats.py`): | |
146 |
|
146 | |||
147 | Pull Requests (23): |
|
147 | Pull Requests (23): | |
148 |
|
148 | |||
149 | * :ghpull:`6279`: minor updates to release scripts |
|
149 | * :ghpull:`6279`: minor updates to release scripts | |
150 | * :ghpull:`6273`: Upgrade default mathjax version. |
|
150 | * :ghpull:`6273`: Upgrade default mathjax version. | |
151 | * :ghpull:`6249`: always use HTTPS getting mathjax from CDN |
|
151 | * :ghpull:`6249`: always use HTTPS getting mathjax from CDN | |
152 | * :ghpull:`6114`: update hmac signature comparison |
|
152 | * :ghpull:`6114`: update hmac signature comparison | |
153 | * :ghpull:`6195`: Close handle on new temporary files before returning filename |
|
153 | * :ghpull:`6195`: Close handle on new temporary files before returning filename | |
154 | * :ghpull:`6143`: pin tornado to < 4 on travis js tests |
|
154 | * :ghpull:`6143`: pin tornado to < 4 on travis js tests | |
155 | * :ghpull:`6134`: remove rackcdn https workaround for mathjax cdn |
|
155 | * :ghpull:`6134`: remove rackcdn https workaround for mathjax cdn | |
156 | * :ghpull:`6120`: Only allow iframe embedding on same origin. |
|
156 | * :ghpull:`6120`: Only allow iframe embedding on same origin. | |
157 | * :ghpull:`6117`: Remove / from route of TreeRedirectHandler. |
|
157 | * :ghpull:`6117`: Remove / from route of TreeRedirectHandler. | |
158 | * :ghpull:`6105`: only set allow_origin_pat if defined |
|
158 | * :ghpull:`6105`: only set allow_origin_pat if defined | |
159 | * :ghpull:`6102`: Add newline if missing to end of script magic cell |
|
159 | * :ghpull:`6102`: Add newline if missing to end of script magic cell | |
160 | * :ghpull:`6077`: allow unicode keys in dicts in json_clean |
|
160 | * :ghpull:`6077`: allow unicode keys in dicts in json_clean | |
161 | * :ghpull:`6061`: make CORS configurable |
|
161 | * :ghpull:`6061`: make CORS configurable | |
162 | * :ghpull:`6081`: don’t modify dict keys while iterating through them |
|
162 | * :ghpull:`6081`: don’t modify dict keys while iterating through them | |
163 | * :ghpull:`5803`: unify visual line handling |
|
163 | * :ghpull:`5803`: unify visual line handling | |
164 | * :ghpull:`6005`: Changed right arrow key movement function to mirror left arrow key |
|
164 | * :ghpull:`6005`: Changed right arrow key movement function to mirror left arrow key | |
165 | * :ghpull:`6029`: add pickleutil.PICKLE_PROTOCOL |
|
165 | * :ghpull:`6029`: add pickleutil.PICKLE_PROTOCOL | |
166 | * :ghpull:`6003`: Set kernel_id before checking websocket |
|
166 | * :ghpull:`6003`: Set kernel_id before checking websocket | |
167 | * :ghpull:`5994`: Fix ssh tunnel for Python3 |
|
167 | * :ghpull:`5994`: Fix ssh tunnel for Python3 | |
168 | * :ghpull:`5973`: Do not create checkpoint_dir relative to current dir |
|
168 | * :ghpull:`5973`: Do not create checkpoint_dir relative to current dir | |
169 | * :ghpull:`5933`: fix qt_loader import hook signature |
|
169 | * :ghpull:`5933`: fix qt_loader import hook signature | |
170 | * :ghpull:`5944`: Markdown rendering bug fix. |
|
170 | * :ghpull:`5944`: Markdown rendering bug fix. | |
171 | * :ghpull:`5917`: use shutil.move instead of os.rename |
|
171 | * :ghpull:`5917`: use shutil.move instead of os.rename | |
172 |
|
172 | |||
173 | Issues (11): |
|
173 | Issues (11): | |
174 |
|
174 | |||
175 | * :ghissue:`6246`: Include MathJax by default or access the CDN over a secure connection |
|
175 | * :ghissue:`6246`: Include MathJax by default or access the CDN over a secure connection | |
176 | * :ghissue:`5525`: Websocket origin check fails when used with Apache WS proxy |
|
176 | * :ghissue:`5525`: Websocket origin check fails when used with Apache WS proxy | |
177 | * :ghissue:`5901`: 2 test failures in Python 3.4 in parallel group |
|
177 | * :ghissue:`5901`: 2 test failures in Python 3.4 in parallel group | |
178 | * :ghissue:`5926`: QT console: text selection cannot be made from left to right with keyboard |
|
178 | * :ghissue:`5926`: QT console: text selection cannot be made from left to right with keyboard | |
179 | * :ghissue:`5998`: use_dill does not work in Python 3.4 |
|
179 | * :ghissue:`5998`: use_dill does not work in Python 3.4 | |
180 | * :ghissue:`5964`: Traceback on Qt console exit |
|
180 | * :ghissue:`5964`: Traceback on Qt console exit | |
181 | * :ghissue:`5787`: Error in Notebook-Generated latex (nbconvert) |
|
181 | * :ghissue:`5787`: Error in Notebook-Generated latex (nbconvert) | |
182 | * :ghissue:`5950`: qtconsole truncates help |
|
182 | * :ghissue:`5950`: qtconsole truncates help | |
183 | * :ghissue:`5943`: 2.x: notebook fails to load when using HTML comments |
|
183 | * :ghissue:`5943`: 2.x: notebook fails to load when using HTML comments | |
184 | * :ghissue:`5932`: Qt ImportDenier Does Not Adhere to PEP302 |
|
184 | * :ghissue:`5932`: Qt ImportDenier Does Not Adhere to PEP302 | |
185 | * :ghissue:`5898`: OSError when moving configuration file |
|
185 | * :ghissue:`5898`: OSError when moving configuration file | |
186 |
|
186 | |||
187 | Issues closed in 2.1.0 |
|
187 | Issues closed in 2.1.0 | |
188 | ---------------------- |
|
188 | ---------------------- | |
189 |
|
189 | |||
190 | GitHub stats for 2014/04/02 - 2014/05/21 (since 2.0.0) |
|
190 | GitHub stats for 2014/04/02 - 2014/05/21 (since 2.0.0) | |
191 |
|
191 | |||
192 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
192 | These lists are automatically generated, and may be incomplete or contain duplicates. | |
193 |
|
193 | |||
194 | The following 35 authors contributed 145 commits. |
|
194 | The following 35 authors contributed 145 commits. | |
195 |
|
195 | |||
196 | * Adrian Price-Whelan |
|
196 | * Adrian Price-Whelan | |
197 | * Aron Ahmadia |
|
197 | * Aron Ahmadia | |
198 | * Benjamin Ragan-Kelley |
|
198 | * Benjamin Ragan-Kelley | |
199 | * Benjamin Schultz |
|
199 | * Benjamin Schultz | |
200 | * Björn Linse |
|
200 | * Björn Linse | |
201 | * Blake Griffith |
|
201 | * Blake Griffith | |
202 | * chebee7i |
|
202 | * chebee7i | |
203 | * Damián Avila |
|
203 | * Damián Avila | |
204 | * Dav Clark |
|
204 | * Dav Clark | |
205 | * dexterdev |
|
205 | * dexterdev | |
206 | * Erik Tollerud |
|
206 | * Erik Tollerud | |
207 | * Grzegorz Rożniecki |
|
207 | * Grzegorz Rożniecki | |
208 | * Jakob Gager |
|
208 | * Jakob Gager | |
209 | * jdavidheiser |
|
209 | * jdavidheiser | |
210 | * Jessica B. Hamrick |
|
210 | * Jessica B. Hamrick | |
211 | * Jim Garrison |
|
211 | * Jim Garrison | |
212 | * Jonathan Frederic |
|
212 | * Jonathan Frederic | |
213 | * Matthias Bussonnier |
|
213 | * Matthias Bussonnier | |
214 | * Maximilian Albert |
|
214 | * Maximilian Albert | |
215 | * Mohan Raj Rajamanickam |
|
215 | * Mohan Raj Rajamanickam | |
216 | * ncornette |
|
216 | * ncornette | |
217 | * Nikolay Koldunov |
|
217 | * Nikolay Koldunov | |
218 | * Nile Geisinger |
|
218 | * Nile Geisinger | |
219 | * Pankaj Pandey |
|
219 | * Pankaj Pandey | |
220 | * Paul Ivanov |
|
220 | * Paul Ivanov | |
221 | * Pierre Haessig |
|
221 | * Pierre Haessig | |
222 | * Raffaele De Feo |
|
222 | * Raffaele De Feo | |
223 | * Renaud Richardet |
|
223 | * Renaud Richardet | |
224 | * Spencer Nelson |
|
224 | * Spencer Nelson | |
225 | * Steve Chan |
|
225 | * Steve Chan | |
226 | * sunny |
|
226 | * sunny | |
227 | * Susan Tan |
|
227 | * Susan Tan | |
228 | * Thomas Kluyver |
|
228 | * Thomas Kluyver | |
229 | * Yaroslav Halchenko |
|
229 | * Yaroslav Halchenko | |
230 | * zah |
|
230 | * zah | |
231 |
|
231 | |||
232 | We closed a total of 129 issues, 92 pull requests and 37 regular issues; |
|
232 | We closed a total of 129 issues, 92 pull requests and 37 regular issues; | |
233 | this is the full list (generated with the script |
|
233 | this is the full list (generated with the script | |
234 | :file:`tools/github_stats.py --milestone 2.1`): |
|
234 | :file:`tools/github_stats.py --milestone 2.1`): | |
235 |
|
235 | |||
236 | Pull Requests (92): |
|
236 | Pull Requests (92): | |
237 |
|
237 | |||
238 | * :ghpull:`5871`: specify encoding in msgpack.unpackb |
|
238 | * :ghpull:`5871`: specify encoding in msgpack.unpackb | |
239 | * :ghpull:`5869`: Catch more errors from clipboard access on Windows |
|
239 | * :ghpull:`5869`: Catch more errors from clipboard access on Windows | |
240 | * :ghpull:`5866`: Make test robust against differences in line endings |
|
240 | * :ghpull:`5866`: Make test robust against differences in line endings | |
241 | * :ghpull:`5605`: Two cell toolbar fixes. |
|
241 | * :ghpull:`5605`: Two cell toolbar fixes. | |
242 | * :ghpull:`5843`: remove Firefox-specific CSS workaround |
|
242 | * :ghpull:`5843`: remove Firefox-specific CSS workaround | |
243 | * :ghpull:`5845`: Pass Windows interrupt event to kernels as an environment variable |
|
243 | * :ghpull:`5845`: Pass Windows interrupt event to kernels as an environment variable | |
244 | * :ghpull:`5835`: fix typo in v2 convert |
|
244 | * :ghpull:`5835`: fix typo in v2 convert | |
245 | * :ghpull:`5841`: Fix writing history with output to a file in Python 2 |
|
245 | * :ghpull:`5841`: Fix writing history with output to a file in Python 2 | |
246 | * :ghpull:`5842`: fix typo in nbconvert help |
|
246 | * :ghpull:`5842`: fix typo in nbconvert help | |
247 | * :ghpull:`5846`: Fix typos in Cython example |
|
247 | * :ghpull:`5846`: Fix typos in Cython example | |
248 | * :ghpull:`5839`: Close graphics dev in finally clause |
|
248 | * :ghpull:`5839`: Close graphics dev in finally clause | |
249 | * :ghpull:`5837`: pass on install docs |
|
249 | * :ghpull:`5837`: pass on install docs | |
250 | * :ghpull:`5832`: Fixed example to work with python3 |
|
250 | * :ghpull:`5832`: Fixed example to work with python3 | |
251 | * :ghpull:`5826`: allow notebook tour instantiation to fail |
|
251 | * :ghpull:`5826`: allow notebook tour instantiation to fail | |
252 | * :ghpull:`5560`: Minor expansion of Cython example |
|
252 | * :ghpull:`5560`: Minor expansion of Cython example | |
253 | * :ghpull:`5818`: interpret any exception in getcallargs as not callable |
|
253 | * :ghpull:`5818`: interpret any exception in getcallargs as not callable | |
254 | * :ghpull:`5816`: Add output to IPython directive when in verbatim mode. |
|
254 | * :ghpull:`5816`: Add output to IPython directive when in verbatim mode. | |
255 | * :ghpull:`5822`: Don't overwrite widget description in interact |
|
255 | * :ghpull:`5822`: Don't overwrite widget description in interact | |
256 | * :ghpull:`5782`: Silence exception thrown by completer when dir() does not return a list |
|
256 | * :ghpull:`5782`: Silence exception thrown by completer when dir() does not return a list | |
257 | * :ghpull:`5807`: Drop log level to info for Qt console shutdown |
|
257 | * :ghpull:`5807`: Drop log level to info for Qt console shutdown | |
258 | * :ghpull:`5814`: Remove -i options from mv, rm and cp aliases |
|
258 | * :ghpull:`5814`: Remove -i options from mv, rm and cp aliases | |
259 | * :ghpull:`5812`: Fix application name when printing subcommand help. |
|
259 | * :ghpull:`5812`: Fix application name when printing subcommand help. | |
260 | * :ghpull:`5804`: remove an inappropriate ``!`` |
|
260 | * :ghpull:`5804`: remove an inappropriate ``!`` | |
261 | * :ghpull:`5805`: fix engine startup files |
|
261 | * :ghpull:`5805`: fix engine startup files | |
262 | * :ghpull:`5806`: Don't auto-move .config/ipython if symbolic link |
|
262 | * :ghpull:`5806`: Don't auto-move .config/ipython if symbolic link | |
263 | * :ghpull:`5716`: Add booktabs package to latex base.tplx |
|
263 | * :ghpull:`5716`: Add booktabs package to latex base.tplx | |
264 | * :ghpull:`5669`: allows threadsafe sys.stdout.flush from background threads |
|
264 | * :ghpull:`5669`: allows threadsafe sys.stdout.flush from background threads | |
265 | * :ghpull:`5668`: allow async output on the most recent request |
|
265 | * :ghpull:`5668`: allow async output on the most recent request | |
266 | * :ghpull:`5768`: fix cursor keys in long lines wrapped in markdown |
|
266 | * :ghpull:`5768`: fix cursor keys in long lines wrapped in markdown | |
267 | * :ghpull:`5788`: run cells with ``silent=True`` in ``%run nb.ipynb`` |
|
267 | * :ghpull:`5788`: run cells with ``silent=True`` in ``%run nb.ipynb`` | |
268 | * :ghpull:`5715`: log all failed ajax API requests |
|
268 | * :ghpull:`5715`: log all failed ajax API requests | |
269 | * :ghpull:`5769`: Don't urlescape the text that goes into a title tag |
|
269 | * :ghpull:`5769`: Don't urlescape the text that goes into a title tag | |
270 | * :ghpull:`5762`: Fix check for pickling closures |
|
270 | * :ghpull:`5762`: Fix check for pickling closures | |
271 | * :ghpull:`5766`: View.map with empty sequence should return empty list |
|
271 | * :ghpull:`5766`: View.map with empty sequence should return empty list | |
272 | * :ghpull:`5758`: Applied bug fix: using fc and ec did not properly set the figure canvas ... |
|
272 | * :ghpull:`5758`: Applied bug fix: using fc and ec did not properly set the figure canvas ... | |
273 | * :ghpull:`5754`: Format command name into subcommand_description at run time, not import |
|
273 | * :ghpull:`5754`: Format command name into subcommand_description at run time, not import | |
274 | * :ghpull:`5744`: Describe using PyPI/pip to distribute & install extensions |
|
274 | * :ghpull:`5744`: Describe using PyPI/pip to distribute & install extensions | |
275 | * :ghpull:`5712`: monkeypatch inspect.findsource only when we use it |
|
275 | * :ghpull:`5712`: monkeypatch inspect.findsource only when we use it | |
276 | * :ghpull:`5708`: create checkpoints dir in notebook subdirectories |
|
276 | * :ghpull:`5708`: create checkpoints dir in notebook subdirectories | |
277 | * :ghpull:`5714`: log error message when API requests fail |
|
277 | * :ghpull:`5714`: log error message when API requests fail | |
278 | * :ghpull:`5732`: Quick typo fix in nbformat/convert.py |
|
278 | * :ghpull:`5732`: Quick typo fix in nbformat/convert.py | |
279 | * :ghpull:`5713`: Fix a NameError in IPython.parallel |
|
279 | * :ghpull:`5713`: Fix a NameError in IPython.parallel | |
280 | * :ghpull:`5704`: Update nbconvertapp.py |
|
280 | * :ghpull:`5704`: Update nbconvertapp.py | |
281 | * :ghpull:`5534`: cleanup some ``pre`` css inheritance |
|
281 | * :ghpull:`5534`: cleanup some ``pre`` css inheritance | |
282 | * :ghpull:`5699`: don't use common names in require decorators |
|
282 | * :ghpull:`5699`: don't use common names in require decorators | |
283 | * :ghpull:`5692`: Update notebook.rst fixing broken reference to notebook examples readme |
|
283 | * :ghpull:`5692`: Update notebook.rst fixing broken reference to notebook examples readme | |
284 | * :ghpull:`5693`: Update parallel_intro.rst to fix a broken link to examples |
|
284 | * :ghpull:`5693`: Update parallel_intro.rst to fix a broken link to examples | |
285 | * :ghpull:`5486`: disambiguate to location when no IPs can be determined |
|
285 | * :ghpull:`5486`: disambiguate to location when no IPs can be determined | |
286 | * :ghpull:`5574`: Remove the outdated keyboard shortcuts from notebook docs |
|
286 | * :ghpull:`5574`: Remove the outdated keyboard shortcuts from notebook docs | |
287 | * :ghpull:`5568`: Use ``__qualname__`` in pretty reprs for Python 3 |
|
287 | * :ghpull:`5568`: Use ``__qualname__`` in pretty reprs for Python 3 | |
288 | * :ghpull:`5678`: Fix copy & paste error in docstring of ImageWidget class |
|
288 | * :ghpull:`5678`: Fix copy & paste error in docstring of ImageWidget class | |
289 | * :ghpull:`5677`: Fix %bookmark -l for Python 3 |
|
289 | * :ghpull:`5677`: Fix %bookmark -l for Python 3 | |
290 | * :ghpull:`5670`: nbconvert: Fix CWD imports |
|
290 | * :ghpull:`5670`: nbconvert: Fix CWD imports | |
291 | * :ghpull:`5647`: Mention git hooks in install documentation |
|
291 | * :ghpull:`5647`: Mention git hooks in install documentation | |
292 | * :ghpull:`5671`: Fix blank slides issue in Reveal slideshow pdf export |
|
292 | * :ghpull:`5671`: Fix blank slides issue in Reveal slideshow pdf export | |
293 | * :ghpull:`5657`: use 'localhost' as default for the notebook server |
|
293 | * :ghpull:`5657`: use 'localhost' as default for the notebook server | |
294 | * :ghpull:`5584`: more semantic icons |
|
294 | * :ghpull:`5584`: more semantic icons | |
295 | * :ghpull:`5594`: update components with marked-0.3.2 |
|
295 | * :ghpull:`5594`: update components with marked-0.3.2 | |
296 | * :ghpull:`5500`: check for Python 3.2 |
|
296 | * :ghpull:`5500`: check for Python 3.2 | |
297 | * :ghpull:`5582`: reset readline after running PYTHONSTARTUP |
|
297 | * :ghpull:`5582`: reset readline after running PYTHONSTARTUP | |
298 | * :ghpull:`5630`: Fixed Issue :ghissue:`4012` Added Help menubar link to Github markdown doc |
|
298 | * :ghpull:`5630`: Fixed Issue :ghissue:`4012` Added Help menubar link to Github markdown doc | |
299 | * :ghpull:`5613`: Fixing bug :ghissue:`5607` |
|
299 | * :ghpull:`5613`: Fixing bug :ghissue:`5607` | |
300 | * :ghpull:`5633`: Provide more help if lessc is not found. |
|
300 | * :ghpull:`5633`: Provide more help if lessc is not found. | |
301 | * :ghpull:`5620`: fixed a typo in IPython.core.formatters |
|
301 | * :ghpull:`5620`: fixed a typo in IPython.core.formatters | |
302 | * :ghpull:`5619`: Fix typo in storemagic module docstring |
|
302 | * :ghpull:`5619`: Fix typo in storemagic module docstring | |
303 | * :ghpull:`5592`: add missing ``browser`` to notebook_aliases list |
|
303 | * :ghpull:`5592`: add missing ``browser`` to notebook_aliases list | |
304 | * :ghpull:`5506`: Fix ipconfig regex pattern |
|
304 | * :ghpull:`5506`: Fix ipconfig regex pattern | |
305 | * :ghpull:`5581`: Fix rmagic for cells ending in comment. |
|
305 | * :ghpull:`5581`: Fix rmagic for cells ending in comment. | |
306 | * :ghpull:`5576`: only process cr if it's found |
|
306 | * :ghpull:`5576`: only process cr if it's found | |
307 | * :ghpull:`5478`: Add git-hooks install script. Update README.md |
|
307 | * :ghpull:`5478`: Add git-hooks install script. Update README.md | |
308 | * :ghpull:`5546`: do not shutdown notebook if 'n' is part of answer |
|
308 | * :ghpull:`5546`: do not shutdown notebook if 'n' is part of answer | |
309 | * :ghpull:`5527`: Don't remove upload items from nav tree unless explicitly requested. |
|
309 | * :ghpull:`5527`: Don't remove upload items from nav tree unless explicitly requested. | |
310 | * :ghpull:`5501`: remove inappropriate wheel tag override |
|
310 | * :ghpull:`5501`: remove inappropriate wheel tag override | |
311 | * :ghpull:`5548`: FileNotebookManager: Use shutil.move() instead of os.rename() |
|
311 | * :ghpull:`5548`: FileNotebookManager: Use shutil.move() instead of os.rename() | |
312 | * :ghpull:`5524`: never use ``for (var i in array)`` |
|
312 | * :ghpull:`5524`: never use ``for (var i in array)`` | |
313 | * :ghpull:`5459`: Fix interact animation page jump FF |
|
313 | * :ghpull:`5459`: Fix interact animation page jump FF | |
314 | * :ghpull:`5559`: Minor typo fix in "Cython Magics.ipynb" |
|
314 | * :ghpull:`5559`: Minor typo fix in "Cython Magics.ipynb" | |
315 | * :ghpull:`5507`: Fix typo in interactive widgets examples index notebook |
|
315 | * :ghpull:`5507`: Fix typo in interactive widgets examples index notebook | |
316 | * :ghpull:`5554`: Make HasTraits pickleable |
|
316 | * :ghpull:`5554`: Make HasTraits pickleable | |
317 | * :ghpull:`5535`: fix n^2 performance issue in coalesce_streams preprocessor |
|
317 | * :ghpull:`5535`: fix n^2 performance issue in coalesce_streams preprocessor | |
318 | * :ghpull:`5522`: fix iteration over Client |
|
318 | * :ghpull:`5522`: fix iteration over Client | |
319 | * :ghpull:`5488`: Added missing require and jquery from cdn. |
|
319 | * :ghpull:`5488`: Added missing require and jquery from cdn. | |
320 | * :ghpull:`5516`: ENH: list generated config files in generated, and rm them upon clean |
|
320 | * :ghpull:`5516`: ENH: list generated config files in generated, and rm them upon clean | |
321 | * :ghpull:`5493`: made a minor fix to one of the widget examples |
|
321 | * :ghpull:`5493`: made a minor fix to one of the widget examples | |
322 | * :ghpull:`5512`: Update tooltips to refer to shift-tab |
|
322 | * :ghpull:`5512`: Update tooltips to refer to shift-tab | |
323 | * :ghpull:`5505`: Make backport_pr work on Python 3 |
|
323 | * :ghpull:`5505`: Make backport_pr work on Python 3 | |
324 | * :ghpull:`5503`: check explicitly for 'dev' before adding the note to docs |
|
324 | * :ghpull:`5503`: check explicitly for 'dev' before adding the note to docs | |
325 | * :ghpull:`5498`: use milestones to indicate backport |
|
325 | * :ghpull:`5498`: use milestones to indicate backport | |
326 | * :ghpull:`5492`: Polish whatsnew docs |
|
326 | * :ghpull:`5492`: Polish whatsnew docs | |
327 | * :ghpull:`5495`: Fix various broken things in docs |
|
327 | * :ghpull:`5495`: Fix various broken things in docs | |
328 | * :ghpull:`5496`: Exclude whatsnew/pr directory from docs builds |
|
328 | * :ghpull:`5496`: Exclude whatsnew/pr directory from docs builds | |
329 | * :ghpull:`5489`: Fix required Python versions |
|
329 | * :ghpull:`5489`: Fix required Python versions | |
330 |
|
330 | |||
331 | Issues (37): |
|
331 | Issues (37): | |
332 |
|
332 | |||
333 | * :ghissue:`5364`: Horizontal scrollbar hides cell's last line on Firefox |
|
333 | * :ghissue:`5364`: Horizontal scrollbar hides cell's last line on Firefox | |
334 | * :ghissue:`5192`: horisontal scrollbar overlaps output or touches next cell |
|
334 | * :ghissue:`5192`: horisontal scrollbar overlaps output or touches next cell | |
335 | * :ghissue:`5840`: Third-party Windows kernels don't get interrupt signal |
|
335 | * :ghissue:`5840`: Third-party Windows kernels don't get interrupt signal | |
336 | * :ghissue:`2412`: print history to file using qtconsole and notebook |
|
336 | * :ghissue:`2412`: print history to file using qtconsole and notebook | |
337 | * :ghissue:`5703`: Notebook doesn't render with "ask me every time" cookie setting in Firefox |
|
337 | * :ghissue:`5703`: Notebook doesn't render with "ask me every time" cookie setting in Firefox | |
338 | * :ghissue:`5817`: calling mock object in IPython 2.0.0 under Python 3.4.0 raises AttributeError |
|
338 | * :ghissue:`5817`: calling mock object in IPython 2.0.0 under Python 3.4.0 raises AttributeError | |
339 | * :ghissue:`5499`: Error running widgets nbconvert example |
|
339 | * :ghissue:`5499`: Error running widgets nbconvert example | |
340 | * :ghissue:`5654`: Broken links from ipython documentation |
|
340 | * :ghissue:`5654`: Broken links from ipython documentation | |
341 | * :ghissue:`5019`: print in QT event callback doesn't show up in ipython notebook. |
|
341 | * :ghissue:`5019`: print in QT event callback doesn't show up in ipython notebook. | |
342 | * :ghissue:`5800`: Only last In prompt number set ? |
|
342 | * :ghissue:`5800`: Only last In prompt number set ? | |
343 | * :ghissue:`5801`: startup_command specified in ipengine_config.py is not executed |
|
343 | * :ghissue:`5801`: startup_command specified in ipengine_config.py is not executed | |
344 | * :ghissue:`5690`: ipython 2.0.0 and pandoc 1.12.2.1 problem |
|
344 | * :ghissue:`5690`: ipython 2.0.0 and pandoc 1.12.2.1 problem | |
345 | * :ghissue:`5408`: Add checking/flushing of background output from kernel in mainloop |
|
345 | * :ghissue:`5408`: Add checking/flushing of background output from kernel in mainloop | |
346 | * :ghissue:`5407`: clearing message handlers on status=idle loses async output |
|
346 | * :ghissue:`5407`: clearing message handlers on status=idle loses async output | |
347 | * :ghissue:`5467`: Incorrect behavior of up/down keyboard arrows in code cells on wrapped lines |
|
347 | * :ghissue:`5467`: Incorrect behavior of up/down keyboard arrows in code cells on wrapped lines | |
348 | * :ghissue:`3085`: nicer notebook error message when lacking permissions |
|
348 | * :ghissue:`3085`: nicer notebook error message when lacking permissions | |
349 | * :ghissue:`5765`: map_sync over empty list raises IndexError |
|
349 | * :ghissue:`5765`: map_sync over empty list raises IndexError | |
350 | * :ghissue:`5553`: Notebook matplotlib inline backend: can't set figure facecolor |
|
350 | * :ghissue:`5553`: Notebook matplotlib inline backend: can't set figure facecolor | |
351 | * :ghissue:`5710`: inspect.findsource monkeypatch raises wrong exception for C extensions |
|
351 | * :ghissue:`5710`: inspect.findsource monkeypatch raises wrong exception for C extensions | |
352 | * :ghissue:`5706`: Multi-Directory notebooks overwrite each other's checkpoints |
|
352 | * :ghissue:`5706`: Multi-Directory notebooks overwrite each other's checkpoints | |
353 | * :ghissue:`5698`: can't require a function named ``f`` |
|
353 | * :ghissue:`5698`: can't require a function named ``f`` | |
354 | * :ghissue:`5569`: Keyboard shortcuts in documentation are out of date |
|
354 | * :ghissue:`5569`: Keyboard shortcuts in documentation are out of date | |
355 | * :ghissue:`5566`: Function name printing should use ``__qualname__`` instead of ``__name__`` (Python 3) |
|
355 | * :ghissue:`5566`: Function name printing should use ``__qualname__`` instead of ``__name__`` (Python 3) | |
356 | * :ghissue:`5676`: "bookmark -l" not working in ipython 2.0 |
|
356 | * :ghissue:`5676`: "bookmark -l" not working in ipython 2.0 | |
357 | * :ghissue:`5555`: Differentiate more clearly between Notebooks and Folders in new UI |
|
357 | * :ghissue:`5555`: Differentiate more clearly between Notebooks and Folders in new UI | |
358 | * :ghissue:`5590`: Marked double escape |
|
358 | * :ghissue:`5590`: Marked double escape | |
359 | * :ghissue:`5514`: import tab-complete fail with ipython 2.0 shell |
|
359 | * :ghissue:`5514`: import tab-complete fail with ipython 2.0 shell | |
360 | * :ghissue:`4012`: Notebook: link to markdown formatting reference |
|
360 | * :ghissue:`4012`: Notebook: link to markdown formatting reference | |
361 | * :ghissue:`5611`: Typo in 'storemagic' documentation |
|
361 | * :ghissue:`5611`: Typo in 'storemagic' documentation | |
362 | * :ghissue:`5589`: Kernel start fails when using --browser argument |
|
362 | * :ghissue:`5589`: Kernel start fails when using --browser argument | |
363 | * :ghissue:`5491`: Bug in Windows ipconfig ip address regular expression |
|
363 | * :ghissue:`5491`: Bug in Windows ipconfig ip address regular expression | |
364 | * :ghissue:`5579`: rmagic extension throws 'Error while parsing the string.' when last line is comment |
|
364 | * :ghissue:`5579`: rmagic extension throws 'Error while parsing the string.' when last line is comment | |
365 | * :ghissue:`5518`: Ipython2 will not open ipynb in example directory |
|
365 | * :ghissue:`5518`: Ipython2 will not open ipynb in example directory | |
366 | * :ghissue:`5561`: New widget documentation has missing notebook link |
|
366 | * :ghissue:`5561`: New widget documentation has missing notebook link | |
367 | * :ghissue:`5128`: Page jumping when output from widget interaction replaced |
|
367 | * :ghissue:`5128`: Page jumping when output from widget interaction replaced | |
368 | * :ghissue:`5519`: IPython.parallel.Client behavior as iterator |
|
368 | * :ghissue:`5519`: IPython.parallel.Client behavior as iterator | |
369 | * :ghissue:`5510`: Tab-completion for function argument list |
|
369 | * :ghissue:`5510`: Tab-completion for function argument list | |
370 |
|
370 | |||
371 |
|
371 | |||
372 | Issues closed in 2.0.0 |
|
372 | Issues closed in 2.0.0 | |
373 | ---------------------- |
|
373 | ---------------------- | |
374 |
|
374 | |||
375 |
|
375 | |||
376 | GitHub stats for 2013/08/09 - 2014/04/01 (since 1.0.0) |
|
376 | GitHub stats for 2013/08/09 - 2014/04/01 (since 1.0.0) | |
377 |
|
377 | |||
378 | These lists are automatically generated, and may be incomplete or contain duplicates. |
|
378 | These lists are automatically generated, and may be incomplete or contain duplicates. | |
379 |
|
379 | |||
380 | The following 94 authors contributed 3949 commits. |
|
380 | The following 94 authors contributed 3949 commits. | |
381 |
|
381 | |||
382 | * Aaron Meurer |
|
382 | * Aaron Meurer | |
383 | * Abhinav Upadhyay |
|
383 | * Abhinav Upadhyay | |
384 | * Adam Riggall |
|
384 | * Adam Riggall | |
385 | * Alex Rudy |
|
385 | * Alex Rudy | |
386 | * Andrew Mark |
|
386 | * Andrew Mark | |
387 | * Angus Griffith |
|
387 | * Angus Griffith | |
388 | * Antony Lee |
|
388 | * Antony Lee | |
389 | * Aron Ahmadia |
|
389 | * Aron Ahmadia | |
390 | * Arun Persaud |
|
390 | * Arun Persaud | |
391 | * Benjamin Ragan-Kelley |
|
391 | * Benjamin Ragan-Kelley | |
392 | * Bing Xia |
|
392 | * Bing Xia | |
393 | * Blake Griffith |
|
393 | * Blake Griffith | |
394 | * Bouke van der Bijl |
|
394 | * Bouke van der Bijl | |
395 | * Bradley M. Froehle |
|
395 | * Bradley M. Froehle | |
396 | * Brian E. Granger |
|
396 | * Brian E. Granger | |
397 | * Carlos Cordoba |
|
397 | * Carlos Cordoba | |
398 | * chapmanb |
|
398 | * chapmanb | |
399 | * chebee7i |
|
399 | * chebee7i | |
400 | * Christoph Gohlke |
|
400 | * Christoph Gohlke | |
401 | * Christophe Pradal |
|
401 | * Christophe Pradal | |
402 | * Cyrille Rossant |
|
402 | * Cyrille Rossant | |
403 | * Damián Avila |
|
403 | * Damián Avila | |
404 | * Daniel B. Vasquez |
|
404 | * Daniel B. Vasquez | |
405 | * Dav Clark |
|
405 | * Dav Clark | |
406 | * David Hirschfeld |
|
406 | * David Hirschfeld | |
407 | * David P. Sanders |
|
407 | * David P. Sanders | |
408 | * David Wyde |
|
408 | * David Wyde | |
409 | * David Österberg |
|
409 | * David Österberg | |
410 | * Doug Blank |
|
410 | * Doug Blank | |
411 | * Dražen Lučanin |
|
411 | * Dražen Lučanin | |
412 | * epifanio |
|
412 | * epifanio | |
413 | * Fernando Perez |
|
413 | * Fernando Perez | |
414 | * Gabriel Becker |
|
414 | * Gabriel Becker | |
415 | * Geert Barentsen |
|
415 | * Geert Barentsen | |
416 | * Hans Meine |
|
416 | * Hans Meine | |
417 | * Ingolf Becker |
|
417 | * Ingolf Becker | |
418 | * Jake Vanderplas |
|
418 | * Jake Vanderplas | |
419 | * Jakob Gager |
|
419 | * Jakob Gager | |
420 | * James Porter |
|
420 | * James Porter | |
421 | * Jason Grout |
|
421 | * Jason Grout | |
422 | * Jeffrey Tratner |
|
422 | * Jeffrey Tratner | |
423 | * Jonah Graham |
|
423 | * Jonah Graham | |
424 | * Jonathan Frederic |
|
424 | * Jonathan Frederic | |
425 | * Joris Van den Bossche |
|
425 | * Joris Van den Bossche | |
426 | * Juergen Hasch |
|
426 | * Juergen Hasch | |
427 | * Julian Taylor |
|
427 | * Julian Taylor | |
428 | * Katie Silverio |
|
428 | * Katie Silverio | |
429 | * Kevin Burke |
|
429 | * Kevin Burke | |
430 | * Kieran O'Mahony |
|
430 | * Kieran O'Mahony | |
431 | * Konrad Hinsen |
|
431 | * Konrad Hinsen | |
432 | * Kyle Kelley |
|
432 | * Kyle Kelley | |
433 | * Lawrence Fu |
|
433 | * Lawrence Fu | |
434 | * Marc Molla |
|
434 | * Marc Molla | |
435 | * Martín Gaitán |
|
435 | * Martín Gaitán | |
436 | * Matt Henderson |
|
436 | * Matt Henderson | |
437 | * Matthew Brett |
|
437 | * Matthew Brett | |
438 | * Matthias Bussonnier |
|
438 | * Matthias Bussonnier | |
439 | * Michael Droettboom |
|
439 | * Michael Droettboom | |
440 | * Mike McKerns |
|
440 | * Mike McKerns | |
441 | * Nathan Goldbaum |
|
441 | * Nathan Goldbaum | |
442 | * Pablo de Oliveira |
|
442 | * Pablo de Oliveira | |
443 | * Pankaj Pandey |
|
443 | * Pankaj Pandey | |
444 | * Pascal Schetelat |
|
444 | * Pascal Schetelat | |
445 | * Paul Ivanov |
|
445 | * Paul Ivanov | |
446 | * Paul Moore |
|
446 | * Paul Moore | |
447 | * Pere Vilas |
|
447 | * Pere Vilas | |
448 | * Peter Davis |
|
448 | * Peter Davis | |
449 | * Philippe Mallet-Ladeira |
|
449 | * Philippe Mallet-Ladeira | |
450 | * Preston Holmes |
|
450 | * Preston Holmes | |
451 | * Puneeth Chaganti |
|
451 | * Puneeth Chaganti | |
452 | * Richard Everson |
|
452 | * Richard Everson | |
453 | * Roberto Bonvallet |
|
453 | * Roberto Bonvallet | |
454 | * Samuel Ainsworth |
|
454 | * Samuel Ainsworth | |
455 | * Sean Vig |
|
455 | * Sean Vig | |
456 | * Shashi Gowda |
|
456 | * Shashi Gowda | |
457 | * Skipper Seabold |
|
457 | * Skipper Seabold | |
458 | * Stephan Rave |
|
458 | * Stephan Rave | |
459 | * Steve Fox |
|
459 | * Steve Fox | |
460 | * Steven Silvester |
|
460 | * Steven Silvester | |
461 | * stonebig |
|
461 | * stonebig | |
462 | * Susan Tan |
|
462 | * Susan Tan | |
463 | * Sylvain Corlay |
|
463 | * Sylvain Corlay | |
464 | * Takeshi Kanmae |
|
464 | * Takeshi Kanmae | |
465 | * Ted Drain |
|
465 | * Ted Drain | |
466 | * Thomas A Caswell |
|
466 | * Thomas A Caswell | |
467 | * Thomas Kluyver |
|
467 | * Thomas Kluyver | |
468 | * Théophile Studer |
|
468 | * Théophile Studer | |
469 | * Volker Braun |
|
469 | * Volker Braun | |
470 | * Wieland Hoffmann |
|
470 | * Wieland Hoffmann | |
471 | * Yaroslav Halchenko |
|
471 | * Yaroslav Halchenko | |
472 | * Yoval P. |
|
472 | * Yoval P. | |
473 | * Yung Siang Liau |
|
473 | * Yung Siang Liau | |
474 | * Zachary Sailer |
|
474 | * Zachary Sailer | |
475 | * zah |
|
475 | * zah | |
476 |
|
476 | |||
477 |
|
477 | |||
478 | We closed a total of 1121 issues, 687 pull requests and 434 regular issues; |
|
478 | We closed a total of 1121 issues, 687 pull requests and 434 regular issues; | |
479 | this is the full list (generated with the script |
|
479 | this is the full list (generated with the script | |
480 | :file:`tools/github_stats.py`): |
|
480 | :file:`tools/github_stats.py`): | |
481 |
|
481 | |||
482 | Pull Requests (687): |
|
482 | Pull Requests (687): | |
483 |
|
483 | |||
484 | * :ghpull:`5487`: remove weird unicode space in the new copyright header |
|
484 | * :ghpull:`5487`: remove weird unicode space in the new copyright header | |
485 | * :ghpull:`5476`: For 2.0: Fix links in Notebook Help Menu |
|
485 | * :ghpull:`5476`: For 2.0: Fix links in Notebook Help Menu | |
486 | * :ghpull:`5337`: Examples reorganization |
|
486 | * :ghpull:`5337`: Examples reorganization | |
487 | * :ghpull:`5436`: CodeMirror shortcuts in QuickHelp |
|
487 | * :ghpull:`5436`: CodeMirror shortcuts in QuickHelp | |
488 | * :ghpull:`5444`: Fix numeric verification for Int and Float text widgets. |
|
488 | * :ghpull:`5444`: Fix numeric verification for Int and Float text widgets. | |
489 | * :ghpull:`5449`: Stretch keyboard shortcut dialog |
|
489 | * :ghpull:`5449`: Stretch keyboard shortcut dialog | |
490 | * :ghpull:`5473`: Minor corrections of git-hooks setup instructions |
|
490 | * :ghpull:`5473`: Minor corrections of git-hooks setup instructions | |
491 | * :ghpull:`5471`: Add coding magic comment to nbconvert Python template |
|
491 | * :ghpull:`5471`: Add coding magic comment to nbconvert Python template | |
492 | * :ghpull:`5452`: print_figure returns unicode for svg |
|
492 | * :ghpull:`5452`: print_figure returns unicode for svg | |
493 | * :ghpull:`5450`: proposal: remove codename |
|
493 | * :ghpull:`5450`: proposal: remove codename | |
494 | * :ghpull:`5462`: DOC : fixed minor error in using topological sort |
|
494 | * :ghpull:`5462`: DOC : fixed minor error in using topological sort | |
495 | * :ghpull:`5463`: make spin_thread tests more forgiving of slow VMs |
|
495 | * :ghpull:`5463`: make spin_thread tests more forgiving of slow VMs | |
496 | * :ghpull:`5464`: Fix starting notebook server with file/directory at command line. |
|
496 | * :ghpull:`5464`: Fix starting notebook server with file/directory at command line. | |
497 | * :ghpull:`5453`: remove gitwash |
|
497 | * :ghpull:`5453`: remove gitwash | |
498 | * :ghpull:`5454`: Improve history API docs |
|
498 | * :ghpull:`5454`: Improve history API docs | |
499 | * :ghpull:`5431`: update github_stats and gh_api for 2.0 |
|
499 | * :ghpull:`5431`: update github_stats and gh_api for 2.0 | |
500 | * :ghpull:`5290`: Add dual mode JS tests |
|
500 | * :ghpull:`5290`: Add dual mode JS tests | |
501 | * :ghpull:`5451`: check that a handler is actually registered in ShortcutManager.handles |
|
501 | * :ghpull:`5451`: check that a handler is actually registered in ShortcutManager.handles | |
502 | * :ghpull:`5447`: Add %%python2 cell magic |
|
502 | * :ghpull:`5447`: Add %%python2 cell magic | |
503 | * :ghpull:`5439`: Point to the stable SymPy docs, not the dev docs |
|
503 | * :ghpull:`5439`: Point to the stable SymPy docs, not the dev docs | |
504 | * :ghpull:`5437`: Install jquery-ui images |
|
504 | * :ghpull:`5437`: Install jquery-ui images | |
505 | * :ghpull:`5434`: fix check for empty cells in rst template |
|
505 | * :ghpull:`5434`: fix check for empty cells in rst template | |
506 | * :ghpull:`5432`: update links in notebook help menu |
|
506 | * :ghpull:`5432`: update links in notebook help menu | |
507 | * :ghpull:`5435`: Update whatsnew (notebook tour) |
|
507 | * :ghpull:`5435`: Update whatsnew (notebook tour) | |
508 | * :ghpull:`5433`: Document extraction of octave and R magics |
|
508 | * :ghpull:`5433`: Document extraction of octave and R magics | |
509 | * :ghpull:`5428`: Update COPYING.txt |
|
509 | * :ghpull:`5428`: Update COPYING.txt | |
510 | * :ghpull:`5426`: Separate get_session_info between HistoryAccessor and HistoryManager |
|
510 | * :ghpull:`5426`: Separate get_session_info between HistoryAccessor and HistoryManager | |
511 | * :ghpull:`5419`: move prompts from margin to main column on small screens |
|
511 | * :ghpull:`5419`: move prompts from margin to main column on small screens | |
512 | * :ghpull:`5430`: Make sure `element` is correct in the context of displayed JS |
|
512 | * :ghpull:`5430`: Make sure `element` is correct in the context of displayed JS | |
513 | * :ghpull:`5396`: prevent saving of partially loaded notebooks |
|
513 | * :ghpull:`5396`: prevent saving of partially loaded notebooks | |
514 | * :ghpull:`5429`: Fix tooltip pager feature |
|
514 | * :ghpull:`5429`: Fix tooltip pager feature | |
515 | * :ghpull:`5330`: Updates to shell reference doc |
|
515 | * :ghpull:`5330`: Updates to shell reference doc | |
516 | * :ghpull:`5404`: Fix broken accordion widget |
|
516 | * :ghpull:`5404`: Fix broken accordion widget | |
517 | * :ghpull:`5339`: Don't use fork to start the notebook in js tests |
|
517 | * :ghpull:`5339`: Don't use fork to start the notebook in js tests | |
518 | * :ghpull:`5320`: Fix for Tooltip & completer click focus bug. |
|
518 | * :ghpull:`5320`: Fix for Tooltip & completer click focus bug. | |
519 | * :ghpull:`5421`: Move configuration of Python test controllers into setup() |
|
519 | * :ghpull:`5421`: Move configuration of Python test controllers into setup() | |
520 | * :ghpull:`5418`: fix typo in ssh launcher send_file |
|
520 | * :ghpull:`5418`: fix typo in ssh launcher send_file | |
521 | * :ghpull:`5403`: remove alt-- shortcut |
|
521 | * :ghpull:`5403`: remove alt-- shortcut | |
522 | * :ghpull:`5389`: better log message in deprecated files/ redirect |
|
522 | * :ghpull:`5389`: better log message in deprecated files/ redirect | |
523 | * :ghpull:`5333`: Fix filenbmanager.list_dirs fails for Windows user profile directory |
|
523 | * :ghpull:`5333`: Fix filenbmanager.list_dirs fails for Windows user profile directory | |
524 | * :ghpull:`5390`: finish PR #5333 |
|
524 | * :ghpull:`5390`: finish PR #5333 | |
525 | * :ghpull:`5326`: Some gardening on iptest result reporting |
|
525 | * :ghpull:`5326`: Some gardening on iptest result reporting | |
526 | * :ghpull:`5375`: remove unnecessary onload hack from mathjax macro |
|
526 | * :ghpull:`5375`: remove unnecessary onload hack from mathjax macro | |
527 | * :ghpull:`5368`: Flexbox classes specificity fixes |
|
527 | * :ghpull:`5368`: Flexbox classes specificity fixes | |
528 | * :ghpull:`5331`: fix raw_input CSS |
|
528 | * :ghpull:`5331`: fix raw_input CSS | |
529 | * :ghpull:`5395`: urlencode images for rst files |
|
529 | * :ghpull:`5395`: urlencode images for rst files | |
530 | * :ghpull:`5049`: update quickhelp on adding and removing shortcuts |
|
530 | * :ghpull:`5049`: update quickhelp on adding and removing shortcuts | |
531 | * :ghpull:`5391`: Fix Gecko (Netscape) keyboard handling |
|
531 | * :ghpull:`5391`: Fix Gecko (Netscape) keyboard handling | |
532 | * :ghpull:`5387`: Respect '\r' characters in nbconvert. |
|
532 | * :ghpull:`5387`: Respect '\r' characters in nbconvert. | |
533 | * :ghpull:`5399`: Revert PR #5388 |
|
533 | * :ghpull:`5399`: Revert PR #5388 | |
534 | * :ghpull:`5388`: Suppress output even when a comment follows ;. Fixes #4525. |
|
534 | * :ghpull:`5388`: Suppress output even when a comment follows ;. Fixes #4525. | |
535 | * :ghpull:`5394`: nbconvert doc update |
|
535 | * :ghpull:`5394`: nbconvert doc update | |
536 | * :ghpull:`5359`: do not install less sources |
|
536 | * :ghpull:`5359`: do not install less sources | |
537 | * :ghpull:`5346`: give hint on where to find custom.js |
|
537 | * :ghpull:`5346`: give hint on where to find custom.js | |
538 | * :ghpull:`5357`: catch exception in copystat |
|
538 | * :ghpull:`5357`: catch exception in copystat | |
539 | * :ghpull:`5380`: Remove DefineShortVerb... line from latex base template |
|
539 | * :ghpull:`5380`: Remove DefineShortVerb... line from latex base template | |
540 | * :ghpull:`5376`: elide long containers in pretty |
|
540 | * :ghpull:`5376`: elide long containers in pretty | |
541 | * :ghpull:`5310`: remove raw cell placeholder on focus, closes #5238 |
|
541 | * :ghpull:`5310`: remove raw cell placeholder on focus, closes #5238 | |
542 | * :ghpull:`5332`: semantic names for indicator icons |
|
542 | * :ghpull:`5332`: semantic names for indicator icons | |
543 | * :ghpull:`5386`: Fix import of socketserver on Python 3 |
|
543 | * :ghpull:`5386`: Fix import of socketserver on Python 3 | |
544 | * :ghpull:`5360`: remove some redundant font-family: monospace |
|
544 | * :ghpull:`5360`: remove some redundant font-family: monospace | |
545 | * :ghpull:`5379`: don't instantiate Application just for default logger |
|
545 | * :ghpull:`5379`: don't instantiate Application just for default logger | |
546 | * :ghpull:`5372`: Don't autoclose strings |
|
546 | * :ghpull:`5372`: Don't autoclose strings | |
547 | * :ghpull:`5296`: unify keyboard shortcut and codemirror interaction |
|
547 | * :ghpull:`5296`: unify keyboard shortcut and codemirror interaction | |
548 | * :ghpull:`5349`: Make Hub.registration_timeout configurable |
|
548 | * :ghpull:`5349`: Make Hub.registration_timeout configurable | |
549 | * :ghpull:`5340`: install bootstrap-tour css |
|
549 | * :ghpull:`5340`: install bootstrap-tour css | |
550 | * :ghpull:`5335`: Update docstring for deepreload module |
|
550 | * :ghpull:`5335`: Update docstring for deepreload module | |
551 | * :ghpull:`5321`: Improve assignment regex to match more tuple unpacking syntax |
|
551 | * :ghpull:`5321`: Improve assignment regex to match more tuple unpacking syntax | |
552 | * :ghpull:`5325`: add NotebookNotary to NotebookApp's class list |
|
552 | * :ghpull:`5325`: add NotebookNotary to NotebookApp's class list | |
553 | * :ghpull:`5313`: avoid loading preprocessors twice |
|
553 | * :ghpull:`5313`: avoid loading preprocessors twice | |
554 | * :ghpull:`5308`: fix HTML capitalization in Highlight2HTML |
|
554 | * :ghpull:`5308`: fix HTML capitalization in Highlight2HTML | |
555 | * :ghpull:`5295`: OutputArea.append_type functions are not prototype methods |
|
555 | * :ghpull:`5295`: OutputArea.append_type functions are not prototype methods | |
556 | * :ghpull:`5318`: Fix local import of select_figure_formats |
|
556 | * :ghpull:`5318`: Fix local import of select_figure_formats | |
557 | * :ghpull:`5300`: Fix NameError: name '_rl' is not defined |
|
557 | * :ghpull:`5300`: Fix NameError: name '_rl' is not defined | |
558 | * :ghpull:`5292`: focus next cell on shift+enter |
|
558 | * :ghpull:`5292`: focus next cell on shift+enter | |
559 | * :ghpull:`5291`: debug occasional error in test_queue_status |
|
559 | * :ghpull:`5291`: debug occasional error in test_queue_status | |
560 | * :ghpull:`5289`: Finishing up #5274 (widget paths fixes) |
|
560 | * :ghpull:`5289`: Finishing up #5274 (widget paths fixes) | |
561 | * :ghpull:`5232`: Make nbconvert html full output like notebook's html. |
|
561 | * :ghpull:`5232`: Make nbconvert html full output like notebook's html. | |
562 | * :ghpull:`5288`: Correct initial state of kernel status indicator |
|
562 | * :ghpull:`5288`: Correct initial state of kernel status indicator | |
563 | * :ghpull:`5253`: display any output from this session in terminal console |
|
563 | * :ghpull:`5253`: display any output from this session in terminal console | |
564 | * :ghpull:`4802`: Tour of the notebook UI (was UI elements inline with highlighting) |
|
564 | * :ghpull:`4802`: Tour of the notebook UI (was UI elements inline with highlighting) | |
565 | * :ghpull:`5285`: Update signature presentation in pinfo classes |
|
565 | * :ghpull:`5285`: Update signature presentation in pinfo classes | |
566 | * :ghpull:`5268`: Refactoring Notebook.command_mode |
|
566 | * :ghpull:`5268`: Refactoring Notebook.command_mode | |
567 | * :ghpull:`5226`: Don't run PYTHONSTARTUP file if a file or code is passed |
|
567 | * :ghpull:`5226`: Don't run PYTHONSTARTUP file if a file or code is passed | |
568 | * :ghpull:`5283`: Remove Widget.closed attribute |
|
568 | * :ghpull:`5283`: Remove Widget.closed attribute | |
569 | * :ghpull:`5279`: nbconvert: Make sure node is atleast version 0.9.12 |
|
569 | * :ghpull:`5279`: nbconvert: Make sure node is atleast version 0.9.12 | |
570 | * :ghpull:`5281`: fix a typo introduced by a rebased PR |
|
570 | * :ghpull:`5281`: fix a typo introduced by a rebased PR | |
571 | * :ghpull:`5280`: append Firefox overflow-x fix |
|
571 | * :ghpull:`5280`: append Firefox overflow-x fix | |
572 | * :ghpull:`5277`: check that PIL can save JPEG to BytesIO |
|
572 | * :ghpull:`5277`: check that PIL can save JPEG to BytesIO | |
573 | * :ghpull:`5044`: Store timestamps for modules to autoreload |
|
573 | * :ghpull:`5044`: Store timestamps for modules to autoreload | |
574 | * :ghpull:`5278`: Update whatsnew doc from pr files |
|
574 | * :ghpull:`5278`: Update whatsnew doc from pr files | |
575 | * :ghpull:`5276`: Fix kernel restart in case connection file is deleted. |
|
575 | * :ghpull:`5276`: Fix kernel restart in case connection file is deleted. | |
576 | * :ghpull:`5272`: allow highlighting language to be set from notebook metadata |
|
576 | * :ghpull:`5272`: allow highlighting language to be set from notebook metadata | |
577 | * :ghpull:`5158`: log refusal to serve hidden directories |
|
577 | * :ghpull:`5158`: log refusal to serve hidden directories | |
578 | * :ghpull:`5188`: New events system |
|
578 | * :ghpull:`5188`: New events system | |
579 | * :ghpull:`5265`: Missing class def for TimeoutError |
|
579 | * :ghpull:`5265`: Missing class def for TimeoutError | |
580 | * :ghpull:`5267`: normalize unicode in notebook API tests |
|
580 | * :ghpull:`5267`: normalize unicode in notebook API tests | |
581 | * :ghpull:`5076`: Refactor keyboard handling |
|
581 | * :ghpull:`5076`: Refactor keyboard handling | |
582 | * :ghpull:`5241`: Add some tests for utils |
|
582 | * :ghpull:`5241`: Add some tests for utils | |
583 | * :ghpull:`5261`: Don't allow edit mode up arrow to continue past index == 0 |
|
583 | * :ghpull:`5261`: Don't allow edit mode up arrow to continue past index == 0 | |
584 | * :ghpull:`5223`: use on-load event to trigger resizable images |
|
584 | * :ghpull:`5223`: use on-load event to trigger resizable images | |
585 | * :ghpull:`5252`: make one strptime call at import of jsonutil |
|
585 | * :ghpull:`5252`: make one strptime call at import of jsonutil | |
586 | * :ghpull:`5153`: Dashboard sorting |
|
586 | * :ghpull:`5153`: Dashboard sorting | |
587 | * :ghpull:`5169`: Allow custom header |
|
587 | * :ghpull:`5169`: Allow custom header | |
588 | * :ghpull:`5242`: clear _reply_content cache before using it |
|
588 | * :ghpull:`5242`: clear _reply_content cache before using it | |
589 | * :ghpull:`5194`: require latex titles to be ascii |
|
589 | * :ghpull:`5194`: require latex titles to be ascii | |
590 | * :ghpull:`5244`: try to avoid EADDRINUSE errors on travis |
|
590 | * :ghpull:`5244`: try to avoid EADDRINUSE errors on travis | |
591 | * :ghpull:`5245`: support extracted output in HTML template |
|
591 | * :ghpull:`5245`: support extracted output in HTML template | |
592 | * :ghpull:`5209`: make input_area css generic to cells |
|
592 | * :ghpull:`5209`: make input_area css generic to cells | |
593 | * :ghpull:`5246`: less %pylab, more cowbell! |
|
593 | * :ghpull:`5246`: less %pylab, more cowbell! | |
594 | * :ghpull:`4895`: Improvements to %run completions |
|
594 | * :ghpull:`4895`: Improvements to %run completions | |
595 | * :ghpull:`5243`: Add Javscript to base display priority list. |
|
595 | * :ghpull:`5243`: Add Javscript to base display priority list. | |
596 | * :ghpull:`5175`: Audit .html() calls take #2 |
|
596 | * :ghpull:`5175`: Audit .html() calls take #2 | |
597 | * :ghpull:`5146`: Dual mode bug fixes. |
|
597 | * :ghpull:`5146`: Dual mode bug fixes. | |
598 | * :ghpull:`5207`: Children fire event |
|
598 | * :ghpull:`5207`: Children fire event | |
599 | * :ghpull:`5215`: Dashboard "Running" Tab |
|
599 | * :ghpull:`5215`: Dashboard "Running" Tab | |
600 | * :ghpull:`5240`: Remove unused IPython.nbconvert.utils.console module |
|
600 | * :ghpull:`5240`: Remove unused IPython.nbconvert.utils.console module | |
601 | * :ghpull:`5239`: Fix exclusion of tests directories from coverage reports |
|
601 | * :ghpull:`5239`: Fix exclusion of tests directories from coverage reports | |
602 | * :ghpull:`5203`: capture some logging/warning output in some tests |
|
602 | * :ghpull:`5203`: capture some logging/warning output in some tests | |
603 | * :ghpull:`5216`: fixup positional arg handling in notebook app |
|
603 | * :ghpull:`5216`: fixup positional arg handling in notebook app | |
604 | * :ghpull:`5229`: get _ipython_display_ method safely |
|
604 | * :ghpull:`5229`: get _ipython_display_ method safely | |
605 | * :ghpull:`5234`: DOC : modified docs is HasTraits.traits and HasTraits.class_traits |
|
605 | * :ghpull:`5234`: DOC : modified docs is HasTraits.traits and HasTraits.class_traits | |
606 | * :ghpull:`5221`: Change widget children List to Tuple. |
|
606 | * :ghpull:`5221`: Change widget children List to Tuple. | |
607 | * :ghpull:`5231`: don't forget base_url when updating address bar in rename |
|
607 | * :ghpull:`5231`: don't forget base_url when updating address bar in rename | |
608 | * :ghpull:`5173`: Moved widget files into static/widgets/* |
|
608 | * :ghpull:`5173`: Moved widget files into static/widgets/* | |
609 | * :ghpull:`5222`: Unset PYTHONWARNINGS envvar before running subprocess tests. |
|
609 | * :ghpull:`5222`: Unset PYTHONWARNINGS envvar before running subprocess tests. | |
610 | * :ghpull:`5172`: Prevent page breaks when printing notebooks via print-view. |
|
610 | * :ghpull:`5172`: Prevent page breaks when printing notebooks via print-view. | |
611 | * :ghpull:`4985`: Add automatic Closebrackets function to Codemirror. |
|
611 | * :ghpull:`4985`: Add automatic Closebrackets function to Codemirror. | |
612 | * :ghpull:`5220`: Make traitlets notify check more robust against classes redefining equality and bool |
|
612 | * :ghpull:`5220`: Make traitlets notify check more robust against classes redefining equality and bool | |
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. |
|
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 | * :ghpull:`5210`: fix pyreadline import in rlineimpl |
|
614 | * :ghpull:`5210`: fix pyreadline import in rlineimpl | |
615 | * :ghpull:`5212`: Wrap nbconvert Markdown/Heading cells in live divs |
|
615 | * :ghpull:`5212`: Wrap nbconvert Markdown/Heading cells in live divs | |
616 | * :ghpull:`5200`: Allow to pass option to jinja env |
|
616 | * :ghpull:`5200`: Allow to pass option to jinja env | |
617 | * :ghpull:`5202`: handle nodejs executable on debian |
|
617 | * :ghpull:`5202`: handle nodejs executable on debian | |
618 | * :ghpull:`5112`: band-aid for completion |
|
618 | * :ghpull:`5112`: band-aid for completion | |
619 | * :ghpull:`5187`: handle missing output metadata in nbconvert |
|
619 | * :ghpull:`5187`: handle missing output metadata in nbconvert | |
620 | * :ghpull:`5181`: use gnureadline on OS X |
|
620 | * :ghpull:`5181`: use gnureadline on OS X | |
621 | * :ghpull:`5136`: set default value from signature defaults in interact |
|
621 | * :ghpull:`5136`: set default value from signature defaults in interact | |
622 | * :ghpull:`5132`: remove application/pdf->pdf transform in javascript |
|
622 | * :ghpull:`5132`: remove application/pdf->pdf transform in javascript | |
623 | * :ghpull:`5116`: reorganize who knows what about paths |
|
623 | * :ghpull:`5116`: reorganize who knows what about paths | |
624 | * :ghpull:`5165`: Don't introspect __call__ for simple callables |
|
624 | * :ghpull:`5165`: Don't introspect __call__ for simple callables | |
625 | * :ghpull:`5170`: Added msg_throttle sync=True widget traitlet |
|
625 | * :ghpull:`5170`: Added msg_throttle sync=True widget traitlet | |
626 | * :ghpull:`5191`: Translate markdown link to rst |
|
626 | * :ghpull:`5191`: Translate markdown link to rst | |
627 | * :ghpull:`5037`: FF Fix: alignment and scale of text widget |
|
627 | * :ghpull:`5037`: FF Fix: alignment and scale of text widget | |
628 | * :ghpull:`5179`: remove websocket url |
|
628 | * :ghpull:`5179`: remove websocket url | |
629 | * :ghpull:`5110`: add InlineBackend.print_figure_kwargs |
|
629 | * :ghpull:`5110`: add InlineBackend.print_figure_kwargs | |
630 | * :ghpull:`5147`: Some template URL changes |
|
630 | * :ghpull:`5147`: Some template URL changes | |
631 | * :ghpull:`5100`: remove base_kernel_url |
|
631 | * :ghpull:`5100`: remove base_kernel_url | |
632 | * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory. |
|
632 | * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory. | |
633 | * :ghpull:`5166`: remove mktemp usage |
|
633 | * :ghpull:`5166`: remove mktemp usage | |
634 | * :ghpull:`5133`: don't use combine option on ucs package |
|
634 | * :ghpull:`5133`: don't use combine option on ucs package | |
635 | * :ghpull:`5089`: Remove legacy azure nbmanager |
|
635 | * :ghpull:`5089`: Remove legacy azure nbmanager | |
636 | * :ghpull:`5159`: remove append_json reference |
|
636 | * :ghpull:`5159`: remove append_json reference | |
637 | * :ghpull:`5095`: handle image size metadata in nbconvert html |
|
637 | * :ghpull:`5095`: handle image size metadata in nbconvert html | |
638 | * :ghpull:`5156`: fix IPython typo, closes #5155 |
|
638 | * :ghpull:`5156`: fix IPython typo, closes #5155 | |
639 | * :ghpull:`5150`: fix a link that was broken |
|
639 | * :ghpull:`5150`: fix a link that was broken | |
640 | * :ghpull:`5114`: use non-breaking space for button with no description |
|
640 | * :ghpull:`5114`: use non-breaking space for button with no description | |
641 | * :ghpull:`4778`: add APIs for installing notebook extensions |
|
641 | * :ghpull:`4778`: add APIs for installing notebook extensions | |
642 | * :ghpull:`5125`: Fix the display of functions with keyword-only arguments on Python 3. |
|
642 | * :ghpull:`5125`: Fix the display of functions with keyword-only arguments on Python 3. | |
643 | * :ghpull:`5097`: minor notebook logging changes |
|
643 | * :ghpull:`5097`: minor notebook logging changes | |
644 | * :ghpull:`5047`: only validate package_data when it might be used |
|
644 | * :ghpull:`5047`: only validate package_data when it might be used | |
645 | * :ghpull:`5121`: fix remove event in KeyboardManager.register_events |
|
645 | * :ghpull:`5121`: fix remove event in KeyboardManager.register_events | |
646 | * :ghpull:`5119`: Removed 'list' view from Variable Inspector example |
|
646 | * :ghpull:`5119`: Removed 'list' view from Variable Inspector example | |
647 | * :ghpull:`4925`: Notebook manager api fixes |
|
647 | * :ghpull:`4925`: Notebook manager api fixes | |
648 | * :ghpull:`4996`: require print_method to be a bound method |
|
648 | * :ghpull:`4996`: require print_method to be a bound method | |
649 | * :ghpull:`5108`: require specifying the version for gh-pages |
|
649 | * :ghpull:`5108`: require specifying the version for gh-pages | |
650 | * :ghpull:`5111`: Minor typo in docstring of IPython.parallel DirectView |
|
650 | * :ghpull:`5111`: Minor typo in docstring of IPython.parallel DirectView | |
651 | * :ghpull:`5098`: mostly debugging changes for IPython.parallel |
|
651 | * :ghpull:`5098`: mostly debugging changes for IPython.parallel | |
652 | * :ghpull:`5087`: trust cells with no output |
|
652 | * :ghpull:`5087`: trust cells with no output | |
653 | * :ghpull:`5059`: Fix incorrect `Patch` logic in widget code |
|
653 | * :ghpull:`5059`: Fix incorrect `Patch` logic in widget code | |
654 | * :ghpull:`5075`: More flexible box model fixes |
|
654 | * :ghpull:`5075`: More flexible box model fixes | |
655 | * :ghpull:`5091`: Provide logging messages in ipcluster log when engine or controllers fail to start |
|
655 | * :ghpull:`5091`: Provide logging messages in ipcluster log when engine or controllers fail to start | |
656 | * :ghpull:`5090`: Print a warning when iptest is run from the IPython source directory |
|
656 | * :ghpull:`5090`: Print a warning when iptest is run from the IPython source directory | |
657 | * :ghpull:`5077`: flush replies when entering an eventloop |
|
657 | * :ghpull:`5077`: flush replies when entering an eventloop | |
658 | * :ghpull:`5055`: Minimal changes to import IPython from IronPython |
|
658 | * :ghpull:`5055`: Minimal changes to import IPython from IronPython | |
659 | * :ghpull:`5078`: Updating JS tests README.md |
|
659 | * :ghpull:`5078`: Updating JS tests README.md | |
660 | * :ghpull:`5083`: don't create js test directories unless they are being used |
|
660 | * :ghpull:`5083`: don't create js test directories unless they are being used | |
661 | * :ghpull:`5062`: adjust some events in nb_roundtrip |
|
661 | * :ghpull:`5062`: adjust some events in nb_roundtrip | |
662 | * :ghpull:`5043`: various unicode / url fixes |
|
662 | * :ghpull:`5043`: various unicode / url fixes | |
663 | * :ghpull:`5066`: remove (almost) all mentions of pylab from our examples |
|
663 | * :ghpull:`5066`: remove (almost) all mentions of pylab from our examples | |
664 | * :ghpull:`4977`: ensure scp destination directories exist (with mkdir -p) |
|
664 | * :ghpull:`4977`: ensure scp destination directories exist (with mkdir -p) | |
665 | * :ghpull:`5053`: Move&rename JS tests |
|
665 | * :ghpull:`5053`: Move&rename JS tests | |
666 | * :ghpull:`5067`: show traceback in widget handlers |
|
666 | * :ghpull:`5067`: show traceback in widget handlers | |
667 | * :ghpull:`4920`: Adding PDFFormatter and kernel side handling of PDF display data |
|
667 | * :ghpull:`4920`: Adding PDFFormatter and kernel side handling of PDF display data | |
668 | * :ghpull:`5048`: Add edit/command mode indicator |
|
668 | * :ghpull:`5048`: Add edit/command mode indicator | |
669 | * :ghpull:`5061`: make execute button in menu bar match shift-enter |
|
669 | * :ghpull:`5061`: make execute button in menu bar match shift-enter | |
670 | * :ghpull:`5052`: Add q to toggle the pager. |
|
670 | * :ghpull:`5052`: Add q to toggle the pager. | |
671 | * :ghpull:`5070`: fix flex: auto |
|
671 | * :ghpull:`5070`: fix flex: auto | |
672 | * :ghpull:`5065`: Add example of using annotations in interact |
|
672 | * :ghpull:`5065`: Add example of using annotations in interact | |
673 | * :ghpull:`5063`: another pass on Interact example notebooks |
|
673 | * :ghpull:`5063`: another pass on Interact example notebooks | |
674 | * :ghpull:`5051`: FF Fix: code cell missing hscroll (2) |
|
674 | * :ghpull:`5051`: FF Fix: code cell missing hscroll (2) | |
675 | * :ghpull:`4960`: Interact/Interactive for widget |
|
675 | * :ghpull:`4960`: Interact/Interactive for widget | |
676 | * :ghpull:`5045`: Clear timeout in multi-press keyboard shortcuts. |
|
676 | * :ghpull:`5045`: Clear timeout in multi-press keyboard shortcuts. | |
677 | * :ghpull:`5060`: Change 'bind' to 'link' |
|
677 | * :ghpull:`5060`: Change 'bind' to 'link' | |
678 | * :ghpull:`5039`: Expose kernel_info method on inprocess kernel client |
|
678 | * :ghpull:`5039`: Expose kernel_info method on inprocess kernel client | |
679 | * :ghpull:`5058`: Fix iopubwatcher.py example script. |
|
679 | * :ghpull:`5058`: Fix iopubwatcher.py example script. | |
680 | * :ghpull:`5035`: FF Fix: code cell missing hscroll |
|
680 | * :ghpull:`5035`: FF Fix: code cell missing hscroll | |
681 | * :ghpull:`5040`: Polishing some docs |
|
681 | * :ghpull:`5040`: Polishing some docs | |
682 | * :ghpull:`5001`: Add directory navigation to dashboard |
|
682 | * :ghpull:`5001`: Add directory navigation to dashboard | |
683 | * :ghpull:`5042`: Remove duplicated Channel ABC classes. |
|
683 | * :ghpull:`5042`: Remove duplicated Channel ABC classes. | |
684 | * :ghpull:`5036`: FF Fix: ext link icon same line as link text in help menu |
|
684 | * :ghpull:`5036`: FF Fix: ext link icon same line as link text in help menu | |
685 | * :ghpull:`4975`: setup.py changes for 2.0 |
|
685 | * :ghpull:`4975`: setup.py changes for 2.0 | |
686 | * :ghpull:`4774`: emit event on appended element on dom |
|
686 | * :ghpull:`4774`: emit event on appended element on dom | |
687 | * :ghpull:`5023`: Widgets- add ability to pack and unpack arrays on JS side. |
|
687 | * :ghpull:`5023`: Widgets- add ability to pack and unpack arrays on JS side. | |
688 | * :ghpull:`5003`: Fix pretty reprs of super() objects |
|
688 | * :ghpull:`5003`: Fix pretty reprs of super() objects | |
689 | * :ghpull:`4974`: make paste focus the pasted cell |
|
689 | * :ghpull:`4974`: make paste focus the pasted cell | |
690 | * :ghpull:`5012`: Make `SelectionWidget.values` a dict |
|
690 | * :ghpull:`5012`: Make `SelectionWidget.values` a dict | |
691 | * :ghpull:`5018`: Prevent 'iptest IPython' from trying to run. |
|
691 | * :ghpull:`5018`: Prevent 'iptest IPython' from trying to run. | |
692 | * :ghpull:`5025`: citation2latex filter (using HTMLParser) |
|
692 | * :ghpull:`5025`: citation2latex filter (using HTMLParser) | |
693 | * :ghpull:`5027`: pin lessc to 1.4 |
|
693 | * :ghpull:`5027`: pin lessc to 1.4 | |
694 | * :ghpull:`4952`: Widget test inconsistencies |
|
694 | * :ghpull:`4952`: Widget test inconsistencies | |
695 | * :ghpull:`5014`: Fix command mode & popup view bug |
|
695 | * :ghpull:`5014`: Fix command mode & popup view bug | |
696 | * :ghpull:`4842`: more subtle kernel indicator |
|
696 | * :ghpull:`4842`: more subtle kernel indicator | |
697 | * :ghpull:`5017`: Add notebook examples link to help menu. |
|
697 | * :ghpull:`5017`: Add notebook examples link to help menu. | |
698 | * :ghpull:`5015`: don't write cell.trusted to disk |
|
698 | * :ghpull:`5015`: don't write cell.trusted to disk | |
699 | * :ghpull:`5007`: Update whatsnew doc from PR files |
|
699 | * :ghpull:`5007`: Update whatsnew doc from PR files | |
700 | * :ghpull:`5010`: Fixes for widget alignment in FF |
|
700 | * :ghpull:`5010`: Fixes for widget alignment in FF | |
701 | * :ghpull:`4901`: Add a convenience class to sync traitlet attributes |
|
701 | * :ghpull:`4901`: Add a convenience class to sync traitlet attributes | |
702 | * :ghpull:`5008`: updated explanation of 'pyin' messages |
|
702 | * :ghpull:`5008`: updated explanation of 'pyin' messages | |
703 | * :ghpull:`5004`: Fix widget vslider spacing |
|
703 | * :ghpull:`5004`: Fix widget vslider spacing | |
704 | * :ghpull:`4933`: Small Widget inconsistency fixes |
|
704 | * :ghpull:`4933`: Small Widget inconsistency fixes | |
705 | * :ghpull:`4979`: add versioning notes to small message spec changes |
|
705 | * :ghpull:`4979`: add versioning notes to small message spec changes | |
706 | * :ghpull:`4893`: add font-awesome 3.2.1 |
|
706 | * :ghpull:`4893`: add font-awesome 3.2.1 | |
707 | * :ghpull:`4982`: Live readout for slider widgets |
|
707 | * :ghpull:`4982`: Live readout for slider widgets | |
708 | * :ghpull:`4813`: make help menu a template |
|
708 | * :ghpull:`4813`: make help menu a template | |
709 | * :ghpull:`4939`: Embed qtconsole docs (continued) |
|
709 | * :ghpull:`4939`: Embed qtconsole docs (continued) | |
710 | * :ghpull:`4964`: remove shift-= merge keyboard shortcut |
|
710 | * :ghpull:`4964`: remove shift-= merge keyboard shortcut | |
711 | * :ghpull:`4504`: Allow input transformers to raise SyntaxError |
|
711 | * :ghpull:`4504`: Allow input transformers to raise SyntaxError | |
712 | * :ghpull:`4929`: Fixing various modal/focus related bugs |
|
712 | * :ghpull:`4929`: Fixing various modal/focus related bugs | |
713 | * :ghpull:`4971`: Fixing issues with js tests |
|
713 | * :ghpull:`4971`: Fixing issues with js tests | |
714 | * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt |
|
714 | * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt | |
715 | * :ghpull:`4937`: pickle arrays with dtype=object |
|
715 | * :ghpull:`4937`: pickle arrays with dtype=object | |
716 | * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir` |
|
716 | * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir` | |
717 | * :ghpull:`4954`: generate unicode filename |
|
717 | * :ghpull:`4954`: generate unicode filename | |
718 | * :ghpull:`4845`: Add Origin Checking. |
|
718 | * :ghpull:`4845`: Add Origin Checking. | |
719 | * :ghpull:`4916`: Fine tuning the behavior of the modal UI |
|
719 | * :ghpull:`4916`: Fine tuning the behavior of the modal UI | |
720 | * :ghpull:`4966`: Ignore sys.argv for NotebookNotary in tests |
|
720 | * :ghpull:`4966`: Ignore sys.argv for NotebookNotary in tests | |
721 | * :ghpull:`4967`: Fix typo in warning about web socket being closed |
|
721 | * :ghpull:`4967`: Fix typo in warning about web socket being closed | |
722 | * :ghpull:`4965`: Remove mention of iplogger from setup.py |
|
722 | * :ghpull:`4965`: Remove mention of iplogger from setup.py | |
723 | * :ghpull:`4962`: Fixed typos in quick-help text |
|
723 | * :ghpull:`4962`: Fixed typos in quick-help text | |
724 | * :ghpull:`4953`: add utils.wait_for_idle in js tests |
|
724 | * :ghpull:`4953`: add utils.wait_for_idle in js tests | |
725 | * :ghpull:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress |
|
725 | * :ghpull:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress | |
726 | * :ghpull:`4662`: Menu cleanup |
|
726 | * :ghpull:`4662`: Menu cleanup | |
727 | * :ghpull:`4824`: sign notebooks |
|
727 | * :ghpull:`4824`: sign notebooks | |
728 | * :ghpull:`4943`: Docs shotgun 4 |
|
728 | * :ghpull:`4943`: Docs shotgun 4 | |
729 | * :ghpull:`4848`: avoid import of nearby temporary with %edit |
|
729 | * :ghpull:`4848`: avoid import of nearby temporary with %edit | |
730 | * :ghpull:`4950`: Two fixes for file upload related bugs |
|
730 | * :ghpull:`4950`: Two fixes for file upload related bugs | |
731 | * :ghpull:`4927`: there shouldn't be a 'files/' prefix in FileLink[s] |
|
731 | * :ghpull:`4927`: there shouldn't be a 'files/' prefix in FileLink[s] | |
732 | * :ghpull:`4928`: use importlib.machinery when available |
|
732 | * :ghpull:`4928`: use importlib.machinery when available | |
733 | * :ghpull:`4949`: Remove the docscrape modules, which are part of numpydoc |
|
733 | * :ghpull:`4949`: Remove the docscrape modules, which are part of numpydoc | |
734 | * :ghpull:`4849`: Various unicode fixes (mostly on Windows) |
|
734 | * :ghpull:`4849`: Various unicode fixes (mostly on Windows) | |
735 | * :ghpull:`4932`: always point py3compat.input to builtin_mod.input |
|
735 | * :ghpull:`4932`: always point py3compat.input to builtin_mod.input | |
736 | * :ghpull:`4807`: Correct handling of ansi colour codes when nbconverting to latex |
|
736 | * :ghpull:`4807`: Correct handling of ansi colour codes when nbconverting to latex | |
737 | * :ghpull:`4922`: Python nbconvert output shouldn't have output |
|
737 | * :ghpull:`4922`: Python nbconvert output shouldn't have output | |
738 | * :ghpull:`4912`: Skip some Windows io failures |
|
738 | * :ghpull:`4912`: Skip some Windows io failures | |
739 | * :ghpull:`4919`: flush output before showing tracebacks |
|
739 | * :ghpull:`4919`: flush output before showing tracebacks | |
740 | * :ghpull:`4915`: ZMQCompleter inherits from IPCompleter |
|
740 | * :ghpull:`4915`: ZMQCompleter inherits from IPCompleter | |
741 | * :ghpull:`4890`: better cleanup channel FDs |
|
741 | * :ghpull:`4890`: better cleanup channel FDs | |
742 | * :ghpull:`4880`: set profile name from profile_dir |
|
742 | * :ghpull:`4880`: set profile name from profile_dir | |
743 | * :ghpull:`4853`: fix setting image height/width from metadata |
|
743 | * :ghpull:`4853`: fix setting image height/width from metadata | |
744 | * :ghpull:`4786`: Reduce spacing of heading cells |
|
744 | * :ghpull:`4786`: Reduce spacing of heading cells | |
745 | * :ghpull:`4680`: Minimal pandoc version warning |
|
745 | * :ghpull:`4680`: Minimal pandoc version warning | |
746 | * :ghpull:`4908`: detect builtin docstrings in oinspect |
|
746 | * :ghpull:`4908`: detect builtin docstrings in oinspect | |
747 | * :ghpull:`4911`: Don't use `python -m package` on Windows Python 2 |
|
747 | * :ghpull:`4911`: Don't use `python -m package` on Windows Python 2 | |
748 | * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed |
|
748 | * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed | |
749 | * :ghpull:`4374`: IPEP 23: Backbone.js Widgets |
|
749 | * :ghpull:`4374`: IPEP 23: Backbone.js Widgets | |
750 | * :ghpull:`4903`: use https for all embeds |
|
750 | * :ghpull:`4903`: use https for all embeds | |
751 | * :ghpull:`4894`: Shortcut changes |
|
751 | * :ghpull:`4894`: Shortcut changes | |
752 | * :ghpull:`4897`: More detailed documentation about kernel_cmd |
|
752 | * :ghpull:`4897`: More detailed documentation about kernel_cmd | |
753 | * :ghpull:`4891`: Squash a few Sphinx warnings from nbconvert.utils.lexers docstrings |
|
753 | * :ghpull:`4891`: Squash a few Sphinx warnings from nbconvert.utils.lexers docstrings | |
754 | * :ghpull:`4679`: JPG compression for inline pylab |
|
754 | * :ghpull:`4679`: JPG compression for inline pylab | |
755 | * :ghpull:`4708`: Fix indent and center |
|
755 | * :ghpull:`4708`: Fix indent and center | |
756 | * :ghpull:`4789`: fix IPython.embed |
|
756 | * :ghpull:`4789`: fix IPython.embed | |
757 | * :ghpull:`4655`: prefer marked to pandoc for markdown2html |
|
757 | * :ghpull:`4655`: prefer marked to pandoc for markdown2html | |
758 | * :ghpull:`4876`: don't show tooltip if object is not found |
|
758 | * :ghpull:`4876`: don't show tooltip if object is not found | |
759 | * :ghpull:`4873`: use 'combine' option to ucs package |
|
759 | * :ghpull:`4873`: use 'combine' option to ucs package | |
760 | * :ghpull:`4732`: Accents in notebook names and in command-line (nbconvert) |
|
760 | * :ghpull:`4732`: Accents in notebook names and in command-line (nbconvert) | |
761 | * :ghpull:`4867`: Update URL for Lawrence Hall of Science webcam image |
|
761 | * :ghpull:`4867`: Update URL for Lawrence Hall of Science webcam image | |
762 | * :ghpull:`4868`: Static path fixes |
|
762 | * :ghpull:`4868`: Static path fixes | |
763 | * :ghpull:`4858`: fix tb_offset when running a file |
|
763 | * :ghpull:`4858`: fix tb_offset when running a file | |
764 | * :ghpull:`4826`: some $.html( -> $.text( |
|
764 | * :ghpull:`4826`: some $.html( -> $.text( | |
765 | * :ghpull:`4847`: add js kernel_info request |
|
765 | * :ghpull:`4847`: add js kernel_info request | |
766 | * :ghpull:`4832`: allow NotImplementedError in formatters |
|
766 | * :ghpull:`4832`: allow NotImplementedError in formatters | |
767 | * :ghpull:`4803`: BUG: fix cython magic support in ipython_directive |
|
767 | * :ghpull:`4803`: BUG: fix cython magic support in ipython_directive | |
768 | * :ghpull:`4865`: `build` listed twice in .gitignore. Removing one. |
|
768 | * :ghpull:`4865`: `build` listed twice in .gitignore. Removing one. | |
769 | * :ghpull:`4851`: fix tooltip token regex for single-character names |
|
769 | * :ghpull:`4851`: fix tooltip token regex for single-character names | |
770 | * :ghpull:`4846`: Remove some leftover traces of irunner |
|
770 | * :ghpull:`4846`: Remove some leftover traces of irunner | |
771 | * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster |
|
771 | * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster | |
772 | * :ghpull:`4844`: adjustments to notebook app logging |
|
772 | * :ghpull:`4844`: adjustments to notebook app logging | |
773 | * :ghpull:`4840`: Error in Session.send_raw() |
|
773 | * :ghpull:`4840`: Error in Session.send_raw() | |
774 | * :ghpull:`4819`: update CodeMirror to 3.21 |
|
774 | * :ghpull:`4819`: update CodeMirror to 3.21 | |
775 | * :ghpull:`4823`: Minor fixes for typos/inconsistencies in parallel docs |
|
775 | * :ghpull:`4823`: Minor fixes for typos/inconsistencies in parallel docs | |
776 | * :ghpull:`4811`: document code mirror tab and shift-tab |
|
776 | * :ghpull:`4811`: document code mirror tab and shift-tab | |
777 | * :ghpull:`4795`: merge reveal templates |
|
777 | * :ghpull:`4795`: merge reveal templates | |
778 | * :ghpull:`4796`: update components |
|
778 | * :ghpull:`4796`: update components | |
779 | * :ghpull:`4806`: Correct order of packages for unicode in nbconvert to LaTeX |
|
779 | * :ghpull:`4806`: Correct order of packages for unicode in nbconvert to LaTeX | |
780 | * :ghpull:`4800`: Qt frontend: Handle 'aborted' prompt replies. |
|
780 | * :ghpull:`4800`: Qt frontend: Handle 'aborted' prompt replies. | |
781 | * :ghpull:`4794`: Compatibility fix for Python3 (Issue #4783 ) |
|
781 | * :ghpull:`4794`: Compatibility fix for Python3 (Issue #4783 ) | |
782 | * :ghpull:`4799`: minor js test fix |
|
782 | * :ghpull:`4799`: minor js test fix | |
783 | * :ghpull:`4788`: warn when notebook is started in pylab mode |
|
783 | * :ghpull:`4788`: warn when notebook is started in pylab mode | |
784 | * :ghpull:`4772`: Notebook server info files |
|
784 | * :ghpull:`4772`: Notebook server info files | |
785 | * :ghpull:`4797`: be conservative about kernel_info implementation |
|
785 | * :ghpull:`4797`: be conservative about kernel_info implementation | |
786 | * :ghpull:`4787`: non-python kernels run python code with qtconsole |
|
786 | * :ghpull:`4787`: non-python kernels run python code with qtconsole | |
787 | * :ghpull:`4565`: various display type validations |
|
787 | * :ghpull:`4565`: various display type validations | |
788 | * :ghpull:`4703`: Math macro in jinja templates. |
|
788 | * :ghpull:`4703`: Math macro in jinja templates. | |
789 | * :ghpull:`4781`: Fix "Source" text for the "Other Syntax" section of the "Typesetting Math" notebook |
|
789 | * :ghpull:`4781`: Fix "Source" text for the "Other Syntax" section of the "Typesetting Math" notebook | |
790 | * :ghpull:`4776`: Manually document py3compat module. |
|
790 | * :ghpull:`4776`: Manually document py3compat module. | |
791 | * :ghpull:`4533`: propagate display metadata to all mimetypes |
|
791 | * :ghpull:`4533`: propagate display metadata to all mimetypes | |
792 | * :ghpull:`4785`: Replacing a for-in loop by an index loop on an array |
|
792 | * :ghpull:`4785`: Replacing a for-in loop by an index loop on an array | |
793 | * :ghpull:`4780`: Updating CSS for UI example. |
|
793 | * :ghpull:`4780`: Updating CSS for UI example. | |
794 | * :ghpull:`3605`: Modal UI |
|
794 | * :ghpull:`3605`: Modal UI | |
795 | * :ghpull:`4758`: Python 3.4 fixes |
|
795 | * :ghpull:`4758`: Python 3.4 fixes | |
796 | * :ghpull:`4735`: add some HTML error pages |
|
796 | * :ghpull:`4735`: add some HTML error pages | |
797 | * :ghpull:`4775`: Update whatsnew doc from PR files |
|
797 | * :ghpull:`4775`: Update whatsnew doc from PR files | |
798 | * :ghpull:`4760`: Make examples and docs more Python 3 aware |
|
798 | * :ghpull:`4760`: Make examples and docs more Python 3 aware | |
799 | * :ghpull:`4773`: Don't wait forever for notebook server to launch/die for tests |
|
799 | * :ghpull:`4773`: Don't wait forever for notebook server to launch/die for tests | |
800 | * :ghpull:`4768`: Qt console: Fix _prompt_pos accounting on timer flush output. |
|
800 | * :ghpull:`4768`: Qt console: Fix _prompt_pos accounting on timer flush output. | |
801 | * :ghpull:`4727`: Remove Nbconvert template loading magic |
|
801 | * :ghpull:`4727`: Remove Nbconvert template loading magic | |
802 | * :ghpull:`4763`: Set numpydoc options to produce fewer Sphinx warnings. |
|
802 | * :ghpull:`4763`: Set numpydoc options to produce fewer Sphinx warnings. | |
803 | * :ghpull:`4770`: always define aliases, even if empty |
|
803 | * :ghpull:`4770`: always define aliases, even if empty | |
804 | * :ghpull:`4766`: add `python -m` entry points for everything |
|
804 | * :ghpull:`4766`: add `python -m` entry points for everything | |
805 | * :ghpull:`4767`: remove manpages for irunner, iplogger |
|
805 | * :ghpull:`4767`: remove manpages for irunner, iplogger | |
806 | * :ghpull:`4751`: Added --post-serve explanation into the nbconvert docs. |
|
806 | * :ghpull:`4751`: Added --post-serve explanation into the nbconvert docs. | |
807 | * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name |
|
807 | * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name | |
808 | * :ghpull:`4625`: Deprecate %profile magic |
|
808 | * :ghpull:`4625`: Deprecate %profile magic | |
809 | * :ghpull:`4745`: warn on failed formatter calls |
|
809 | * :ghpull:`4745`: warn on failed formatter calls | |
810 | * :ghpull:`4746`: remove redundant cls alias on Windows |
|
810 | * :ghpull:`4746`: remove redundant cls alias on Windows | |
811 | * :ghpull:`4749`: Fix bug in determination of public ips. |
|
811 | * :ghpull:`4749`: Fix bug in determination of public ips. | |
812 | * :ghpull:`4715`: restore use of tornado static_url in templates |
|
812 | * :ghpull:`4715`: restore use of tornado static_url in templates | |
813 | * :ghpull:`4748`: fix race condition in profiledir creation. |
|
813 | * :ghpull:`4748`: fix race condition in profiledir creation. | |
814 | * :ghpull:`4720`: never use ssh multiplexer in tunnels |
|
814 | * :ghpull:`4720`: never use ssh multiplexer in tunnels | |
815 | * :ghpull:`4658`: Bug fix for #4643: Regex object needs to be reset between calls in toolt... |
|
815 | * :ghpull:`4658`: Bug fix for #4643: Regex object needs to be reset between calls in toolt... | |
816 | * :ghpull:`4561`: Add Formatter.pop(type) |
|
816 | * :ghpull:`4561`: Add Formatter.pop(type) | |
817 | * :ghpull:`4712`: Docs shotgun 3 |
|
817 | * :ghpull:`4712`: Docs shotgun 3 | |
818 | * :ghpull:`4713`: Fix saving kernel history in Python 2 |
|
818 | * :ghpull:`4713`: Fix saving kernel history in Python 2 | |
819 | * :ghpull:`4744`: don't use lazily-evaluated rc.ids in wait_for_idle |
|
819 | * :ghpull:`4744`: don't use lazily-evaluated rc.ids in wait_for_idle | |
820 | * :ghpull:`4740`: %env can't set variables |
|
820 | * :ghpull:`4740`: %env can't set variables | |
821 | * :ghpull:`4737`: check every link when detecting virutalenv |
|
821 | * :ghpull:`4737`: check every link when detecting virutalenv | |
822 | * :ghpull:`4738`: don't inject help into user_ns |
|
822 | * :ghpull:`4738`: don't inject help into user_ns | |
823 | * :ghpull:`4739`: skip html nbconvert tests when their dependencies are missing |
|
823 | * :ghpull:`4739`: skip html nbconvert tests when their dependencies are missing | |
824 | * :ghpull:`4730`: Fix stripping continuation prompts when copying from Qt console |
|
824 | * :ghpull:`4730`: Fix stripping continuation prompts when copying from Qt console | |
825 | * :ghpull:`4725`: Doc fixes |
|
825 | * :ghpull:`4725`: Doc fixes | |
826 | * :ghpull:`4656`: Nbconvert HTTP service |
|
826 | * :ghpull:`4656`: Nbconvert HTTP service | |
827 | * :ghpull:`4710`: make @interactive decorator friendlier with dill |
|
827 | * :ghpull:`4710`: make @interactive decorator friendlier with dill | |
828 | * :ghpull:`4722`: allow purging local results as long as they are not outstanding |
|
828 | * :ghpull:`4722`: allow purging local results as long as they are not outstanding | |
829 | * :ghpull:`4549`: Updated IPython console lexers. |
|
829 | * :ghpull:`4549`: Updated IPython console lexers. | |
830 | * :ghpull:`4570`: Update IPython directive |
|
830 | * :ghpull:`4570`: Update IPython directive | |
831 | * :ghpull:`4719`: Fix comment typo in prefilter.py |
|
831 | * :ghpull:`4719`: Fix comment typo in prefilter.py | |
832 | * :ghpull:`4575`: make sure to encode URL components for API requests |
|
832 | * :ghpull:`4575`: make sure to encode URL components for API requests | |
833 | * :ghpull:`4718`: Fixed typo in displaypub |
|
833 | * :ghpull:`4718`: Fixed typo in displaypub | |
834 | * :ghpull:`4716`: Remove input_prefilter hook |
|
834 | * :ghpull:`4716`: Remove input_prefilter hook | |
835 | * :ghpull:`4691`: survive failure to bind to localhost in zmq.iostream |
|
835 | * :ghpull:`4691`: survive failure to bind to localhost in zmq.iostream | |
836 | * :ghpull:`4696`: don't do anything if add_anchor fails |
|
836 | * :ghpull:`4696`: don't do anything if add_anchor fails | |
837 | * :ghpull:`4711`: some typos in the docs |
|
837 | * :ghpull:`4711`: some typos in the docs | |
838 | * :ghpull:`4700`: use if main block in entry points |
|
838 | * :ghpull:`4700`: use if main block in entry points | |
839 | * :ghpull:`4692`: setup.py symlink improvements |
|
839 | * :ghpull:`4692`: setup.py symlink improvements | |
840 | * :ghpull:`4265`: JSON configuration file |
|
840 | * :ghpull:`4265`: JSON configuration file | |
841 | * :ghpull:`4505`: Nbconvert latex markdown images2 |
|
841 | * :ghpull:`4505`: Nbconvert latex markdown images2 | |
842 | * :ghpull:`4608`: transparent background match ... all colors |
|
842 | * :ghpull:`4608`: transparent background match ... all colors | |
843 | * :ghpull:`4678`: allow ipython console to handle text/plain display |
|
843 | * :ghpull:`4678`: allow ipython console to handle text/plain display | |
844 | * :ghpull:`4706`: remove irunner, iplogger |
|
844 | * :ghpull:`4706`: remove irunner, iplogger | |
845 | * :ghpull:`4701`: Delete an old dictionary available for selecting the aligment of text. |
|
845 | * :ghpull:`4701`: Delete an old dictionary available for selecting the aligment of text. | |
846 | * :ghpull:`4702`: Making reveal font-size a relative unit. |
|
846 | * :ghpull:`4702`: Making reveal font-size a relative unit. | |
847 | * :ghpull:`4649`: added a quiet option to %cpaste to suppress output |
|
847 | * :ghpull:`4649`: added a quiet option to %cpaste to suppress output | |
848 | * :ghpull:`4690`: Option to spew subprocess streams during tests |
|
848 | * :ghpull:`4690`: Option to spew subprocess streams during tests | |
849 | * :ghpull:`4688`: Fixed various typos in docstrings. |
|
849 | * :ghpull:`4688`: Fixed various typos in docstrings. | |
850 | * :ghpull:`4645`: CasperJs utility functions. |
|
850 | * :ghpull:`4645`: CasperJs utility functions. | |
851 | * :ghpull:`4670`: Stop bundling the numpydoc Sphinx extension |
|
851 | * :ghpull:`4670`: Stop bundling the numpydoc Sphinx extension | |
852 | * :ghpull:`4675`: common IPython prefix for ModIndex |
|
852 | * :ghpull:`4675`: common IPython prefix for ModIndex | |
853 | * :ghpull:`4672`: Remove unused 'attic' module |
|
853 | * :ghpull:`4672`: Remove unused 'attic' module | |
854 | * :ghpull:`4671`: Fix docstrings in utils.text |
|
854 | * :ghpull:`4671`: Fix docstrings in utils.text | |
855 | * :ghpull:`4669`: add missing help strings to HistoryManager configurables |
|
855 | * :ghpull:`4669`: add missing help strings to HistoryManager configurables | |
856 | * :ghpull:`4668`: Make non-ASCII docstring unicode |
|
856 | * :ghpull:`4668`: Make non-ASCII docstring unicode | |
857 | * :ghpull:`4650`: added a note about sharing of nbconvert tempates |
|
857 | * :ghpull:`4650`: added a note about sharing of nbconvert tempates | |
858 | * :ghpull:`4646`: Fixing various output related things: |
|
858 | * :ghpull:`4646`: Fixing various output related things: | |
859 | * :ghpull:`4665`: check for libedit in readline on OS X |
|
859 | * :ghpull:`4665`: check for libedit in readline on OS X | |
860 | * :ghpull:`4606`: Make running PYTHONSTARTUP optional |
|
860 | * :ghpull:`4606`: Make running PYTHONSTARTUP optional | |
861 | * :ghpull:`4654`: Fixing left padding of text cells to match that of code cells. |
|
861 | * :ghpull:`4654`: Fixing left padding of text cells to match that of code cells. | |
862 | * :ghpull:`4306`: add raw_mimetype metadata to raw cells |
|
862 | * :ghpull:`4306`: add raw_mimetype metadata to raw cells | |
863 | * :ghpull:`4576`: Tighten up the vertical spacing on cells and make the padding of cells more consistent |
|
863 | * :ghpull:`4576`: Tighten up the vertical spacing on cells and make the padding of cells more consistent | |
864 | * :ghpull:`4353`: Don't reset the readline completer after each prompt |
|
864 | * :ghpull:`4353`: Don't reset the readline completer after each prompt | |
865 | * :ghpull:`4567`: Adding prompt area to non-CodeCells to indent content. |
|
865 | * :ghpull:`4567`: Adding prompt area to non-CodeCells to indent content. | |
866 | * :ghpull:`4446`: Use SVG plots in OctaveMagic by default due to lack of Ghostscript on Windows Octave |
|
866 | * :ghpull:`4446`: Use SVG plots in OctaveMagic by default due to lack of Ghostscript on Windows Octave | |
867 | * :ghpull:`4613`: remove configurable.created |
|
867 | * :ghpull:`4613`: remove configurable.created | |
868 | * :ghpull:`4631`: Use argument lists for command help tests |
|
868 | * :ghpull:`4631`: Use argument lists for command help tests | |
869 | * :ghpull:`4633`: Modifies test_get_long_path_name_winr32() to allow for long path names in temp dir |
|
869 | * :ghpull:`4633`: Modifies test_get_long_path_name_winr32() to allow for long path names in temp dir | |
870 | * :ghpull:`4642`: Allow docs to build without PyQt installed. |
|
870 | * :ghpull:`4642`: Allow docs to build without PyQt installed. | |
871 | * :ghpull:`4641`: Don't check for wx in the test suite. |
|
871 | * :ghpull:`4641`: Don't check for wx in the test suite. | |
872 | * :ghpull:`4622`: make QtConsole Lexer configurable |
|
872 | * :ghpull:`4622`: make QtConsole Lexer configurable | |
873 | * :ghpull:`4594`: Fixed #2923 Move Save Away from Cut in toolbar |
|
873 | * :ghpull:`4594`: Fixed #2923 Move Save Away from Cut in toolbar | |
874 | * :ghpull:`4593`: don't interfere with set_next_input contents in qtconsole |
|
874 | * :ghpull:`4593`: don't interfere with set_next_input contents in qtconsole | |
875 | * :ghpull:`4640`: Support matplotlib's Gtk3 backend in --pylab mode |
|
875 | * :ghpull:`4640`: Support matplotlib's Gtk3 backend in --pylab mode | |
876 | * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working |
|
876 | * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working | |
877 | * :ghpull:`4637`: Fixed typo in links.txt. |
|
877 | * :ghpull:`4637`: Fixed typo in links.txt. | |
878 | * :ghpull:`4634`: Fix nbrun in notebooks with non-code cells. |
|
878 | * :ghpull:`4634`: Fix nbrun in notebooks with non-code cells. | |
879 | * :ghpull:`4632`: Restore the ability to run tests from a function. |
|
879 | * :ghpull:`4632`: Restore the ability to run tests from a function. | |
880 | * :ghpull:`4624`: Fix crash when $EDITOR is non-ASCII |
|
880 | * :ghpull:`4624`: Fix crash when $EDITOR is non-ASCII | |
881 | * :ghpull:`4453`: Play nice with App Nap |
|
881 | * :ghpull:`4453`: Play nice with App Nap | |
882 | * :ghpull:`4541`: relax ipconfig matching on Windows |
|
882 | * :ghpull:`4541`: relax ipconfig matching on Windows | |
883 | * :ghpull:`4552`: add pickleutil.use_dill |
|
883 | * :ghpull:`4552`: add pickleutil.use_dill | |
884 | * :ghpull:`4590`: Font awesome for IPython slides |
|
884 | * :ghpull:`4590`: Font awesome for IPython slides | |
885 | * :ghpull:`4589`: Inherit the width of pre code inside the input code cells. |
|
885 | * :ghpull:`4589`: Inherit the width of pre code inside the input code cells. | |
886 | * :ghpull:`4588`: Update reveal.js CDN to 2.5.0. |
|
886 | * :ghpull:`4588`: Update reveal.js CDN to 2.5.0. | |
887 | * :ghpull:`4569`: store cell toolbar preset in notebook metadata |
|
887 | * :ghpull:`4569`: store cell toolbar preset in notebook metadata | |
888 | * :ghpull:`4609`: Fix bytes regex for Python 3. |
|
888 | * :ghpull:`4609`: Fix bytes regex for Python 3. | |
889 | * :ghpull:`4581`: Writing unicode to stdout |
|
889 | * :ghpull:`4581`: Writing unicode to stdout | |
890 | * :ghpull:`4591`: Documenting codemirror shorcuts. |
|
890 | * :ghpull:`4591`: Documenting codemirror shorcuts. | |
891 | * :ghpull:`4607`: Tutorial doc should link to user config intro |
|
891 | * :ghpull:`4607`: Tutorial doc should link to user config intro | |
892 | * :ghpull:`4601`: test that rename fails with 409 if it would clobber |
|
892 | * :ghpull:`4601`: test that rename fails with 409 if it would clobber | |
893 | * :ghpull:`4599`: re-cast int/float subclasses to int/float in json_clean |
|
893 | * :ghpull:`4599`: re-cast int/float subclasses to int/float in json_clean | |
894 | * :ghpull:`4542`: new `ipython history clear` subcommand |
|
894 | * :ghpull:`4542`: new `ipython history clear` subcommand | |
895 | * :ghpull:`4568`: don't use lazily-evaluated rc.ids in wait_for_idle |
|
895 | * :ghpull:`4568`: don't use lazily-evaluated rc.ids in wait_for_idle | |
896 | * :ghpull:`4572`: DOC: %profile docstring should reference %prun |
|
896 | * :ghpull:`4572`: DOC: %profile docstring should reference %prun | |
897 | * :ghpull:`4571`: no longer need 3 suffix on travis, tox |
|
897 | * :ghpull:`4571`: no longer need 3 suffix on travis, tox | |
898 | * :ghpull:`4566`: Fixing cell_type in CodeCell constructor. |
|
898 | * :ghpull:`4566`: Fixing cell_type in CodeCell constructor. | |
899 | * :ghpull:`4563`: Specify encoding for reading notebook file. |
|
899 | * :ghpull:`4563`: Specify encoding for reading notebook file. | |
900 | * :ghpull:`4452`: support notebooks in %run |
|
900 | * :ghpull:`4452`: support notebooks in %run | |
901 | * :ghpull:`4546`: fix warning condition on notebook startup |
|
901 | * :ghpull:`4546`: fix warning condition on notebook startup | |
902 | * :ghpull:`4540`: Apidocs3 |
|
902 | * :ghpull:`4540`: Apidocs3 | |
903 | * :ghpull:`4553`: Fix Python 3 handling of urllib |
|
903 | * :ghpull:`4553`: Fix Python 3 handling of urllib | |
904 | * :ghpull:`4543`: make hiding of initial namespace optional |
|
904 | * :ghpull:`4543`: make hiding of initial namespace optional | |
905 | * :ghpull:`4517`: send shutdown_request on exit of `ipython console` |
|
905 | * :ghpull:`4517`: send shutdown_request on exit of `ipython console` | |
906 | * :ghpull:`4528`: improvements to bash completion |
|
906 | * :ghpull:`4528`: improvements to bash completion | |
907 | * :ghpull:`4532`: Hide dynamically defined metaclass base from Sphinx. |
|
907 | * :ghpull:`4532`: Hide dynamically defined metaclass base from Sphinx. | |
908 | * :ghpull:`4515`: Spring Cleaning, and Load speedup |
|
908 | * :ghpull:`4515`: Spring Cleaning, and Load speedup | |
909 | * :ghpull:`4529`: note routing identities needed for input requests |
|
909 | * :ghpull:`4529`: note routing identities needed for input requests | |
910 | * :ghpull:`4514`: allow restart in `%run -d` |
|
910 | * :ghpull:`4514`: allow restart in `%run -d` | |
911 | * :ghpull:`4527`: add redirect for 1.0-style 'files/' prefix links |
|
911 | * :ghpull:`4527`: add redirect for 1.0-style 'files/' prefix links | |
912 | * :ghpull:`4526`: Allow unicode arguments to passwd_check on Python 2 |
|
912 | * :ghpull:`4526`: Allow unicode arguments to passwd_check on Python 2 | |
913 | * :ghpull:`4403`: Global highlight language selection. |
|
913 | * :ghpull:`4403`: Global highlight language selection. | |
914 | * :ghpull:`4250`: outputarea.js: Wrap inline SVGs inside an iframe |
|
914 | * :ghpull:`4250`: outputarea.js: Wrap inline SVGs inside an iframe | |
915 | * :ghpull:`4521`: Read wav files in binary mode |
|
915 | * :ghpull:`4521`: Read wav files in binary mode | |
916 | * :ghpull:`4444`: Css cleaning |
|
916 | * :ghpull:`4444`: Css cleaning | |
917 | * :ghpull:`4523`: Use username and password for MongoDB on ShiningPanda |
|
917 | * :ghpull:`4523`: Use username and password for MongoDB on ShiningPanda | |
918 | * :ghpull:`4510`: Update whatsnew from PR files |
|
918 | * :ghpull:`4510`: Update whatsnew from PR files | |
919 | * :ghpull:`4441`: add `setup.py jsversion` |
|
919 | * :ghpull:`4441`: add `setup.py jsversion` | |
920 | * :ghpull:`4518`: Fix for race condition in url file decoding. |
|
920 | * :ghpull:`4518`: Fix for race condition in url file decoding. | |
921 | * :ghpull:`4497`: don't automatically unpack datetime objects in the message spec |
|
921 | * :ghpull:`4497`: don't automatically unpack datetime objects in the message spec | |
922 | * :ghpull:`4506`: wait for empty queues as well as load-balanced tasks |
|
922 | * :ghpull:`4506`: wait for empty queues as well as load-balanced tasks | |
923 | * :ghpull:`4492`: Configuration docs refresh |
|
923 | * :ghpull:`4492`: Configuration docs refresh | |
924 | * :ghpull:`4508`: Fix some uses of map() in Qt console completion code. |
|
924 | * :ghpull:`4508`: Fix some uses of map() in Qt console completion code. | |
925 | * :ghpull:`4498`: Daemon StreamCapturer |
|
925 | * :ghpull:`4498`: Daemon StreamCapturer | |
926 | * :ghpull:`4499`: Skip clipboard test on unix systems if headless. |
|
926 | * :ghpull:`4499`: Skip clipboard test on unix systems if headless. | |
927 | * :ghpull:`4460`: Better clipboard handling, esp. with pywin32 |
|
927 | * :ghpull:`4460`: Better clipboard handling, esp. with pywin32 | |
928 | * :ghpull:`4496`: Pass nbformat object to write call to save .py script |
|
928 | * :ghpull:`4496`: Pass nbformat object to write call to save .py script | |
929 | * :ghpull:`4466`: various pandoc latex fixes |
|
929 | * :ghpull:`4466`: various pandoc latex fixes | |
930 | * :ghpull:`4473`: Setup for Python 2/3 |
|
930 | * :ghpull:`4473`: Setup for Python 2/3 | |
931 | * :ghpull:`4459`: protect against broken repr in lib.pretty |
|
931 | * :ghpull:`4459`: protect against broken repr in lib.pretty | |
932 | * :ghpull:`4457`: Use ~/.ipython as default config directory |
|
932 | * :ghpull:`4457`: Use ~/.ipython as default config directory | |
933 | * :ghpull:`4489`: check realpath of env in init_virtualenv |
|
933 | * :ghpull:`4489`: check realpath of env in init_virtualenv | |
934 | * :ghpull:`4490`: fix possible race condition in test_await_data |
|
934 | * :ghpull:`4490`: fix possible race condition in test_await_data | |
935 | * :ghpull:`4476`: Fix: Remove space added by display(JavaScript) on page reload |
|
935 | * :ghpull:`4476`: Fix: Remove space added by display(JavaScript) on page reload | |
936 | * :ghpull:`4398`: [Notebook] Deactivate tooltip on tab by default. |
|
936 | * :ghpull:`4398`: [Notebook] Deactivate tooltip on tab by default. | |
937 | * :ghpull:`4480`: Docs shotgun 2 |
|
937 | * :ghpull:`4480`: Docs shotgun 2 | |
938 | * :ghpull:`4488`: fix typo in message spec doc |
|
938 | * :ghpull:`4488`: fix typo in message spec doc | |
939 | * :ghpull:`4479`: yet another JS race condition fix |
|
939 | * :ghpull:`4479`: yet another JS race condition fix | |
940 | * :ghpull:`4477`: Allow incremental builds of the html_noapi docs target |
|
940 | * :ghpull:`4477`: Allow incremental builds of the html_noapi docs target | |
941 | * :ghpull:`4470`: Various Config object cleanups |
|
941 | * :ghpull:`4470`: Various Config object cleanups | |
942 | * :ghpull:`4410`: make close-and-halt work on new tabs in Chrome |
|
942 | * :ghpull:`4410`: make close-and-halt work on new tabs in Chrome | |
943 | * :ghpull:`4469`: Python 3 & getcwdu |
|
943 | * :ghpull:`4469`: Python 3 & getcwdu | |
944 | * :ghpull:`4451`: fix: allow JS test to run after shutdown test |
|
944 | * :ghpull:`4451`: fix: allow JS test to run after shutdown test | |
945 | * :ghpull:`4456`: Simplify StreamCapturer for subprocess testing |
|
945 | * :ghpull:`4456`: Simplify StreamCapturer for subprocess testing | |
946 | * :ghpull:`4464`: Correct description for Bytes traitlet type |
|
946 | * :ghpull:`4464`: Correct description for Bytes traitlet type | |
947 | * :ghpull:`4465`: Clean up MANIFEST.in |
|
947 | * :ghpull:`4465`: Clean up MANIFEST.in | |
948 | * :ghpull:`4461`: Correct TypeError message in svg2pdf |
|
948 | * :ghpull:`4461`: Correct TypeError message in svg2pdf | |
949 | * :ghpull:`4458`: use signalstatus if exit status is undefined |
|
949 | * :ghpull:`4458`: use signalstatus if exit status is undefined | |
950 | * :ghpull:`4438`: Single codebase Python 3 support (again) |
|
950 | * :ghpull:`4438`: Single codebase Python 3 support (again) | |
951 | * :ghpull:`4198`: Version conversion, support for X to Y even if Y < X (nbformat) |
|
951 | * :ghpull:`4198`: Version conversion, support for X to Y even if Y < X (nbformat) | |
952 | * :ghpull:`4415`: More tooltips in the Notebook menu |
|
952 | * :ghpull:`4415`: More tooltips in the Notebook menu | |
953 | * :ghpull:`4450`: remove monkey patch for older versions of tornado |
|
953 | * :ghpull:`4450`: remove monkey patch for older versions of tornado | |
954 | * :ghpull:`4423`: Fix progress bar and scrolling bug. |
|
954 | * :ghpull:`4423`: Fix progress bar and scrolling bug. | |
955 | * :ghpull:`4435`: raise 404 on not found static file |
|
955 | * :ghpull:`4435`: raise 404 on not found static file | |
956 | * :ghpull:`4442`: fix and add shim for change introduce by #4195 |
|
956 | * :ghpull:`4442`: fix and add shim for change introduce by #4195 | |
957 | * :ghpull:`4436`: allow `require("nbextensions/extname")` to load from IPYTHONDIR/nbextensions |
|
957 | * :ghpull:`4436`: allow `require("nbextensions/extname")` to load from IPYTHONDIR/nbextensions | |
958 | * :ghpull:`4437`: don't compute etags in static file handlers |
|
958 | * :ghpull:`4437`: don't compute etags in static file handlers | |
959 | * :ghpull:`4427`: notebooks should always have one checkpoint |
|
959 | * :ghpull:`4427`: notebooks should always have one checkpoint | |
960 | * :ghpull:`4425`: fix js pythonisme |
|
960 | * :ghpull:`4425`: fix js pythonisme | |
961 | * :ghpull:`4195`: IPEP 21: widget messages |
|
961 | * :ghpull:`4195`: IPEP 21: widget messages | |
962 | * :ghpull:`4434`: Fix broken link for Dive Into Python. |
|
962 | * :ghpull:`4434`: Fix broken link for Dive Into Python. | |
963 | * :ghpull:`4428`: bump minimum tornado version to 3.1.0 |
|
963 | * :ghpull:`4428`: bump minimum tornado version to 3.1.0 | |
964 | * :ghpull:`4302`: Add an Audio display class |
|
964 | * :ghpull:`4302`: Add an Audio display class | |
965 | * :ghpull:`4285`: Notebook javascript test suite using CasperJS |
|
965 | * :ghpull:`4285`: Notebook javascript test suite using CasperJS | |
966 | * :ghpull:`4420`: Allow checking for backports via milestone |
|
966 | * :ghpull:`4420`: Allow checking for backports via milestone | |
967 | * :ghpull:`4426`: set kernel cwd to notebook's directory |
|
967 | * :ghpull:`4426`: set kernel cwd to notebook's directory | |
968 | * :ghpull:`4389`: By default, Magics inherit from Configurable |
|
968 | * :ghpull:`4389`: By default, Magics inherit from Configurable | |
969 | * :ghpull:`4393`: Capture output from subprocs during test, and display on failure |
|
969 | * :ghpull:`4393`: Capture output from subprocs during test, and display on failure | |
970 | * :ghpull:`4419`: define InlineBackend configurable in its own file |
|
970 | * :ghpull:`4419`: define InlineBackend configurable in its own file | |
971 | * :ghpull:`4303`: Multidirectory support for the Notebook |
|
971 | * :ghpull:`4303`: Multidirectory support for the Notebook | |
972 | * :ghpull:`4371`: Restored ipython profile locate dir and fixed typo. (Fixes #3708). |
|
972 | * :ghpull:`4371`: Restored ipython profile locate dir and fixed typo. (Fixes #3708). | |
973 | * :ghpull:`4414`: Specify unicode type properly in rmagic |
|
973 | * :ghpull:`4414`: Specify unicode type properly in rmagic | |
974 | * :ghpull:`4413`: don't instantiate IPython shell as class attr |
|
974 | * :ghpull:`4413`: don't instantiate IPython shell as class attr | |
975 | * :ghpull:`4400`: Remove 5s wait on inactivity on GUI inputhook loops |
|
975 | * :ghpull:`4400`: Remove 5s wait on inactivity on GUI inputhook loops | |
976 | * :ghpull:`4412`: Fix traitlet _notify_trait by-ref issue |
|
976 | * :ghpull:`4412`: Fix traitlet _notify_trait by-ref issue | |
977 | * :ghpull:`4378`: split adds new cell above, rather than below |
|
977 | * :ghpull:`4378`: split adds new cell above, rather than below | |
978 | * :ghpull:`4405`: Bring display of builtin types and functions in line with Py 2 |
|
978 | * :ghpull:`4405`: Bring display of builtin types and functions in line with Py 2 | |
979 | * :ghpull:`4367`: clean up of documentation files |
|
979 | * :ghpull:`4367`: clean up of documentation files | |
980 | * :ghpull:`4401`: Provide a name of the HistorySavingThread |
|
980 | * :ghpull:`4401`: Provide a name of the HistorySavingThread | |
981 | * :ghpull:`4384`: fix menubar height measurement |
|
981 | * :ghpull:`4384`: fix menubar height measurement | |
982 | * :ghpull:`4377`: fix tooltip cancel |
|
982 | * :ghpull:`4377`: fix tooltip cancel | |
983 | * :ghpull:`4293`: Factorise code in tooltip for julia monkeypatching |
|
983 | * :ghpull:`4293`: Factorise code in tooltip for julia monkeypatching | |
984 | * :ghpull:`4292`: improve js-completer logic. |
|
984 | * :ghpull:`4292`: improve js-completer logic. | |
985 | * :ghpull:`4363`: set_next_input: keep only last input when repeatedly called in a single cell |
|
985 | * :ghpull:`4363`: set_next_input: keep only last input when repeatedly called in a single cell | |
986 | * :ghpull:`4382`: Use safe_hasattr in dir2 |
|
986 | * :ghpull:`4382`: Use safe_hasattr in dir2 | |
987 | * :ghpull:`4379`: fix (CTRL-M -) shortcut for splitting cell in FF |
|
987 | * :ghpull:`4379`: fix (CTRL-M -) shortcut for splitting cell in FF | |
988 | * :ghpull:`4380`: Test and fixes for localinterfaces |
|
988 | * :ghpull:`4380`: Test and fixes for localinterfaces | |
989 | * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError |
|
989 | * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError | |
990 | * :ghpull:`4342`: Return value directly from the try block and avoid a variable |
|
990 | * :ghpull:`4342`: Return value directly from the try block and avoid a variable | |
991 | * :ghpull:`4154`: Center LaTeX and figures in markdown |
|
991 | * :ghpull:`4154`: Center LaTeX and figures in markdown | |
992 | * :ghpull:`4311`: %load -s to load specific functions or classes |
|
992 | * :ghpull:`4311`: %load -s to load specific functions or classes | |
993 | * :ghpull:`4350`: WinHPC launcher fixes |
|
993 | * :ghpull:`4350`: WinHPC launcher fixes | |
994 | * :ghpull:`4345`: Make irunner compatible with upcoming pexpect 3.0 interface |
|
994 | * :ghpull:`4345`: Make irunner compatible with upcoming pexpect 3.0 interface | |
995 | * :ghpull:`4276`: Support container methods in config |
|
995 | * :ghpull:`4276`: Support container methods in config | |
996 | * :ghpull:`4359`: test_pylabtools also needs to modify matplotlib.rcParamsOrig |
|
996 | * :ghpull:`4359`: test_pylabtools also needs to modify matplotlib.rcParamsOrig | |
997 | * :ghpull:`4355`: remove hardcoded box-orient |
|
997 | * :ghpull:`4355`: remove hardcoded box-orient | |
998 | * :ghpull:`4333`: Add Edit Notebook Metadata to Edit menu |
|
998 | * :ghpull:`4333`: Add Edit Notebook Metadata to Edit menu | |
999 | * :ghpull:`4349`: Script to update What's New file |
|
999 | * :ghpull:`4349`: Script to update What's New file | |
1000 | * :ghpull:`4348`: Call PDF viewer after latex compiling (nbconvert) |
|
1000 | * :ghpull:`4348`: Call PDF viewer after latex compiling (nbconvert) | |
1001 | * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt |
|
1001 | * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt | |
1002 | * :ghpull:`4304`: use netifaces for faster IPython.utils.localinterfaces |
|
1002 | * :ghpull:`4304`: use netifaces for faster IPython.utils.localinterfaces | |
1003 | * :ghpull:`4305`: Add even more ways to populate localinterfaces |
|
1003 | * :ghpull:`4305`: Add even more ways to populate localinterfaces | |
1004 | * :ghpull:`4313`: remove strip_math_space |
|
1004 | * :ghpull:`4313`: remove strip_math_space | |
1005 | * :ghpull:`4325`: Some changes to improve readability. |
|
1005 | * :ghpull:`4325`: Some changes to improve readability. | |
1006 | * :ghpull:`4281`: Adjust tab completion widget if too close to bottom of page. |
|
1006 | * :ghpull:`4281`: Adjust tab completion widget if too close to bottom of page. | |
1007 | * :ghpull:`4347`: Remove pycolor script |
|
1007 | * :ghpull:`4347`: Remove pycolor script | |
1008 | * :ghpull:`4322`: Scroll to the top after change of slides in the IPython slides |
|
1008 | * :ghpull:`4322`: Scroll to the top after change of slides in the IPython slides | |
1009 | * :ghpull:`4289`: Fix scrolling output (not working post clear_output changes) |
|
1009 | * :ghpull:`4289`: Fix scrolling output (not working post clear_output changes) | |
1010 | * :ghpull:`4343`: Make parameters for kernel start method more general |
|
1010 | * :ghpull:`4343`: Make parameters for kernel start method more general | |
1011 | * :ghpull:`4237`: Keywords should shadow magic functions |
|
1011 | * :ghpull:`4237`: Keywords should shadow magic functions | |
1012 | * :ghpull:`4338`: adjust default value of level in sync_imports |
|
1012 | * :ghpull:`4338`: adjust default value of level in sync_imports | |
1013 | * :ghpull:`4328`: Remove unused loop variable. |
|
1013 | * :ghpull:`4328`: Remove unused loop variable. | |
1014 | * :ghpull:`4340`: fix mathjax download url to new GitHub format |
|
1014 | * :ghpull:`4340`: fix mathjax download url to new GitHub format | |
1015 | * :ghpull:`4336`: use simple replacement rather than string formatting in format_kernel_cmd |
|
1015 | * :ghpull:`4336`: use simple replacement rather than string formatting in format_kernel_cmd | |
1016 | * :ghpull:`4264`: catch unicode error listing profiles |
|
1016 | * :ghpull:`4264`: catch unicode error listing profiles | |
1017 | * :ghpull:`4314`: catch EACCES when binding notebook app |
|
1017 | * :ghpull:`4314`: catch EACCES when binding notebook app | |
1018 | * :ghpull:`4324`: Remove commented addthis toolbar |
|
1018 | * :ghpull:`4324`: Remove commented addthis toolbar | |
1019 | * :ghpull:`4327`: Use the with statement to open a file. |
|
1019 | * :ghpull:`4327`: Use the with statement to open a file. | |
1020 | * :ghpull:`4318`: fix initial sys.path |
|
1020 | * :ghpull:`4318`: fix initial sys.path | |
1021 | * :ghpull:`4315`: Explicitly state what version of Pandoc is supported in docs/install |
|
1021 | * :ghpull:`4315`: Explicitly state what version of Pandoc is supported in docs/install | |
1022 | * :ghpull:`4316`: underscore missing on notebook_p4 |
|
1022 | * :ghpull:`4316`: underscore missing on notebook_p4 | |
1023 | * :ghpull:`4295`: Implement boundary option for load magic (#1093) |
|
1023 | * :ghpull:`4295`: Implement boundary option for load magic (#1093) | |
1024 | * :ghpull:`4300`: traits defauts are strings not object |
|
1024 | * :ghpull:`4300`: traits defauts are strings not object | |
1025 | * :ghpull:`4297`: Remove an unreachable return statement. |
|
1025 | * :ghpull:`4297`: Remove an unreachable return statement. | |
1026 | * :ghpull:`4260`: Use subprocess for system_raw |
|
1026 | * :ghpull:`4260`: Use subprocess for system_raw | |
1027 | * :ghpull:`4277`: add nbextensions |
|
1027 | * :ghpull:`4277`: add nbextensions | |
1028 | * :ghpull:`4294`: don't require tornado 3 in `--post serve` |
|
1028 | * :ghpull:`4294`: don't require tornado 3 in `--post serve` | |
1029 | * :ghpull:`4270`: adjust Scheduler timeout logic |
|
1029 | * :ghpull:`4270`: adjust Scheduler timeout logic | |
1030 | * :ghpull:`4278`: add `-a` to easy_install command in libedit warning |
|
1030 | * :ghpull:`4278`: add `-a` to easy_install command in libedit warning | |
1031 | * :ghpull:`4282`: Enable automatic line breaks in MathJax. |
|
1031 | * :ghpull:`4282`: Enable automatic line breaks in MathJax. | |
1032 | * :ghpull:`4279`: Fixing line-height of list items in tree view. |
|
1032 | * :ghpull:`4279`: Fixing line-height of list items in tree view. | |
1033 | * :ghpull:`4253`: fixes #4039. |
|
1033 | * :ghpull:`4253`: fixes #4039. | |
1034 | * :ghpull:`4131`: Add module's name argument in %%cython magic |
|
1034 | * :ghpull:`4131`: Add module's name argument in %%cython magic | |
1035 | * :ghpull:`4269`: Add mathletters option and longtable package to latex_base.tplx |
|
1035 | * :ghpull:`4269`: Add mathletters option and longtable package to latex_base.tplx | |
1036 | * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline. |
|
1036 | * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline. | |
1037 | * :ghpull:`4271`: Hopefully fix ordering of output on ShiningPanda |
|
1037 | * :ghpull:`4271`: Hopefully fix ordering of output on ShiningPanda | |
1038 | * :ghpull:`4239`: more informative error message for bad serialization |
|
1038 | * :ghpull:`4239`: more informative error message for bad serialization | |
1039 | * :ghpull:`4263`: Fix excludes for IPython.testing |
|
1039 | * :ghpull:`4263`: Fix excludes for IPython.testing | |
1040 | * :ghpull:`4112`: nbconvert: Latex template refactor |
|
1040 | * :ghpull:`4112`: nbconvert: Latex template refactor | |
1041 | * :ghpull:`4261`: Fixing a formatting error in the custom display example notebook. |
|
1041 | * :ghpull:`4261`: Fixing a formatting error in the custom display example notebook. | |
1042 | * :ghpull:`4259`: Fix Windows test exclusions |
|
1042 | * :ghpull:`4259`: Fix Windows test exclusions | |
1043 | * :ghpull:`4229`: Clear_output: Animation & widget related changes. |
|
1043 | * :ghpull:`4229`: Clear_output: Animation & widget related changes. | |
1044 | * :ghpull:`4151`: Refactor alias machinery |
|
1044 | * :ghpull:`4151`: Refactor alias machinery | |
1045 | * :ghpull:`4153`: make timeit return an object that contains values |
|
1045 | * :ghpull:`4153`: make timeit return an object that contains values | |
1046 | * :ghpull:`4258`: to-backport label is now 1.2 |
|
1046 | * :ghpull:`4258`: to-backport label is now 1.2 | |
1047 | * :ghpull:`4242`: Allow passing extra arguments to iptest through for nose |
|
1047 | * :ghpull:`4242`: Allow passing extra arguments to iptest through for nose | |
1048 | * :ghpull:`4257`: fix unicode argv parsing |
|
1048 | * :ghpull:`4257`: fix unicode argv parsing | |
1049 | * :ghpull:`4166`: avoid executing code in utils.localinterfaces at import time |
|
1049 | * :ghpull:`4166`: avoid executing code in utils.localinterfaces at import time | |
1050 | * :ghpull:`4214`: engine ID metadata should be unicode, not bytes |
|
1050 | * :ghpull:`4214`: engine ID metadata should be unicode, not bytes | |
1051 | * :ghpull:`4232`: no highlight if no language specified |
|
1051 | * :ghpull:`4232`: no highlight if no language specified | |
1052 | * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified |
|
1052 | * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified | |
1053 | * :ghpull:`4207`: add `setup.py css` command |
|
1053 | * :ghpull:`4207`: add `setup.py css` command | |
1054 | * :ghpull:`4224`: clear previous callbacks on execute |
|
1054 | * :ghpull:`4224`: clear previous callbacks on execute | |
1055 | * :ghpull:`4180`: Iptest refactoring |
|
1055 | * :ghpull:`4180`: Iptest refactoring | |
1056 | * :ghpull:`4105`: JS output area misaligned |
|
1056 | * :ghpull:`4105`: JS output area misaligned | |
1057 | * :ghpull:`4220`: Various improvements to docs formatting |
|
1057 | * :ghpull:`4220`: Various improvements to docs formatting | |
1058 | * :ghpull:`4187`: Select adequate highlighter for cell magic languages |
|
1058 | * :ghpull:`4187`: Select adequate highlighter for cell magic languages | |
1059 | * :ghpull:`4228`: update -dev docs to reflect latest stable version |
|
1059 | * :ghpull:`4228`: update -dev docs to reflect latest stable version | |
1060 | * :ghpull:`4219`: Drop bundled argparse |
|
1060 | * :ghpull:`4219`: Drop bundled argparse | |
1061 | * :ghpull:`3851`: Adds an explicit newline for pretty-printing. |
|
1061 | * :ghpull:`3851`: Adds an explicit newline for pretty-printing. | |
1062 | * :ghpull:`3622`: Drop fakemodule |
|
1062 | * :ghpull:`3622`: Drop fakemodule | |
1063 | * :ghpull:`4080`: change default behavior of database task storage |
|
1063 | * :ghpull:`4080`: change default behavior of database task storage | |
1064 | * :ghpull:`4197`: enable cython highlight in notebook |
|
1064 | * :ghpull:`4197`: enable cython highlight in notebook | |
1065 | * :ghpull:`4225`: Updated docstring for core.display.Image |
|
1065 | * :ghpull:`4225`: Updated docstring for core.display.Image | |
1066 | * :ghpull:`4175`: nbconvert: Jinjaless exporter base |
|
1066 | * :ghpull:`4175`: nbconvert: Jinjaless exporter base | |
1067 | * :ghpull:`4208`: Added a lightweight "htmlcore" Makefile entry |
|
1067 | * :ghpull:`4208`: Added a lightweight "htmlcore" Makefile entry | |
1068 | * :ghpull:`4209`: Magic doc fixes |
|
1068 | * :ghpull:`4209`: Magic doc fixes | |
1069 | * :ghpull:`4217`: avoid importing numpy at the module level |
|
1069 | * :ghpull:`4217`: avoid importing numpy at the module level | |
1070 | * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3 |
|
1070 | * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3 | |
1071 | * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on |
|
1071 | * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on | |
1072 | * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix |
|
1072 | * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix | |
1073 | * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess |
|
1073 | * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess | |
1074 | * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel |
|
1074 | * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel | |
1075 | * :ghpull:`4201`: HeadingCells cannot be split or merged |
|
1075 | * :ghpull:`4201`: HeadingCells cannot be split or merged | |
1076 | * :ghpull:`4048`: finish up speaker-notes PR |
|
1076 | * :ghpull:`4048`: finish up speaker-notes PR | |
1077 | * :ghpull:`4079`: trigger `Kernel.status_started` after websockets open |
|
1077 | * :ghpull:`4079`: trigger `Kernel.status_started` after websockets open | |
1078 | * :ghpull:`4186`: moved DummyMod to proper namespace to enable dill pickling |
|
1078 | * :ghpull:`4186`: moved DummyMod to proper namespace to enable dill pickling | |
1079 | * :ghpull:`4190`: update version-check message in setup.py and IPython.__init__ |
|
1079 | * :ghpull:`4190`: update version-check message in setup.py and IPython.__init__ | |
1080 | * :ghpull:`4188`: Allow user_ns trait to be None |
|
1080 | * :ghpull:`4188`: Allow user_ns trait to be None | |
1081 | * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS) |
|
1081 | * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS) | |
1082 | * :ghpull:`4174`: various issues in markdown and rst templates |
|
1082 | * :ghpull:`4174`: various issues in markdown and rst templates | |
1083 | * :ghpull:`4178`: add missing data_javascript |
|
1083 | * :ghpull:`4178`: add missing data_javascript | |
1084 | * :ghpull:`4168`: Py3 failing tests |
|
1084 | * :ghpull:`4168`: Py3 failing tests | |
1085 | * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers |
|
1085 | * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers | |
1086 | * :ghpull:`4043`: don't 'restore_bytes' in from_JSON |
|
1086 | * :ghpull:`4043`: don't 'restore_bytes' in from_JSON | |
1087 | * :ghpull:`4149`: reuse more kernels in kernel tests |
|
1087 | * :ghpull:`4149`: reuse more kernels in kernel tests | |
1088 | * :ghpull:`4163`: Fix for incorrect default encoding on Windows. |
|
1088 | * :ghpull:`4163`: Fix for incorrect default encoding on Windows. | |
1089 | * :ghpull:`4136`: catch javascript errors in any output |
|
1089 | * :ghpull:`4136`: catch javascript errors in any output | |
1090 | * :ghpull:`4171`: add nbconvert config file when creating profiles |
|
1090 | * :ghpull:`4171`: add nbconvert config file when creating profiles | |
1091 | * :ghpull:`4172`: add ability to check what PRs should be backported in backport_pr |
|
1091 | * :ghpull:`4172`: add ability to check what PRs should be backported in backport_pr | |
1092 | * :ghpull:`4167`: --fast flag for test suite! |
|
1092 | * :ghpull:`4167`: --fast flag for test suite! | |
1093 | * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all |
|
1093 | * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all | |
1094 | * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows |
|
1094 | * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows | |
1095 | * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS |
|
1095 | * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS | |
1096 | * :ghpull:`4165`: Remove use of parametric tests |
|
1096 | * :ghpull:`4165`: Remove use of parametric tests | |
1097 | * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping |
|
1097 | * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping | |
1098 | * :ghpull:`4083`: Implement a better check for hidden values for %who etc. |
|
1098 | * :ghpull:`4083`: Implement a better check for hidden values for %who etc. | |
1099 | * :ghpull:`4147`: Reference notebook examples, fixes #4146. |
|
1099 | * :ghpull:`4147`: Reference notebook examples, fixes #4146. | |
1100 | * :ghpull:`4065`: do not include specific css in embedable one |
|
1100 | * :ghpull:`4065`: do not include specific css in embedable one | |
1101 | * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x |
|
1101 | * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x | |
1102 | * :ghpull:`4074`: close Client sockets if connection fails |
|
1102 | * :ghpull:`4074`: close Client sockets if connection fails | |
1103 | * :ghpull:`4064`: Store default codemirror mode in only 1 place |
|
1103 | * :ghpull:`4064`: Store default codemirror mode in only 1 place | |
1104 | * :ghpull:`4104`: Add way to install MathJax to a particular profile |
|
1104 | * :ghpull:`4104`: Add way to install MathJax to a particular profile | |
1105 | * :ghpull:`4161`: Select name when renaming a notebook |
|
1105 | * :ghpull:`4161`: Select name when renaming a notebook | |
1106 | * :ghpull:`4160`: Add quotes around ".[notebook]" in readme |
|
1106 | * :ghpull:`4160`: Add quotes around ".[notebook]" in readme | |
1107 | * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string |
|
1107 | * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string | |
1108 | * :ghpull:`4090`: Add LaTeX citation handling to nbconvert |
|
1108 | * :ghpull:`4090`: Add LaTeX citation handling to nbconvert | |
1109 | * :ghpull:`4143`: update example custom.js |
|
1109 | * :ghpull:`4143`: update example custom.js | |
1110 | * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc |
|
1110 | * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc | |
1111 | * :ghpull:`4126`: update tox.ini |
|
1111 | * :ghpull:`4126`: update tox.ini | |
1112 | * :ghpull:`4141`: add files with a separate `add` call in backport_pr |
|
1112 | * :ghpull:`4141`: add files with a separate `add` call in backport_pr | |
1113 | * :ghpull:`4137`: Restore autorestore option for storemagic |
|
1113 | * :ghpull:`4137`: Restore autorestore option for storemagic | |
1114 | * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel |
|
1114 | * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel | |
1115 | * :ghpull:`4120`: support `input` in Python 2 kernels |
|
1115 | * :ghpull:`4120`: support `input` in Python 2 kernels | |
1116 | * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior |
|
1116 | * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior | |
1117 | * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first |
|
1117 | * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first | |
1118 | * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat. |
|
1118 | * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat. | |
1119 | * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel |
|
1119 | * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel | |
1120 | * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue. |
|
1120 | * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue. | |
1121 | * :ghpull:`4070`: New changes should go into pr/ folder |
|
1121 | * :ghpull:`4070`: New changes should go into pr/ folder | |
1122 | * :ghpull:`4054`: use unicode for HTML export |
|
1122 | * :ghpull:`4054`: use unicode for HTML export | |
1123 | * :ghpull:`4106`: fix a couple of default block values |
|
1123 | * :ghpull:`4106`: fix a couple of default block values | |
1124 | * :ghpull:`4107`: update parallel magic tests with capture_output API |
|
1124 | * :ghpull:`4107`: update parallel magic tests with capture_output API | |
1125 | * :ghpull:`4102`: Fix clashes between debugger tests and coverage.py |
|
1125 | * :ghpull:`4102`: Fix clashes between debugger tests and coverage.py | |
1126 | * :ghpull:`4115`: Update docs on declaring a magic function |
|
1126 | * :ghpull:`4115`: Update docs on declaring a magic function | |
1127 | * :ghpull:`4101`: restore accidentally removed EngineError |
|
1127 | * :ghpull:`4101`: restore accidentally removed EngineError | |
1128 | * :ghpull:`4096`: minor docs changes |
|
1128 | * :ghpull:`4096`: minor docs changes | |
1129 | * :ghpull:`4094`: Update target branch before backporting PR |
|
1129 | * :ghpull:`4094`: Update target branch before backporting PR | |
1130 | * :ghpull:`4069`: Drop monkeypatch for pre-1.0 nose |
|
1130 | * :ghpull:`4069`: Drop monkeypatch for pre-1.0 nose | |
1131 | * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line |
|
1131 | * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line | |
1132 | * :ghpull:`4091`: Make Qt console banner configurable |
|
1132 | * :ghpull:`4091`: Make Qt console banner configurable | |
1133 | * :ghpull:`4086`: fix missing errno import |
|
1133 | * :ghpull:`4086`: fix missing errno import | |
1134 | * :ghpull:`4084`: Use msvcrt.getwch() for Windows pager. |
|
1134 | * :ghpull:`4084`: Use msvcrt.getwch() for Windows pager. | |
1135 | * :ghpull:`4073`: rename ``post_processors`` submodule to ``postprocessors`` |
|
1135 | * :ghpull:`4073`: rename ``post_processors`` submodule to ``postprocessors`` | |
1136 | * :ghpull:`4075`: Update supported Python versions in tools/test_pr |
|
1136 | * :ghpull:`4075`: Update supported Python versions in tools/test_pr | |
1137 | * :ghpull:`4068`: minor bug fix, define 'cell' in dialog.js. |
|
1137 | * :ghpull:`4068`: minor bug fix, define 'cell' in dialog.js. | |
1138 | * :ghpull:`4044`: rename call methods to transform and postprocess |
|
1138 | * :ghpull:`4044`: rename call methods to transform and postprocess | |
1139 | * :ghpull:`3744`: capture rich output as well as stdout/err in capture_output |
|
1139 | * :ghpull:`3744`: capture rich output as well as stdout/err in capture_output | |
1140 | * :ghpull:`3969`: "use strict" in most (if not all) our javascript |
|
1140 | * :ghpull:`3969`: "use strict" in most (if not all) our javascript | |
1141 | * :ghpull:`4030`: exclude `.git` in MANIFEST.in |
|
1141 | * :ghpull:`4030`: exclude `.git` in MANIFEST.in | |
1142 | * :ghpull:`4047`: Use istype() when checking if canned object is a dict |
|
1142 | * :ghpull:`4047`: Use istype() when checking if canned object is a dict | |
1143 | * :ghpull:`4031`: don't close_fds on Windows |
|
1143 | * :ghpull:`4031`: don't close_fds on Windows | |
1144 | * :ghpull:`4029`: bson.Binary moved |
|
1144 | * :ghpull:`4029`: bson.Binary moved | |
1145 | * :ghpull:`3883`: skip test on unix when x11 not available |
|
1145 | * :ghpull:`3883`: skip test on unix when x11 not available | |
1146 | * :ghpull:`3863`: Added working speaker notes for slides. |
|
1146 | * :ghpull:`3863`: Added working speaker notes for slides. | |
1147 | * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path |
|
1147 | * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path | |
1148 | * :ghpull:`4002`: Drop Python 2.6 and 3.2 |
|
1148 | * :ghpull:`4002`: Drop Python 2.6 and 3.2 | |
1149 | * :ghpull:`4026`: small doc fix in nbconvert |
|
1149 | * :ghpull:`4026`: small doc fix in nbconvert | |
1150 | * :ghpull:`4016`: Fix IPython.start_* functions |
|
1150 | * :ghpull:`4016`: Fix IPython.start_* functions | |
1151 | * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays |
|
1151 | * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays | |
1152 | * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs |
|
1152 | * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs | |
1153 | * :ghpull:`4018`: Fix warning when running IPython.kernel tests |
|
1153 | * :ghpull:`4018`: Fix warning when running IPython.kernel tests | |
1154 | * :ghpull:`4017`: Add REPL-like printing of final/return value to %%R cell magic |
|
1154 | * :ghpull:`4017`: Add REPL-like printing of final/return value to %%R cell magic | |
1155 | * :ghpull:`4019`: Test skipping without unicode paths |
|
1155 | * :ghpull:`4019`: Test skipping without unicode paths | |
1156 | * :ghpull:`4008`: Transform code before %prun/%%prun runs |
|
1156 | * :ghpull:`4008`: Transform code before %prun/%%prun runs | |
1157 | * :ghpull:`4014`: Fix typo in ipapp |
|
1157 | * :ghpull:`4014`: Fix typo in ipapp | |
1158 | * :ghpull:`3997`: DOC: typos + rewording in examples/notebooks/Cell Magics.ipynb |
|
1158 | * :ghpull:`3997`: DOC: typos + rewording in examples/notebooks/Cell Magics.ipynb | |
1159 | * :ghpull:`3914`: nbconvert: Transformer tests |
|
1159 | * :ghpull:`3914`: nbconvert: Transformer tests | |
1160 | * :ghpull:`3987`: get files list in backport_pr |
|
1160 | * :ghpull:`3987`: get files list in backport_pr | |
1161 | * :ghpull:`3923`: nbconvert: Writer tests |
|
1161 | * :ghpull:`3923`: nbconvert: Writer tests | |
1162 | * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3 |
|
1162 | * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3 | |
1163 | * :ghpull:`3937`: make tab visible in codemirror and light red background |
|
1163 | * :ghpull:`3937`: make tab visible in codemirror and light red background | |
1164 | * :ghpull:`3933`: nbconvert: Post-processor tests |
|
1164 | * :ghpull:`3933`: nbconvert: Post-processor tests | |
1165 | * :ghpull:`3978`: fix `--existing` with non-localhost IP |
|
1165 | * :ghpull:`3978`: fix `--existing` with non-localhost IP | |
1166 | * :ghpull:`3939`: minor checkpoint cleanup |
|
1166 | * :ghpull:`3939`: minor checkpoint cleanup | |
1167 | * :ghpull:`3955`: complete on % for magic in notebook |
|
1167 | * :ghpull:`3955`: complete on % for magic in notebook | |
1168 | * :ghpull:`3981`: BF: fix nbconert rst input prompt spacing |
|
1168 | * :ghpull:`3981`: BF: fix nbconert rst input prompt spacing | |
1169 | * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert |
|
1169 | * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert | |
1170 | * :ghpull:`3973`: logging.Formatter is not new-style in 2.6 |
|
1170 | * :ghpull:`3973`: logging.Formatter is not new-style in 2.6 | |
1171 |
|
1171 | |||
1172 | Issues (434): |
|
1172 | Issues (434): | |
1173 |
|
1173 | |||
1174 | * :ghissue:`5476`: For 2.0: Fix links in Notebook Help Menu |
|
1174 | * :ghissue:`5476`: For 2.0: Fix links in Notebook Help Menu | |
1175 | * :ghissue:`5337`: Examples reorganization |
|
1175 | * :ghissue:`5337`: Examples reorganization | |
1176 | * :ghissue:`5436`: CodeMirror shortcuts in QuickHelp |
|
1176 | * :ghissue:`5436`: CodeMirror shortcuts in QuickHelp | |
1177 | * :ghissue:`5444`: Fix numeric verification for Int and Float text widgets. |
|
1177 | * :ghissue:`5444`: Fix numeric verification for Int and Float text widgets. | |
1178 | * :ghissue:`5443`: Int and Float Widgets don't allow negative signs |
|
1178 | * :ghissue:`5443`: Int and Float Widgets don't allow negative signs | |
1179 | * :ghissue:`5449`: Stretch keyboard shortcut dialog |
|
1179 | * :ghissue:`5449`: Stretch keyboard shortcut dialog | |
1180 | * :ghissue:`5471`: Add coding magic comment to nbconvert Python template |
|
1180 | * :ghissue:`5471`: Add coding magic comment to nbconvert Python template | |
1181 | * :ghissue:`5470`: UTF-8 Issue When Converting Notebook to a Script. |
|
1181 | * :ghissue:`5470`: UTF-8 Issue When Converting Notebook to a Script. | |
1182 | * :ghissue:`5369`: FormatterWarning for SVG matplotlib output in notebook |
|
1182 | * :ghissue:`5369`: FormatterWarning for SVG matplotlib output in notebook | |
1183 | * :ghissue:`5460`: Can't start the notebook server specifying a notebook |
|
1183 | * :ghissue:`5460`: Can't start the notebook server specifying a notebook | |
1184 | * :ghissue:`2918`: CodeMirror related issues. |
|
1184 | * :ghissue:`2918`: CodeMirror related issues. | |
1185 | * :ghissue:`5431`: update github_stats and gh_api for 2.0 |
|
1185 | * :ghissue:`5431`: update github_stats and gh_api for 2.0 | |
1186 | * :ghissue:`4887`: Add tests for modal UI |
|
1186 | * :ghissue:`4887`: Add tests for modal UI | |
1187 | * :ghissue:`5290`: Add dual mode JS tests |
|
1187 | * :ghissue:`5290`: Add dual mode JS tests | |
1188 | * :ghissue:`5448`: Cmd+/ shortcut doesn't work in IPython master |
|
1188 | * :ghissue:`5448`: Cmd+/ shortcut doesn't work in IPython master | |
1189 | * :ghissue:`5447`: Add %%python2 cell magic |
|
1189 | * :ghissue:`5447`: Add %%python2 cell magic | |
1190 | * :ghissue:`5442`: Make a "python2" alias or rename the "python"cell magic. |
|
1190 | * :ghissue:`5442`: Make a "python2" alias or rename the "python"cell magic. | |
1191 | * :ghissue:`2495`: non-ascii characters in the path |
|
1191 | * :ghissue:`2495`: non-ascii characters in the path | |
1192 | * :ghissue:`4554`: dictDB: Exception due to str to datetime comparission |
|
1192 | * :ghissue:`4554`: dictDB: Exception due to str to datetime comparission | |
1193 | * :ghissue:`5006`: Comm code is not run in the same context as notebook code |
|
1193 | * :ghissue:`5006`: Comm code is not run in the same context as notebook code | |
1194 | * :ghissue:`5118`: Weird interact behavior |
|
1194 | * :ghissue:`5118`: Weird interact behavior | |
1195 | * :ghissue:`5401`: Empty code cells in nbconvert rst output cause problems |
|
1195 | * :ghissue:`5401`: Empty code cells in nbconvert rst output cause problems | |
1196 | * :ghissue:`5434`: fix check for empty cells in rst template |
|
1196 | * :ghissue:`5434`: fix check for empty cells in rst template | |
1197 | * :ghissue:`4944`: Trouble finding ipynb path in Windows 8 |
|
1197 | * :ghissue:`4944`: Trouble finding ipynb path in Windows 8 | |
1198 | * :ghissue:`4605`: Change the url of Editor Shorcuts in the notebook menu. |
|
1198 | * :ghissue:`4605`: Change the url of Editor Shorcuts in the notebook menu. | |
1199 | * :ghissue:`5425`: Update COPYING.txt |
|
1199 | * :ghissue:`5425`: Update COPYING.txt | |
1200 | * :ghissue:`5348`: BUG: HistoryAccessor.get_session_info(0) - exception |
|
1200 | * :ghissue:`5348`: BUG: HistoryAccessor.get_session_info(0) - exception | |
1201 | * :ghissue:`5293`: Javascript("element.append()") looks broken. |
|
1201 | * :ghissue:`5293`: Javascript("element.append()") looks broken. | |
1202 | * :ghissue:`5363`: Disable saving if notebook has stopped loading |
|
1202 | * :ghissue:`5363`: Disable saving if notebook has stopped loading | |
1203 | * :ghissue:`5189`: Tooltip pager mode is broken |
|
1203 | * :ghissue:`5189`: Tooltip pager mode is broken | |
1204 | * :ghissue:`5330`: Updates to shell reference doc |
|
1204 | * :ghissue:`5330`: Updates to shell reference doc | |
1205 | * :ghissue:`5397`: Accordion widget broken |
|
1205 | * :ghissue:`5397`: Accordion widget broken | |
1206 | * :ghissue:`5106`: Flexbox CSS specificity bugs |
|
1206 | * :ghissue:`5106`: Flexbox CSS specificity bugs | |
1207 | * :ghissue:`5297`: tooltip triggers focus bug |
|
1207 | * :ghissue:`5297`: tooltip triggers focus bug | |
1208 | * :ghissue:`5417`: scp checking for existence of directories: directory names are incorrect |
|
1208 | * :ghissue:`5417`: scp checking for existence of directories: directory names are incorrect | |
1209 | * :ghissue:`5302`: Parallel engine registration fails for slow engines |
|
1209 | * :ghissue:`5302`: Parallel engine registration fails for slow engines | |
1210 | * :ghissue:`5334`: notebook's split-cell shortcut dangerous / incompatible with Neo layout (for instance) |
|
1210 | * :ghissue:`5334`: notebook's split-cell shortcut dangerous / incompatible with Neo layout (for instance) | |
1211 | * :ghissue:`5324`: Style of `raw_input` UI is off in notebook |
|
1211 | * :ghissue:`5324`: Style of `raw_input` UI is off in notebook | |
1212 | * :ghissue:`5350`: Converting notebooks with spaces in their names to RST gives broken images |
|
1212 | * :ghissue:`5350`: Converting notebooks with spaces in their names to RST gives broken images | |
1213 | * :ghissue:`5049`: update quickhelp on adding and removing shortcuts |
|
1213 | * :ghissue:`5049`: update quickhelp on adding and removing shortcuts | |
1214 | * :ghissue:`4941`: Eliminating display of intermediate stages in progress bars |
|
1214 | * :ghissue:`4941`: Eliminating display of intermediate stages in progress bars | |
1215 | * :ghissue:`5345`: nbconvert to markdown does not use backticks |
|
1215 | * :ghissue:`5345`: nbconvert to markdown does not use backticks | |
1216 | * :ghissue:`5357`: catch exception in copystat |
|
1216 | * :ghissue:`5357`: catch exception in copystat | |
1217 | * :ghissue:`5351`: Notebook saving fails on smb share |
|
1217 | * :ghissue:`5351`: Notebook saving fails on smb share | |
1218 | * :ghissue:`4946`: TeX produced cannot be converted to PDF |
|
1218 | * :ghissue:`4946`: TeX produced cannot be converted to PDF | |
1219 | * :ghissue:`5347`: pretty print list too slow |
|
1219 | * :ghissue:`5347`: pretty print list too slow | |
1220 | * :ghissue:`5238`: Raw cell placeholder is not removed when you edit the cell |
|
1220 | * :ghissue:`5238`: Raw cell placeholder is not removed when you edit the cell | |
1221 | * :ghissue:`5382`: Qtconsole doesn't run in Python 3 |
|
1221 | * :ghissue:`5382`: Qtconsole doesn't run in Python 3 | |
1222 | * :ghissue:`5378`: Unexpected and new conflict between PyFileConfigLoader and IPythonQtConsoleApp |
|
1222 | * :ghissue:`5378`: Unexpected and new conflict between PyFileConfigLoader and IPythonQtConsoleApp | |
1223 | * :ghissue:`4945`: Heading/cells positioning problem and cell output wrapping |
|
1223 | * :ghissue:`4945`: Heading/cells positioning problem and cell output wrapping | |
1224 | * :ghissue:`5084`: Consistent approach for HTML/JS output on nbviewer |
|
1224 | * :ghissue:`5084`: Consistent approach for HTML/JS output on nbviewer | |
1225 | * :ghissue:`4902`: print preview does not work, custom.css not found |
|
1225 | * :ghissue:`4902`: print preview does not work, custom.css not found | |
1226 | * :ghissue:`5336`: TypeError in bootstrap-tour.min.js |
|
1226 | * :ghissue:`5336`: TypeError in bootstrap-tour.min.js | |
1227 | * :ghissue:`5303`: Changed Hub.registration_timeout to be a config input. |
|
1227 | * :ghissue:`5303`: Changed Hub.registration_timeout to be a config input. | |
1228 | * :ghissue:`995`: Paste-able mode in terminal |
|
1228 | * :ghissue:`995`: Paste-able mode in terminal | |
1229 | * :ghissue:`5305`: Tuple unpacking for shell escape |
|
1229 | * :ghissue:`5305`: Tuple unpacking for shell escape | |
1230 | * :ghissue:`5232`: Make nbconvert html full output like notebook's html. |
|
1230 | * :ghissue:`5232`: Make nbconvert html full output like notebook's html. | |
1231 | * :ghissue:`5224`: Audit nbconvert HTML output |
|
1231 | * :ghissue:`5224`: Audit nbconvert HTML output | |
1232 | * :ghissue:`5253`: display any output from this session in terminal console |
|
1232 | * :ghissue:`5253`: display any output from this session in terminal console | |
1233 | * :ghissue:`5251`: ipython console ignoring some stream messages? |
|
1233 | * :ghissue:`5251`: ipython console ignoring some stream messages? | |
1234 | * :ghissue:`4802`: Tour of the notebook UI (was UI elements inline with highlighting) |
|
1234 | * :ghissue:`4802`: Tour of the notebook UI (was UI elements inline with highlighting) | |
1235 | * :ghissue:`5103`: Moving Constructor definition to the top like a Function definition |
|
1235 | * :ghissue:`5103`: Moving Constructor definition to the top like a Function definition | |
1236 | * :ghissue:`5264`: Test failures on master with Anaconda |
|
1236 | * :ghissue:`5264`: Test failures on master with Anaconda | |
1237 | * :ghissue:`4833`: Serve /usr/share/javascript at /_sysassets/javascript/ in notebook |
|
1237 | * :ghissue:`4833`: Serve /usr/share/javascript at /_sysassets/javascript/ in notebook | |
1238 | * :ghissue:`5071`: Prevent %pylab from clobbering interactive |
|
1238 | * :ghissue:`5071`: Prevent %pylab from clobbering interactive | |
1239 | * :ghissue:`5282`: Exception in widget __del__ methods in Python 3.4. |
|
1239 | * :ghissue:`5282`: Exception in widget __del__ methods in Python 3.4. | |
1240 | * :ghissue:`5280`: append Firefox overflow-x fix |
|
1240 | * :ghissue:`5280`: append Firefox overflow-x fix | |
1241 | * :ghissue:`5120`: append Firefox overflow-x fix, again |
|
1241 | * :ghissue:`5120`: append Firefox overflow-x fix, again | |
1242 | * :ghissue:`4127`: autoreload shouldn't rely on .pyc modification times |
|
1242 | * :ghissue:`4127`: autoreload shouldn't rely on .pyc modification times | |
1243 | * :ghissue:`5272`: allow highlighting language to be set from notebook metadata |
|
1243 | * :ghissue:`5272`: allow highlighting language to be set from notebook metadata | |
1244 | * :ghissue:`5050`: Notebook cells truncated with Firefox |
|
1244 | * :ghissue:`5050`: Notebook cells truncated with Firefox | |
1245 | * :ghissue:`4839`: Error in Session.send_raw() |
|
1245 | * :ghissue:`4839`: Error in Session.send_raw() | |
1246 | * :ghissue:`5188`: New events system |
|
1246 | * :ghissue:`5188`: New events system | |
1247 | * :ghissue:`5076`: Refactor keyboard handling |
|
1247 | * :ghissue:`5076`: Refactor keyboard handling | |
1248 | * :ghissue:`4886`: Refactor and consolidate different keyboard logic in JavaScript code |
|
1248 | * :ghissue:`4886`: Refactor and consolidate different keyboard logic in JavaScript code | |
1249 | * :ghissue:`5002`: the green cell border moving forever in Chrome, when there are many code cells. |
|
1249 | * :ghissue:`5002`: the green cell border moving forever in Chrome, when there are many code cells. | |
1250 | * :ghissue:`5259`: Codemirror still active in command mode |
|
1250 | * :ghissue:`5259`: Codemirror still active in command mode | |
1251 | * :ghissue:`5219`: Output images appear as small thumbnails (Notebook) |
|
1251 | * :ghissue:`5219`: Output images appear as small thumbnails (Notebook) | |
1252 | * :ghissue:`4829`: Not able to connect qtconsole in Windows 8 |
|
1252 | * :ghissue:`4829`: Not able to connect qtconsole in Windows 8 | |
1253 | * :ghissue:`5152`: Hide __pycache__ in dashboard directory list |
|
1253 | * :ghissue:`5152`: Hide __pycache__ in dashboard directory list | |
1254 | * :ghissue:`5151`: Case-insesitive sort for dashboard list |
|
1254 | * :ghissue:`5151`: Case-insesitive sort for dashboard list | |
1255 | * :ghissue:`4603`: Warn when overwriting a notebook with upload |
|
1255 | * :ghissue:`4603`: Warn when overwriting a notebook with upload | |
1256 | * :ghissue:`4895`: Improvements to %run completions |
|
1256 | * :ghissue:`4895`: Improvements to %run completions | |
1257 | * :ghissue:`3459`: Filename completion when run script with %run |
|
1257 | * :ghissue:`3459`: Filename completion when run script with %run | |
1258 | * :ghissue:`5225`: Add JavaScript to nbconvert HTML display priority |
|
1258 | * :ghissue:`5225`: Add JavaScript to nbconvert HTML display priority | |
1259 | * :ghissue:`5034`: Audit the places where we call `.html(something)` |
|
1259 | * :ghissue:`5034`: Audit the places where we call `.html(something)` | |
1260 | * :ghissue:`5094`: Dancing cells in notebook |
|
1260 | * :ghissue:`5094`: Dancing cells in notebook | |
1261 | * :ghissue:`4999`: Notebook focus effects |
|
1261 | * :ghissue:`4999`: Notebook focus effects | |
1262 | * :ghissue:`5149`: Clicking on a TextBoxWidget in FF completely breaks dual mode. |
|
1262 | * :ghissue:`5149`: Clicking on a TextBoxWidget in FF completely breaks dual mode. | |
1263 | * :ghissue:`5207`: Children fire event |
|
1263 | * :ghissue:`5207`: Children fire event | |
1264 | * :ghissue:`5227`: display_method of objects with custom __getattr__ |
|
1264 | * :ghissue:`5227`: display_method of objects with custom __getattr__ | |
1265 | * :ghissue:`5236`: Cursor keys do not work to leave Markdown cell while it's being edited |
|
1265 | * :ghissue:`5236`: Cursor keys do not work to leave Markdown cell while it's being edited | |
1266 | * :ghissue:`5205`: Use CTuple traitlet for Widget children |
|
1266 | * :ghissue:`5205`: Use CTuple traitlet for Widget children | |
1267 | * :ghissue:`5230`: notebook rename does not respect url prefix |
|
1267 | * :ghissue:`5230`: notebook rename does not respect url prefix | |
1268 | * :ghissue:`5218`: Test failures with Python 3 and enabled warnings |
|
1268 | * :ghissue:`5218`: Test failures with Python 3 and enabled warnings | |
1269 | * :ghissue:`5115`: Page Breaks for Print Preview Broken by display: flex - Simple CSS Fix |
|
1269 | * :ghissue:`5115`: Page Breaks for Print Preview Broken by display: flex - Simple CSS Fix | |
1270 | * :ghissue:`5024`: Make nbconvert HTML output smart about page breaking |
|
1270 | * :ghissue:`5024`: Make nbconvert HTML output smart about page breaking | |
1271 | * :ghissue:`4985`: Add automatic Closebrackets function to Codemirror. |
|
1271 | * :ghissue:`4985`: Add automatic Closebrackets function to Codemirror. | |
1272 | * :ghissue:`5184`: print '\xa' crashes the interactive shell |
|
1272 | * :ghissue:`5184`: print '\xa' crashes the interactive shell | |
1273 | * :ghissue:`5214`: Downloading notebook as Python (.py) fails |
|
1273 | * :ghissue:`5214`: Downloading notebook as Python (.py) fails | |
1274 | * :ghissue:`5211`: AttributeError: 'module' object has no attribute '_outputfile' |
|
1274 | * :ghissue:`5211`: AttributeError: 'module' object has no attribute '_outputfile' | |
1275 | * :ghissue:`5206`: [CSS?] Inconsistencies in nbconvert divs and IPython Notebook divs? |
|
1275 | * :ghissue:`5206`: [CSS?] Inconsistencies in nbconvert divs and IPython Notebook divs? | |
1276 | * :ghissue:`5201`: node != nodejs within Debian packages |
|
1276 | * :ghissue:`5201`: node != nodejs within Debian packages | |
1277 | * :ghissue:`5112`: band-aid for completion |
|
1277 | * :ghissue:`5112`: band-aid for completion | |
1278 | * :ghissue:`4860`: Completer As-You-Type Broken |
|
1278 | * :ghissue:`4860`: Completer As-You-Type Broken | |
1279 | * :ghissue:`5116`: reorganize who knows what about paths |
|
1279 | * :ghissue:`5116`: reorganize who knows what about paths | |
1280 | * :ghissue:`4973`: Adding security.js with 1st attempt at is_safe |
|
1280 | * :ghissue:`4973`: Adding security.js with 1st attempt at is_safe | |
1281 | * :ghissue:`5164`: test_oinspect.test_calltip_builtin failure with python3.4 |
|
1281 | * :ghissue:`5164`: test_oinspect.test_calltip_builtin failure with python3.4 | |
1282 | * :ghissue:`5127`: Widgets: skip intermediate callbacks during throttling |
|
1282 | * :ghissue:`5127`: Widgets: skip intermediate callbacks during throttling | |
1283 | * :ghissue:`5013`: Widget alignment differs between FF and Chrome |
|
1283 | * :ghissue:`5013`: Widget alignment differs between FF and Chrome | |
1284 | * :ghissue:`5141`: tornado error static file |
|
1284 | * :ghissue:`5141`: tornado error static file | |
1285 | * :ghissue:`5160`: TemporaryWorkingDirectory incompatible with python3.4 |
|
1285 | * :ghissue:`5160`: TemporaryWorkingDirectory incompatible with python3.4 | |
1286 | * :ghissue:`5140`: WIP: %kernels magic |
|
1286 | * :ghissue:`5140`: WIP: %kernels magic | |
1287 | * :ghissue:`4987`: Widget lifecycle problems |
|
1287 | * :ghissue:`4987`: Widget lifecycle problems | |
1288 | * :ghissue:`5129`: UCS package break latex export on non-ascii |
|
1288 | * :ghissue:`5129`: UCS package break latex export on non-ascii | |
1289 | * :ghissue:`4986`: Cell horizontal scrollbar is missing in FF but not in Chrome |
|
1289 | * :ghissue:`4986`: Cell horizontal scrollbar is missing in FF but not in Chrome | |
1290 | * :ghissue:`4685`: nbconvert ignores image size metadata |
|
1290 | * :ghissue:`4685`: nbconvert ignores image size metadata | |
1291 | * :ghissue:`5155`: Notebook logout button does not work (source typo) |
|
1291 | * :ghissue:`5155`: Notebook logout button does not work (source typo) | |
1292 | * :ghissue:`2678`: Ctrl-m keyboard shortcut clash on Chrome OS |
|
1292 | * :ghissue:`2678`: Ctrl-m keyboard shortcut clash on Chrome OS | |
1293 | * :ghissue:`5113`: ButtonWidget without caption wrong height. |
|
1293 | * :ghissue:`5113`: ButtonWidget without caption wrong height. | |
1294 | * :ghissue:`4778`: add APIs for installing notebook extensions |
|
1294 | * :ghissue:`4778`: add APIs for installing notebook extensions | |
1295 | * :ghissue:`5046`: python setup.py failed vs git submodule update worked |
|
1295 | * :ghissue:`5046`: python setup.py failed vs git submodule update worked | |
1296 | * :ghissue:`4925`: Notebook manager api fixes |
|
1296 | * :ghissue:`4925`: Notebook manager api fixes | |
1297 | * :ghissue:`5073`: Cannot align widgets horizontally in the notebook |
|
1297 | * :ghissue:`5073`: Cannot align widgets horizontally in the notebook | |
1298 | * :ghissue:`4996`: require print_method to be a bound method |
|
1298 | * :ghissue:`4996`: require print_method to be a bound method | |
1299 | * :ghissue:`4990`: _repr_html_ exception reporting corner case when using type(foo) |
|
1299 | * :ghissue:`4990`: _repr_html_ exception reporting corner case when using type(foo) | |
1300 | * :ghissue:`5099`: Notebook: Changing base_project_url results in failed WebSockets call |
|
1300 | * :ghissue:`5099`: Notebook: Changing base_project_url results in failed WebSockets call | |
1301 | * :ghissue:`5096`: Client.map is not fault tolerant |
|
1301 | * :ghissue:`5096`: Client.map is not fault tolerant | |
1302 | * :ghissue:`4997`: Inconsistent %matplotlib qt behavior |
|
1302 | * :ghissue:`4997`: Inconsistent %matplotlib qt behavior | |
1303 | * :ghissue:`5041`: Remove more .html(...) calls. |
|
1303 | * :ghissue:`5041`: Remove more .html(...) calls. | |
1304 | * :ghissue:`5078`: Updating JS tests README.md |
|
1304 | * :ghissue:`5078`: Updating JS tests README.md | |
1305 | * :ghissue:`4977`: ensure scp destination directories exist (with mkdir -p) |
|
1305 | * :ghissue:`4977`: ensure scp destination directories exist (with mkdir -p) | |
1306 | * :ghissue:`3411`: ipython parallel: scp failure. |
|
1306 | * :ghissue:`3411`: ipython parallel: scp failure. | |
1307 | * :ghissue:`5064`: Errors during interact display at the terminal, not anywhere in the notebook |
|
1307 | * :ghissue:`5064`: Errors during interact display at the terminal, not anywhere in the notebook | |
1308 | * :ghissue:`4921`: Add PDF formatter and handling |
|
1308 | * :ghissue:`4921`: Add PDF formatter and handling | |
1309 | * :ghissue:`4920`: Adding PDFFormatter and kernel side handling of PDF display data |
|
1309 | * :ghissue:`4920`: Adding PDFFormatter and kernel side handling of PDF display data | |
1310 | * :ghissue:`5048`: Add edit/command mode indicator |
|
1310 | * :ghissue:`5048`: Add edit/command mode indicator | |
1311 | * :ghissue:`4889`: Add UI element for indicating command/edit modes |
|
1311 | * :ghissue:`4889`: Add UI element for indicating command/edit modes | |
1312 | * :ghissue:`5052`: Add q to toggle the pager. |
|
1312 | * :ghissue:`5052`: Add q to toggle the pager. | |
1313 | * :ghissue:`5000`: Closing pager with keyboard in modal UI |
|
1313 | * :ghissue:`5000`: Closing pager with keyboard in modal UI | |
1314 | * :ghissue:`5069`: Box model changes broke the Keyboard Shortcuts help modal |
|
1314 | * :ghissue:`5069`: Box model changes broke the Keyboard Shortcuts help modal | |
1315 | * :ghissue:`4960`: Interact/Interactive for widget |
|
1315 | * :ghissue:`4960`: Interact/Interactive for widget | |
1316 | * :ghissue:`4883`: Implement interact/interactive for widgets |
|
1316 | * :ghissue:`4883`: Implement interact/interactive for widgets | |
1317 | * :ghissue:`5038`: Fix multiple press keyboard events |
|
1317 | * :ghissue:`5038`: Fix multiple press keyboard events | |
1318 | * :ghissue:`5054`: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc6 in position 1: ordinal not in range(128) |
|
1318 | * :ghissue:`5054`: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc6 in position 1: ordinal not in range(128) | |
1319 | * :ghissue:`5031`: Bug during integration of IPython console in Qt application |
|
1319 | * :ghissue:`5031`: Bug during integration of IPython console in Qt application | |
1320 | * :ghissue:`5057`: iopubwatcher.py example is broken. |
|
1320 | * :ghissue:`5057`: iopubwatcher.py example is broken. | |
1321 | * :ghissue:`4747`: Add event for output_area adding an output |
|
1321 | * :ghissue:`4747`: Add event for output_area adding an output | |
1322 | * :ghissue:`5001`: Add directory navigation to dashboard |
|
1322 | * :ghissue:`5001`: Add directory navigation to dashboard | |
1323 | * :ghissue:`5016`: Help menu external-link icons break layout in FF |
|
1323 | * :ghissue:`5016`: Help menu external-link icons break layout in FF | |
1324 | * :ghissue:`4885`: Modal UI behavior changes |
|
1324 | * :ghissue:`4885`: Modal UI behavior changes | |
1325 | * :ghissue:`5009`: notebook signatures don't work |
|
1325 | * :ghissue:`5009`: notebook signatures don't work | |
1326 | * :ghissue:`4975`: setup.py changes for 2.0 |
|
1326 | * :ghissue:`4975`: setup.py changes for 2.0 | |
1327 | * :ghissue:`4774`: emit event on appended element on dom |
|
1327 | * :ghissue:`4774`: emit event on appended element on dom | |
1328 | * :ghissue:`5020`: Python Lists translated to javascript objects in widgets |
|
1328 | * :ghissue:`5020`: Python Lists translated to javascript objects in widgets | |
1329 | * :ghissue:`5003`: Fix pretty reprs of super() objects |
|
1329 | * :ghissue:`5003`: Fix pretty reprs of super() objects | |
1330 | * :ghissue:`5012`: Make `SelectionWidget.values` a dict |
|
1330 | * :ghissue:`5012`: Make `SelectionWidget.values` a dict | |
1331 | * :ghissue:`4961`: Bug when constructing a selection widget with both values and labels |
|
1331 | * :ghissue:`4961`: Bug when constructing a selection widget with both values and labels | |
1332 | * :ghissue:`4283`: A `<` in a markdown cell strips cell content when converting to latex |
|
1332 | * :ghissue:`4283`: A `<` in a markdown cell strips cell content when converting to latex | |
1333 | * :ghissue:`4006`: iptest IPython broken |
|
1333 | * :ghissue:`4006`: iptest IPython broken | |
1334 | * :ghissue:`4251`: & escaped to & in tex ? |
|
1334 | * :ghissue:`4251`: & escaped to & in tex ? | |
1335 | * :ghissue:`5027`: pin lessc to 1.4 |
|
1335 | * :ghissue:`5027`: pin lessc to 1.4 | |
1336 | * :ghissue:`4323`: Take 2: citation2latex filter (using HTMLParser) |
|
1336 | * :ghissue:`4323`: Take 2: citation2latex filter (using HTMLParser) | |
1337 | * :ghissue:`4196`: Printing notebook from browser gives 1-page truncated output |
|
1337 | * :ghissue:`4196`: Printing notebook from browser gives 1-page truncated output | |
1338 | * :ghissue:`4842`: more subtle kernel indicator |
|
1338 | * :ghissue:`4842`: more subtle kernel indicator | |
1339 | * :ghissue:`4057`: No path to notebook examples from Help menu |
|
1339 | * :ghissue:`4057`: No path to notebook examples from Help menu | |
1340 | * :ghissue:`5015`: don't write cell.trusted to disk |
|
1340 | * :ghissue:`5015`: don't write cell.trusted to disk | |
1341 | * :ghissue:`4617`: Changed url link in Help dropdown menu. |
|
1341 | * :ghissue:`4617`: Changed url link in Help dropdown menu. | |
1342 | * :ghissue:`4976`: Container widget layout broken on Firefox |
|
1342 | * :ghissue:`4976`: Container widget layout broken on Firefox | |
1343 | * :ghissue:`4981`: Vertical slider layout broken |
|
1343 | * :ghissue:`4981`: Vertical slider layout broken | |
1344 | * :ghissue:`4793`: Message spec changes related to `clear_output` |
|
1344 | * :ghissue:`4793`: Message spec changes related to `clear_output` | |
1345 | * :ghissue:`4982`: Live readout for slider widgets |
|
1345 | * :ghissue:`4982`: Live readout for slider widgets | |
1346 | * :ghissue:`4813`: make help menu a template |
|
1346 | * :ghissue:`4813`: make help menu a template | |
1347 | * :ghissue:`4989`: Filename tab completion completely broken |
|
1347 | * :ghissue:`4989`: Filename tab completion completely broken | |
1348 | * :ghissue:`1380`: Tab should insert 4 spaces in # comment lines |
|
1348 | * :ghissue:`1380`: Tab should insert 4 spaces in # comment lines | |
1349 | * :ghissue:`2888`: spaces vs tabs |
|
1349 | * :ghissue:`2888`: spaces vs tabs | |
1350 | * :ghissue:`1193`: Allow resizing figures in notebook |
|
1350 | * :ghissue:`1193`: Allow resizing figures in notebook | |
1351 | * :ghissue:`4504`: Allow input transformers to raise SyntaxError |
|
1351 | * :ghissue:`4504`: Allow input transformers to raise SyntaxError | |
1352 | * :ghissue:`4697`: Problems with height after toggling header and toolbar... |
|
1352 | * :ghissue:`4697`: Problems with height after toggling header and toolbar... | |
1353 | * :ghissue:`4951`: TextWidget to code cell command mode bug. |
|
1353 | * :ghissue:`4951`: TextWidget to code cell command mode bug. | |
1354 | * :ghissue:`4809`: Arbitrary scrolling (jumping) in clicks in modal UI for notebook |
|
1354 | * :ghissue:`4809`: Arbitrary scrolling (jumping) in clicks in modal UI for notebook | |
1355 | * :ghissue:`4971`: Fixing issues with js tests |
|
1355 | * :ghissue:`4971`: Fixing issues with js tests | |
1356 | * :ghissue:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt |
|
1356 | * :ghissue:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt | |
1357 | * :ghissue:`4892`: IPython.qt test failure with python3.4 |
|
1357 | * :ghissue:`4892`: IPython.qt test failure with python3.4 | |
1358 | * :ghissue:`4863`: BUG: cannot create an OBJECT array from memory buffer |
|
1358 | * :ghissue:`4863`: BUG: cannot create an OBJECT array from memory buffer | |
1359 | * :ghissue:`4704`: Subcommand `profile` ignores --ipython-dir |
|
1359 | * :ghissue:`4704`: Subcommand `profile` ignores --ipython-dir | |
1360 | * :ghissue:`4845`: Add Origin Checking. |
|
1360 | * :ghissue:`4845`: Add Origin Checking. | |
1361 | * :ghissue:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress |
|
1361 | * :ghissue:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress | |
1362 | * :ghissue:`4956`: Shift-Enter does not move to next cell |
|
1362 | * :ghissue:`4956`: Shift-Enter does not move to next cell | |
1363 | * :ghissue:`4662`: Menu cleanup |
|
1363 | * :ghissue:`4662`: Menu cleanup | |
1364 | * :ghissue:`4824`: sign notebooks |
|
1364 | * :ghissue:`4824`: sign notebooks | |
1365 | * :ghissue:`4848`: avoid import of nearby temporary with %edit |
|
1365 | * :ghissue:`4848`: avoid import of nearby temporary with %edit | |
1366 | * :ghissue:`4731`: %edit files mistakenly import modules in /tmp |
|
1366 | * :ghissue:`4731`: %edit files mistakenly import modules in /tmp | |
1367 | * :ghissue:`4950`: Two fixes for file upload related bugs |
|
1367 | * :ghissue:`4950`: Two fixes for file upload related bugs | |
1368 | * :ghissue:`4871`: Notebook upload fails after Delete |
|
1368 | * :ghissue:`4871`: Notebook upload fails after Delete | |
1369 | * :ghissue:`4825`: File Upload URL set incorrectly |
|
1369 | * :ghissue:`4825`: File Upload URL set incorrectly | |
1370 | * :ghissue:`3867`: display.FileLinks should work in the exported html verion of a notebook |
|
1370 | * :ghissue:`3867`: display.FileLinks should work in the exported html verion of a notebook | |
1371 | * :ghissue:`4948`: reveal: ipython css overrides reveal themes |
|
1371 | * :ghissue:`4948`: reveal: ipython css overrides reveal themes | |
1372 | * :ghissue:`4947`: reveal: slides that are too big? |
|
1372 | * :ghissue:`4947`: reveal: slides that are too big? | |
1373 | * :ghissue:`4051`: Test failures with Python 3 and enabled warnings |
|
1373 | * :ghissue:`4051`: Test failures with Python 3 and enabled warnings | |
1374 | * :ghissue:`3633`: outstanding issues over in ipython/nbconvert repo |
|
1374 | * :ghissue:`3633`: outstanding issues over in ipython/nbconvert repo | |
1375 | * :ghissue:`4087`: Sympy printing in the example notebook |
|
1375 | * :ghissue:`4087`: Sympy printing in the example notebook | |
1376 | * :ghissue:`4627`: Document various QtConsole embedding approaches. |
|
1376 | * :ghissue:`4627`: Document various QtConsole embedding approaches. | |
1377 | * :ghissue:`4849`: Various unicode fixes (mostly on Windows) |
|
1377 | * :ghissue:`4849`: Various unicode fixes (mostly on Windows) | |
1378 | * :ghissue:`3653`: autocompletion in "from package import <tab>" |
|
1378 | * :ghissue:`3653`: autocompletion in "from package import <tab>" | |
1379 | * :ghissue:`4583`: overwrite? prompt gets EOFError in 2 process |
|
1379 | * :ghissue:`4583`: overwrite? prompt gets EOFError in 2 process | |
1380 | * :ghissue:`4807`: Correct handling of ansi colour codes when nbconverting to latex |
|
1380 | * :ghissue:`4807`: Correct handling of ansi colour codes when nbconverting to latex | |
1381 | * :ghissue:`4611`: Document how to compile .less files in dev docs. |
|
1381 | * :ghissue:`4611`: Document how to compile .less files in dev docs. | |
1382 | * :ghissue:`4618`: "Editor Shortcuts" link is broken in help menu dropdown notebook |
|
1382 | * :ghissue:`4618`: "Editor Shortcuts" link is broken in help menu dropdown notebook | |
1383 | * :ghissue:`4522`: DeprecationWarning: the sets module is deprecated |
|
1383 | * :ghissue:`4522`: DeprecationWarning: the sets module is deprecated | |
1384 | * :ghissue:`4368`: No symlink from ipython to ipython3 when inside a python3 virtualenv |
|
1384 | * :ghissue:`4368`: No symlink from ipython to ipython3 when inside a python3 virtualenv | |
1385 | * :ghissue:`4234`: Math without $$ doesn't show up when converted to slides |
|
1385 | * :ghissue:`4234`: Math without $$ doesn't show up when converted to slides | |
1386 | * :ghissue:`4194`: config.TerminalIPythonApp.nosep does not work |
|
1386 | * :ghissue:`4194`: config.TerminalIPythonApp.nosep does not work | |
1387 | * :ghissue:`1491`: prefilter not called for multi-line notebook cells |
|
1387 | * :ghissue:`1491`: prefilter not called for multi-line notebook cells | |
1388 | * :ghissue:`4001`: Windows IPython executable /scripts/ipython not working |
|
1388 | * :ghissue:`4001`: Windows IPython executable /scripts/ipython not working | |
1389 | * :ghissue:`3959`: think more carefully about text wrapping in nbconvert |
|
1389 | * :ghissue:`3959`: think more carefully about text wrapping in nbconvert | |
1390 | * :ghissue:`4907`: Test for traceback depth fails on Windows |
|
1390 | * :ghissue:`4907`: Test for traceback depth fails on Windows | |
1391 | * :ghissue:`4906`: Test for IPython.embed() fails on Windows |
|
1391 | * :ghissue:`4906`: Test for IPython.embed() fails on Windows | |
1392 | * :ghissue:`4912`: Skip some Windows io failures |
|
1392 | * :ghissue:`4912`: Skip some Windows io failures | |
1393 | * :ghissue:`3700`: stdout/stderr should be flushed printing exception output... |
|
1393 | * :ghissue:`3700`: stdout/stderr should be flushed printing exception output... | |
1394 | * :ghissue:`1181`: greedy completer bug in terminal console |
|
1394 | * :ghissue:`1181`: greedy completer bug in terminal console | |
1395 | * :ghissue:`2032`: check for a few places we should be using DEFAULT_ENCODING |
|
1395 | * :ghissue:`2032`: check for a few places we should be using DEFAULT_ENCODING | |
1396 | * :ghissue:`4882`: Too many files open when starting and stopping kernel repeatedly |
|
1396 | * :ghissue:`4882`: Too many files open when starting and stopping kernel repeatedly | |
1397 | * :ghissue:`4880`: set profile name from profile_dir |
|
1397 | * :ghissue:`4880`: set profile name from profile_dir | |
1398 | * :ghissue:`4238`: parallel.Client() not using profile that notebook was run with? |
|
1398 | * :ghissue:`4238`: parallel.Client() not using profile that notebook was run with? | |
1399 | * :ghissue:`4853`: fix setting image height/width from metadata |
|
1399 | * :ghissue:`4853`: fix setting image height/width from metadata | |
1400 | * :ghissue:`4786`: Reduce spacing of heading cells |
|
1400 | * :ghissue:`4786`: Reduce spacing of heading cells | |
1401 | * :ghissue:`4680`: Minimal pandoc version warning |
|
1401 | * :ghissue:`4680`: Minimal pandoc version warning | |
1402 | * :ghissue:`3707`: nbconvert: Remove IPython magic commands from --format="python" output |
|
1402 | * :ghissue:`3707`: nbconvert: Remove IPython magic commands from --format="python" output | |
1403 | * :ghissue:`4130`: PDF figures as links from png or svg figures |
|
1403 | * :ghissue:`4130`: PDF figures as links from png or svg figures | |
1404 | * :ghissue:`3919`: Allow --profile to be passed a dir. |
|
1404 | * :ghissue:`3919`: Allow --profile to be passed a dir. | |
1405 | * :ghissue:`2136`: Handle hard newlines in pretty printer |
|
1405 | * :ghissue:`2136`: Handle hard newlines in pretty printer | |
1406 | * :ghissue:`4790`: Notebook modal UI: "merge cell below" key binding, `shift+=`, does not work with some keyboard layouts |
|
1406 | * :ghissue:`4790`: Notebook modal UI: "merge cell below" key binding, `shift+=`, does not work with some keyboard layouts | |
1407 | * :ghissue:`4884`: Keyboard shortcut changes |
|
1407 | * :ghissue:`4884`: Keyboard shortcut changes | |
1408 | * :ghissue:`1184`: slow handling of keyboard input |
|
1408 | * :ghissue:`1184`: slow handling of keyboard input | |
1409 | * :ghissue:`4913`: Mathjax, Markdown, tex, env* and italic |
|
1409 | * :ghissue:`4913`: Mathjax, Markdown, tex, env* and italic | |
1410 | * :ghissue:`3972`: nbconvert: Template output testing |
|
1410 | * :ghissue:`3972`: nbconvert: Template output testing | |
1411 | * :ghissue:`4903`: use https for all embeds |
|
1411 | * :ghissue:`4903`: use https for all embeds | |
1412 | * :ghissue:`4874`: --debug does not work if you set .kernel_cmd |
|
1412 | * :ghissue:`4874`: --debug does not work if you set .kernel_cmd | |
1413 | * :ghissue:`4679`: JPG compression for inline pylab |
|
1413 | * :ghissue:`4679`: JPG compression for inline pylab | |
1414 | * :ghissue:`4708`: Fix indent and center |
|
1414 | * :ghissue:`4708`: Fix indent and center | |
1415 | * :ghissue:`4789`: fix IPython.embed |
|
1415 | * :ghissue:`4789`: fix IPython.embed | |
1416 | * :ghissue:`4759`: Application._load_config_files log parameter default fails |
|
1416 | * :ghissue:`4759`: Application._load_config_files log parameter default fails | |
1417 | * :ghissue:`3153`: docs / file menu: explain how to exit the notebook |
|
1417 | * :ghissue:`3153`: docs / file menu: explain how to exit the notebook | |
1418 | * :ghissue:`4791`: Did updates to ipython_directive bork support for cython magic snippets? |
|
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 | * :ghissue:`4655`: prefer marked to pandoc for markdown2html |
|
1420 | * :ghissue:`4655`: prefer marked to pandoc for markdown2html | |
1421 | * :ghissue:`3441`: Fix focus related problems in the notebook |
|
1421 | * :ghissue:`3441`: Fix focus related problems in the notebook | |
1422 | * :ghissue:`3402`: Feature Request: Save As (latex, html,..etc) as a menu option in Notebook rather than explicit need to invoke nbconvert |
|
1422 | * :ghissue:`3402`: Feature Request: Save As (latex, html,..etc) as a menu option in Notebook rather than explicit need to invoke nbconvert | |
1423 | * :ghissue:`3224`: Revisit layout of notebook area |
|
1423 | * :ghissue:`3224`: Revisit layout of notebook area | |
1424 | * :ghissue:`2746`: rerunning a cell with long output (exception) scrolls to much (html notebook) |
|
1424 | * :ghissue:`2746`: rerunning a cell with long output (exception) scrolls to much (html notebook) | |
1425 | * :ghissue:`2667`: can't save opened notebook if accidentally delete the notebook in the dashboard |
|
1425 | * :ghissue:`2667`: can't save opened notebook if accidentally delete the notebook in the dashboard | |
1426 | * :ghissue:`3026`: Reporting errors from _repr_<type>_ methods |
|
1426 | * :ghissue:`3026`: Reporting errors from _repr_<type>_ methods | |
1427 | * :ghissue:`1844`: Notebook does not exist and permalinks |
|
1427 | * :ghissue:`1844`: Notebook does not exist and permalinks | |
1428 | * :ghissue:`2450`: [closed PR] Prevent jumping of window to input when output is clicked. |
|
1428 | * :ghissue:`2450`: [closed PR] Prevent jumping of window to input when output is clicked. | |
1429 | * :ghissue:`3166`: IPEP 16: Notebook multi directory dashboard and URL mapping |
|
1429 | * :ghissue:`3166`: IPEP 16: Notebook multi directory dashboard and URL mapping | |
1430 | * :ghissue:`3691`: Slight misalignment of Notebook menu bar with focus box |
|
1430 | * :ghissue:`3691`: Slight misalignment of Notebook menu bar with focus box | |
1431 | * :ghissue:`4875`: Empty tooltip with `object_found = false` still being shown |
|
1431 | * :ghissue:`4875`: Empty tooltip with `object_found = false` still being shown | |
1432 | * :ghissue:`4432`: The SSL cert for the MathJax CDN is invalid and URL is not protocol agnostic |
|
1432 | * :ghissue:`4432`: The SSL cert for the MathJax CDN is invalid and URL is not protocol agnostic | |
1433 | * :ghissue:`2633`: Help text should leave current cell active |
|
1433 | * :ghissue:`2633`: Help text should leave current cell active | |
1434 | * :ghissue:`3976`: DOC: Pandas link on the notebook help menu? |
|
1434 | * :ghissue:`3976`: DOC: Pandas link on the notebook help menu? | |
1435 | * :ghissue:`4082`: /new handler redirect cached by browser |
|
1435 | * :ghissue:`4082`: /new handler redirect cached by browser | |
1436 | * :ghissue:`4298`: Slow ipython --pylab and ipython notebook startup |
|
1436 | * :ghissue:`4298`: Slow ipython --pylab and ipython notebook startup | |
1437 | * :ghissue:`4545`: %store magic not working |
|
1437 | * :ghissue:`4545`: %store magic not working | |
1438 | * :ghissue:`4610`: toolbar UI enhancements |
|
1438 | * :ghissue:`4610`: toolbar UI enhancements | |
1439 | * :ghissue:`4782`: New modal UI |
|
1439 | * :ghissue:`4782`: New modal UI | |
1440 | * :ghissue:`4732`: Accents in notebook names and in command-line (nbconvert) |
|
1440 | * :ghissue:`4732`: Accents in notebook names and in command-line (nbconvert) | |
1441 | * :ghissue:`4752`: link broken in docs/examples |
|
1441 | * :ghissue:`4752`: link broken in docs/examples | |
1442 | * :ghissue:`4835`: running ipython on python files adds an extra traceback frame |
|
1442 | * :ghissue:`4835`: running ipython on python files adds an extra traceback frame | |
1443 | * :ghissue:`4792`: repr_html exception warning on qtconsole with pandas #4745 |
|
1443 | * :ghissue:`4792`: repr_html exception warning on qtconsole with pandas #4745 | |
1444 | * :ghissue:`4834`: function tooltip issues |
|
1444 | * :ghissue:`4834`: function tooltip issues | |
1445 | * :ghissue:`4808`: Docstrings in Notebook not displayed properly and introspection |
|
1445 | * :ghissue:`4808`: Docstrings in Notebook not displayed properly and introspection | |
1446 | * :ghissue:`4846`: Remove some leftover traces of irunner |
|
1446 | * :ghissue:`4846`: Remove some leftover traces of irunner | |
1447 | * :ghissue:`4810`: ipcluster bug in clean_logs flag |
|
1447 | * :ghissue:`4810`: ipcluster bug in clean_logs flag | |
1448 | * :ghissue:`4812`: update CodeMirror for the notebook |
|
1448 | * :ghissue:`4812`: update CodeMirror for the notebook | |
1449 | * :ghissue:`671`: add migration guide for old IPython config |
|
1449 | * :ghissue:`671`: add migration guide for old IPython config | |
1450 | * :ghissue:`4783`: ipython 2dev under windows / (win)python 3.3 experiment |
|
1450 | * :ghissue:`4783`: ipython 2dev under windows / (win)python 3.3 experiment | |
1451 | * :ghissue:`4772`: Notebook server info files |
|
1451 | * :ghissue:`4772`: Notebook server info files | |
1452 | * :ghissue:`4765`: missing build script for highlight.js |
|
1452 | * :ghissue:`4765`: missing build script for highlight.js | |
1453 | * :ghissue:`4787`: non-python kernels run python code with qtconsole |
|
1453 | * :ghissue:`4787`: non-python kernels run python code with qtconsole | |
1454 | * :ghissue:`4703`: Math macro in jinja templates. |
|
1454 | * :ghissue:`4703`: Math macro in jinja templates. | |
1455 | * :ghissue:`4595`: ipython notebook XSS vulnerable |
|
1455 | * :ghissue:`4595`: ipython notebook XSS vulnerable | |
1456 | * :ghissue:`4776`: Manually document py3compat module. |
|
1456 | * :ghissue:`4776`: Manually document py3compat module. | |
1457 | * :ghissue:`4686`: For-in loop on an array in cell.js |
|
1457 | * :ghissue:`4686`: For-in loop on an array in cell.js | |
1458 | * :ghissue:`3605`: Modal UI |
|
1458 | * :ghissue:`3605`: Modal UI | |
1459 | * :ghissue:`4769`: Ipython 2.0 will not startup on py27 on windows |
|
1459 | * :ghissue:`4769`: Ipython 2.0 will not startup on py27 on windows | |
1460 | * :ghissue:`4482`: reveal.js converter not including CDN by default? |
|
1460 | * :ghissue:`4482`: reveal.js converter not including CDN by default? | |
1461 | * :ghissue:`4761`: ipv6 address triggers cookie exception |
|
1461 | * :ghissue:`4761`: ipv6 address triggers cookie exception | |
1462 | * :ghissue:`4580`: rename or remove %profile magic |
|
1462 | * :ghissue:`4580`: rename or remove %profile magic | |
1463 | * :ghissue:`4643`: Docstring does not open properly |
|
1463 | * :ghissue:`4643`: Docstring does not open properly | |
1464 | * :ghissue:`4714`: Static URLs are not auto-versioned |
|
1464 | * :ghissue:`4714`: Static URLs are not auto-versioned | |
1465 | * :ghissue:`2573`: document code mirror keyboard shortcuts |
|
1465 | * :ghissue:`2573`: document code mirror keyboard shortcuts | |
1466 | * :ghissue:`4717`: hang in parallel.Client when using SSHAgent |
|
1466 | * :ghissue:`4717`: hang in parallel.Client when using SSHAgent | |
1467 | * :ghissue:`4544`: Clarify the requirement for pyreadline on Windows |
|
1467 | * :ghissue:`4544`: Clarify the requirement for pyreadline on Windows | |
1468 | * :ghissue:`3451`: revisit REST /new handler to avoid systematic crawling. |
|
1468 | * :ghissue:`3451`: revisit REST /new handler to avoid systematic crawling. | |
1469 | * :ghissue:`2922`: File => Save as '.py' saves magic as code |
|
1469 | * :ghissue:`2922`: File => Save as '.py' saves magic as code | |
1470 | * :ghissue:`4728`: Copy/Paste stripping broken in version > 0.13.x in QTConsole |
|
1470 | * :ghissue:`4728`: Copy/Paste stripping broken in version > 0.13.x in QTConsole | |
1471 | * :ghissue:`4539`: Nbconvert: Latex to PDF conversion fails on notebooks with accented letters |
|
1471 | * :ghissue:`4539`: Nbconvert: Latex to PDF conversion fails on notebooks with accented letters | |
1472 | * :ghissue:`4721`: purge_results with jobid crashing - looking for insight |
|
1472 | * :ghissue:`4721`: purge_results with jobid crashing - looking for insight | |
1473 | * :ghissue:`4620`: Notebook with ? in title defies autosave, renaming and deletion. |
|
1473 | * :ghissue:`4620`: Notebook with ? in title defies autosave, renaming and deletion. | |
1474 | * :ghissue:`4574`: Hash character in notebook name breaks a lot of things |
|
1474 | * :ghissue:`4574`: Hash character in notebook name breaks a lot of things | |
1475 | * :ghissue:`4709`: input_prefilter hook not called |
|
1475 | * :ghissue:`4709`: input_prefilter hook not called | |
1476 | * :ghissue:`1680`: qtconsole should support --no-banner and custom banner |
|
1476 | * :ghissue:`1680`: qtconsole should support --no-banner and custom banner | |
1477 | * :ghissue:`4689`: IOStream IP address configurable |
|
1477 | * :ghissue:`4689`: IOStream IP address configurable | |
1478 | * :ghissue:`4698`: Missing "if __name__ == '__main__':" check in /usr/bin/ipython |
|
1478 | * :ghissue:`4698`: Missing "if __name__ == '__main__':" check in /usr/bin/ipython | |
1479 | * :ghissue:`4191`: NBConvert: markdown inline and locally referenced files have incorrect file location for latex |
|
1479 | * :ghissue:`4191`: NBConvert: markdown inline and locally referenced files have incorrect file location for latex | |
1480 | * :ghissue:`2865`: %%!? does not display the shell execute docstring |
|
1480 | * :ghissue:`2865`: %%!? does not display the shell execute docstring | |
1481 | * :ghissue:`1551`: Notebook should be saved before printing |
|
1481 | * :ghissue:`1551`: Notebook should be saved before printing | |
1482 | * :ghissue:`4612`: remove `Configurable.created` ? |
|
1482 | * :ghissue:`4612`: remove `Configurable.created` ? | |
1483 | * :ghissue:`4629`: Lots of tests fail due to space in sys.executable |
|
1483 | * :ghissue:`4629`: Lots of tests fail due to space in sys.executable | |
1484 | * :ghissue:`4644`: Fixed URLs for notebooks |
|
1484 | * :ghissue:`4644`: Fixed URLs for notebooks | |
1485 | * :ghissue:`4621`: IPython 1.1.0 Qtconsole syntax highlighting highlights python 2 only built-ins when using python 3 |
|
1485 | * :ghissue:`4621`: IPython 1.1.0 Qtconsole syntax highlighting highlights python 2 only built-ins when using python 3 | |
1486 | * :ghissue:`2923`: Move Delete Button Away from Save Button in the HTML notebook toolbar |
|
1486 | * :ghissue:`2923`: Move Delete Button Away from Save Button in the HTML notebook toolbar | |
1487 | * :ghissue:`4615`: UnicodeDecodeError |
|
1487 | * :ghissue:`4615`: UnicodeDecodeError | |
1488 | * :ghissue:`4431`: ipython slow in os x mavericks? |
|
1488 | * :ghissue:`4431`: ipython slow in os x mavericks? | |
1489 | * :ghissue:`4538`: DOC: document how to change ipcontroller-engine.json in case controller was started with --ip="*" |
|
1489 | * :ghissue:`4538`: DOC: document how to change ipcontroller-engine.json in case controller was started with --ip="*" | |
1490 | * :ghissue:`4551`: Serialize methods and closures |
|
1490 | * :ghissue:`4551`: Serialize methods and closures | |
1491 | * :ghissue:`4081`: [Nbconvert][reveal] link to font awesome ? |
|
1491 | * :ghissue:`4081`: [Nbconvert][reveal] link to font awesome ? | |
1492 | * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3 |
|
1492 | * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3 | |
1493 | * :ghissue:`4578`: NBconvert fails with unicode errors when `--stdout` and file redirection is specified and HTML entities are present |
|
1493 | * :ghissue:`4578`: NBconvert fails with unicode errors when `--stdout` and file redirection is specified and HTML entities are present | |
1494 | * :ghissue:`4600`: Renaming new notebook to an exist name silently deletes the old one |
|
1494 | * :ghissue:`4600`: Renaming new notebook to an exist name silently deletes the old one | |
1495 | * :ghissue:`4598`: Qtconsole docstring pop-up fails on method containing defaulted enum argument |
|
1495 | * :ghissue:`4598`: Qtconsole docstring pop-up fails on method containing defaulted enum argument | |
1496 | * :ghissue:`951`: Remove Tornado monkeypatch |
|
1496 | * :ghissue:`951`: Remove Tornado monkeypatch | |
1497 | * :ghissue:`4564`: Notebook save failure |
|
1497 | * :ghissue:`4564`: Notebook save failure | |
1498 | * :ghissue:`4562`: nbconvert: Default encoding problem on OS X |
|
1498 | * :ghissue:`4562`: nbconvert: Default encoding problem on OS X | |
1499 | * :ghissue:`1675`: add file_to_run=file.ipynb capability to the notebook |
|
1499 | * :ghissue:`1675`: add file_to_run=file.ipynb capability to the notebook | |
1500 | * :ghissue:`4516`: `ipython console` doesn't send a `shutdown_request` |
|
1500 | * :ghissue:`4516`: `ipython console` doesn't send a `shutdown_request` | |
1501 | * :ghissue:`3043`: can't restart pdb session in ipython |
|
1501 | * :ghissue:`3043`: can't restart pdb session in ipython | |
1502 | * :ghissue:`4524`: Fix bug with non ascii passwords in notebook login |
|
1502 | * :ghissue:`4524`: Fix bug with non ascii passwords in notebook login | |
1503 | * :ghissue:`1866`: problems rendering an SVG? |
|
1503 | * :ghissue:`1866`: problems rendering an SVG? | |
1504 | * :ghissue:`4520`: unicode error when trying Audio('data/Bach Cello Suite #3.wav') |
|
1504 | * :ghissue:`4520`: unicode error when trying Audio('data/Bach Cello Suite #3.wav') | |
1505 | * :ghissue:`4493`: Qtconsole cannot print an ISO8601 date at nanosecond precision |
|
1505 | * :ghissue:`4493`: Qtconsole cannot print an ISO8601 date at nanosecond precision | |
1506 | * :ghissue:`4502`: intermittent parallel test failure test_purge_everything |
|
1506 | * :ghissue:`4502`: intermittent parallel test failure test_purge_everything | |
1507 | * :ghissue:`4495`: firefox 25.0: notebooks report "Notebook save failed", .py script save fails, but .ipynb save succeeds |
|
1507 | * :ghissue:`4495`: firefox 25.0: notebooks report "Notebook save failed", .py script save fails, but .ipynb save succeeds | |
1508 | * :ghissue:`4245`: nbconvert latex: code highlighting causes error |
|
1508 | * :ghissue:`4245`: nbconvert latex: code highlighting causes error | |
1509 | * :ghissue:`4486`: Test for whether inside virtualenv does not work if directory is symlinked |
|
1509 | * :ghissue:`4486`: Test for whether inside virtualenv does not work if directory is symlinked | |
1510 | * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation. |
|
1510 | * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation. | |
1511 | * :ghissue:`4447`: Ipcontroller broken in current HEAD on windows |
|
1511 | * :ghissue:`4447`: Ipcontroller broken in current HEAD on windows | |
1512 | * :ghissue:`4241`: Audio display object |
|
1512 | * :ghissue:`4241`: Audio display object | |
1513 | * :ghissue:`4463`: Error on empty c.Session.key |
|
1513 | * :ghissue:`4463`: Error on empty c.Session.key | |
1514 | * :ghissue:`4454`: UnicodeDecodeError when starting Ipython notebook on a directory containing a file with a non-ascii character |
|
1514 | * :ghissue:`4454`: UnicodeDecodeError when starting Ipython notebook on a directory containing a file with a non-ascii character | |
1515 | * :ghissue:`3801`: Autocompletion: Fix issue #3723 -- ordering of completions for magic commands and variables with same name |
|
1515 | * :ghissue:`3801`: Autocompletion: Fix issue #3723 -- ordering of completions for magic commands and variables with same name | |
1516 | * :ghissue:`3723`: Code completion: 'matplotlib' and '%matplotlib' |
|
1516 | * :ghissue:`3723`: Code completion: 'matplotlib' and '%matplotlib' | |
1517 | * :ghissue:`4396`: Always checkpoint al least once ? |
|
1517 | * :ghissue:`4396`: Always checkpoint al least once ? | |
1518 | * :ghissue:`2524`: [Notebook] Clear kernel queue |
|
1518 | * :ghissue:`2524`: [Notebook] Clear kernel queue | |
1519 | * :ghissue:`2292`: Client side tests for the notebook |
|
1519 | * :ghissue:`2292`: Client side tests for the notebook | |
1520 | * :ghissue:`4424`: Dealing with images in multidirectory environment |
|
1520 | * :ghissue:`4424`: Dealing with images in multidirectory environment | |
1521 | * :ghissue:`4388`: Make writing configurable magics easier |
|
1521 | * :ghissue:`4388`: Make writing configurable magics easier | |
1522 | * :ghissue:`852`: Notebook should be saved before downloading |
|
1522 | * :ghissue:`852`: Notebook should be saved before downloading | |
1523 | * :ghissue:`3708`: ipython profile locate should also work |
|
1523 | * :ghissue:`3708`: ipython profile locate should also work | |
1524 | * :ghissue:`1349`: `?` may generate hundreds of cell |
|
1524 | * :ghissue:`1349`: `?` may generate hundreds of cell | |
1525 | * :ghissue:`4381`: Using hasattr for trait_names instead of just looking for it directly/using __dir__? |
|
1525 | * :ghissue:`4381`: Using hasattr for trait_names instead of just looking for it directly/using __dir__? | |
1526 | * :ghissue:`4361`: Crash Ultratraceback/ session history |
|
1526 | * :ghissue:`4361`: Crash Ultratraceback/ session history | |
1527 | * :ghissue:`3044`: IPython notebook autocomplete for filename string converts multiple spaces to a single space |
|
1527 | * :ghissue:`3044`: IPython notebook autocomplete for filename string converts multiple spaces to a single space | |
1528 | * :ghissue:`3346`: Up arrow history search shows duplicates in Qtconsole |
|
1528 | * :ghissue:`3346`: Up arrow history search shows duplicates in Qtconsole | |
1529 | * :ghissue:`3496`: Fix import errors when running tests from the source directory |
|
1529 | * :ghissue:`3496`: Fix import errors when running tests from the source directory | |
1530 | * :ghissue:`4114`: If default profile doesn't exist, can't install mathjax to any location |
|
1530 | * :ghissue:`4114`: If default profile doesn't exist, can't install mathjax to any location | |
1531 | * :ghissue:`4335`: TestPylabSwitch.test_qt fails |
|
1531 | * :ghissue:`4335`: TestPylabSwitch.test_qt fails | |
1532 | * :ghissue:`4291`: serve like option for nbconvert --to latex |
|
1532 | * :ghissue:`4291`: serve like option for nbconvert --to latex | |
1533 | * :ghissue:`1824`: Exception before prompting for password during ssh connection |
|
1533 | * :ghissue:`1824`: Exception before prompting for password during ssh connection | |
1534 | * :ghissue:`4309`: Error in nbconvert - closing </code> tag is not inserted in HTML under some circumstances |
|
1534 | * :ghissue:`4309`: Error in nbconvert - closing </code> tag is not inserted in HTML under some circumstances | |
1535 | * :ghissue:`4351`: /parallel/apps/launcher.py error |
|
1535 | * :ghissue:`4351`: /parallel/apps/launcher.py error | |
1536 | * :ghissue:`3603`: Upcoming issues with nbconvert |
|
1536 | * :ghissue:`3603`: Upcoming issues with nbconvert | |
1537 | * :ghissue:`4296`: sync_imports() fails in python 3.3 |
|
1537 | * :ghissue:`4296`: sync_imports() fails in python 3.3 | |
1538 | * :ghissue:`4339`: local mathjax install doesn't work |
|
1538 | * :ghissue:`4339`: local mathjax install doesn't work | |
1539 | * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash |
|
1539 | * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash | |
1540 | * :ghissue:`4308`: Error when use "ipython notebook" in win7 64 with python2.7.3 64. |
|
1540 | * :ghissue:`4308`: Error when use "ipython notebook" in win7 64 with python2.7.3 64. | |
1541 | * :ghissue:`4317`: Relative imports broken in the notebook (Windows) |
|
1541 | * :ghissue:`4317`: Relative imports broken in the notebook (Windows) | |
1542 | * :ghissue:`3658`: Saving Notebook clears "Kernel Busy" status from the page and titlebar |
|
1542 | * :ghissue:`3658`: Saving Notebook clears "Kernel Busy" status from the page and titlebar | |
1543 | * :ghissue:`4312`: Link broken on ipython-doc stable |
|
1543 | * :ghissue:`4312`: Link broken on ipython-doc stable | |
1544 | * :ghissue:`1093`: Add boundary options to %load |
|
1544 | * :ghissue:`1093`: Add boundary options to %load | |
1545 | * :ghissue:`3619`: Multi-dir webservice design |
|
1545 | * :ghissue:`3619`: Multi-dir webservice design | |
1546 | * :ghissue:`4299`: Nbconvert, default_preprocessors to list of dotted name not list of obj |
|
1546 | * :ghissue:`4299`: Nbconvert, default_preprocessors to list of dotted name not list of obj | |
1547 | * :ghissue:`3210`: IPython.parallel tests seem to hang on ShiningPanda |
|
1547 | * :ghissue:`3210`: IPython.parallel tests seem to hang on ShiningPanda | |
1548 | * :ghissue:`4280`: MathJax Automatic Line Breaking |
|
1548 | * :ghissue:`4280`: MathJax Automatic Line Breaking | |
1549 | * :ghissue:`4039`: Celltoolbar example issue |
|
1549 | * :ghissue:`4039`: Celltoolbar example issue | |
1550 | * :ghissue:`4247`: nbconvert --to latex: error when converting greek letter |
|
1550 | * :ghissue:`4247`: nbconvert --to latex: error when converting greek letter | |
1551 | * :ghissue:`4273`: %%capture not capturing rich objects like plots (IPython 1.1.0) |
|
1551 | * :ghissue:`4273`: %%capture not capturing rich objects like plots (IPython 1.1.0) | |
1552 | * :ghissue:`3866`: Vertical offsets in LaTeX output for nbconvert |
|
1552 | * :ghissue:`3866`: Vertical offsets in LaTeX output for nbconvert | |
1553 | * :ghissue:`3631`: xkcd mode for the IPython notebook |
|
1553 | * :ghissue:`3631`: xkcd mode for the IPython notebook | |
1554 | * :ghissue:`4243`: Test exclusions not working on Windows |
|
1554 | * :ghissue:`4243`: Test exclusions not working on Windows | |
1555 | * :ghissue:`4256`: IPython no longer handles unicode file names |
|
1555 | * :ghissue:`4256`: IPython no longer handles unicode file names | |
1556 | * :ghissue:`3656`: Audio displayobject |
|
1556 | * :ghissue:`3656`: Audio displayobject | |
1557 | * :ghissue:`4223`: Double output on Ctrl-enter-enter |
|
1557 | * :ghissue:`4223`: Double output on Ctrl-enter-enter | |
1558 | * :ghissue:`4184`: nbconvert: use r pygmentize backend when highlighting "%%R" cells |
|
1558 | * :ghissue:`4184`: nbconvert: use r pygmentize backend when highlighting "%%R" cells | |
1559 | * :ghissue:`3851`: Adds an explicit newline for pretty-printing. |
|
1559 | * :ghissue:`3851`: Adds an explicit newline for pretty-printing. | |
1560 | * :ghissue:`3622`: Drop fakemodule |
|
1560 | * :ghissue:`3622`: Drop fakemodule | |
1561 | * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex |
|
1561 | * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex | |
1562 | * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows. |
|
1562 | * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows. | |
1563 | * :ghissue:`4203`: remove spurious print statement from parallel annoted functions |
|
1563 | * :ghissue:`4203`: remove spurious print statement from parallel annoted functions | |
1564 | * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone |
|
1564 | * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone | |
1565 | * :ghissue:`3747`: ipynb -> ipynb transformer |
|
1565 | * :ghissue:`3747`: ipynb -> ipynb transformer | |
1566 | * :ghissue:`4024`: nbconvert markdown issues |
|
1566 | * :ghissue:`4024`: nbconvert markdown issues | |
1567 | * :ghissue:`3903`: on Windows, 'ipython3 nbconvert "C:/blabla/first_try.ipynb" --to slides' gives an unexpected result, and '--post serve' fails |
|
1567 | * :ghissue:`3903`: on Windows, 'ipython3 nbconvert "C:/blabla/first_try.ipynb" --to slides' gives an unexpected result, and '--post serve' fails | |
1568 | * :ghissue:`4095`: Catch js error in append html in stream/pyerr |
|
1568 | * :ghissue:`4095`: Catch js error in append html in stream/pyerr | |
1569 | * :ghissue:`1880`: Add parallelism to test_pr |
|
1569 | * :ghissue:`1880`: Add parallelism to test_pr | |
1570 | * :ghissue:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows |
|
1570 | * :ghissue:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows | |
1571 | * :ghissue:`4156`: Specifying --gui=tk at the command line |
|
1571 | * :ghissue:`4156`: Specifying --gui=tk at the command line | |
1572 | * :ghissue:`4146`: Having to prepend 'files/' to markdown image paths is confusing |
|
1572 | * :ghissue:`4146`: Having to prepend 'files/' to markdown image paths is confusing | |
1573 | * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS. |
|
1573 | * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS. | |
1574 | * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook. |
|
1574 | * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook. | |
1575 | * :ghissue:`3998`: sample custom.js needs to be updated |
|
1575 | * :ghissue:`3998`: sample custom.js needs to be updated | |
1576 | * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0 |
|
1576 | * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0 | |
1577 | * :ghissue:`3990`: Buitlin `input` doesn't work over zmq |
|
1577 | * :ghissue:`3990`: Buitlin `input` doesn't work over zmq | |
1578 | * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook |
|
1578 | * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook | |
1579 | * :ghissue:`4059`: Issues with Ellipsis literal in Python 3 |
|
1579 | * :ghissue:`4059`: Issues with Ellipsis literal in Python 3 | |
1580 | * :ghissue:`2310`: "ZMQError: Interrupted system call" from RichIPythonWidget |
|
1580 | * :ghissue:`2310`: "ZMQError: Interrupted system call" from RichIPythonWidget | |
1581 | * :ghissue:`3807`: qtconsole ipython 0.13.2 - html/xhtml export fails |
|
1581 | * :ghissue:`3807`: qtconsole ipython 0.13.2 - html/xhtml export fails | |
1582 | * :ghissue:`4103`: Wrong default argument of DirectView.clear |
|
1582 | * :ghissue:`4103`: Wrong default argument of DirectView.clear | |
1583 | * :ghissue:`4100`: parallel.client.client references undefined error.EngineError |
|
1583 | * :ghissue:`4100`: parallel.client.client references undefined error.EngineError | |
1584 | * :ghissue:`484`: Drop nosepatch |
|
1584 | * :ghissue:`484`: Drop nosepatch | |
1585 | * :ghissue:`3350`: Added longlist support in ipdb. |
|
1585 | * :ghissue:`3350`: Added longlist support in ipdb. | |
1586 | * :ghissue:`1591`: Keying 'q' doesn't quit the interactive help in Wins7 |
|
1586 | * :ghissue:`1591`: Keying 'q' doesn't quit the interactive help in Wins7 | |
1587 | * :ghissue:`40`: The tests in test_process fail under Windows |
|
1587 | * :ghissue:`40`: The tests in test_process fail under Windows | |
1588 | * :ghissue:`3744`: capture rich output as well as stdout/err in capture_output |
|
1588 | * :ghissue:`3744`: capture rich output as well as stdout/err in capture_output | |
1589 | * :ghissue:`3742`: %%capture to grab rich display outputs |
|
1589 | * :ghissue:`3742`: %%capture to grab rich display outputs | |
1590 | * :ghissue:`3863`: Added working speaker notes for slides. |
|
1590 | * :ghissue:`3863`: Added working speaker notes for slides. | |
1591 | * :ghissue:`4013`: Iptest fails in dual python installation |
|
1591 | * :ghissue:`4013`: Iptest fails in dual python installation | |
1592 | * :ghissue:`4005`: IPython.start_kernel doesn't work. |
|
1592 | * :ghissue:`4005`: IPython.start_kernel doesn't work. | |
1593 | * :ghissue:`4020`: IPython parallel map fails on numpy arrays |
|
1593 | * :ghissue:`4020`: IPython parallel map fails on numpy arrays | |
1594 | * :ghissue:`3914`: nbconvert: Transformer tests |
|
1594 | * :ghissue:`3914`: nbconvert: Transformer tests | |
1595 | * :ghissue:`3923`: nbconvert: Writer tests |
|
1595 | * :ghissue:`3923`: nbconvert: Writer tests | |
1596 | * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3 |
|
1596 | * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3 | |
1597 | * :ghissue:`3937`: make tab visible in codemirror and light red background |
|
1597 | * :ghissue:`3937`: make tab visible in codemirror and light red background | |
1598 | * :ghissue:`3935`: No feedback for mixed tabs and spaces |
|
1598 | * :ghissue:`3935`: No feedback for mixed tabs and spaces | |
1599 | * :ghissue:`3933`: nbconvert: Post-processor tests |
|
1599 | * :ghissue:`3933`: nbconvert: Post-processor tests | |
1600 | * :ghissue:`3977`: unable to complete remote connections for two-process |
|
1600 | * :ghissue:`3977`: unable to complete remote connections for two-process | |
1601 | * :ghissue:`3939`: minor checkpoint cleanup |
|
1601 | * :ghissue:`3939`: minor checkpoint cleanup | |
1602 | * :ghissue:`3955`: complete on % for magic in notebook |
|
1602 | * :ghissue:`3955`: complete on % for magic in notebook | |
1603 | * :ghissue:`3954`: all magics should be listed when completing on % |
|
1603 | * :ghissue:`3954`: all magics should be listed when completing on % | |
1604 | * :ghissue:`3980`: nbconvert rst output lacks needed blank lines |
|
1604 | * :ghissue:`3980`: nbconvert rst output lacks needed blank lines | |
1605 | * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6) |
|
1605 | * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6) | |
1606 | * :ghissue:`3880`: nbconvert: R&D remaining tests |
|
1606 | * :ghissue:`3880`: nbconvert: R&D remaining tests | |
1607 | * :ghissue:`2440`: IPEP 4: Python 3 Compatibility |
|
1607 | * :ghissue:`2440`: IPEP 4: Python 3 Compatibility |
@@ -1,765 +1,765 b'' | |||||
1 | ============= |
|
1 | ============= | |
2 | 0.11 Series |
|
2 | 0.11 Series | |
3 | ============= |
|
3 | ============= | |
4 |
|
4 | |||
5 | Release 0.11 |
|
5 | Release 0.11 | |
6 | ============ |
|
6 | ============ | |
7 |
|
7 | |||
8 | IPython 0.11 is a *major* overhaul of IPython, two years in the making. Most |
|
8 | IPython 0.11 is a *major* overhaul of IPython, two years in the making. Most | |
9 | of the code base has been rewritten or at least reorganized, breaking backward |
|
9 | of the code base has been rewritten or at least reorganized, breaking backward | |
10 | compatibility with several APIs in previous versions. It is the first major |
|
10 | compatibility with several APIs in previous versions. It is the first major | |
11 | release in two years, and probably the most significant change to IPython since |
|
11 | release in two years, and probably the most significant change to IPython since | |
12 | its inception. We plan to have a relatively quick succession of releases, as |
|
12 | its inception. We plan to have a relatively quick succession of releases, as | |
13 | people discover new bugs and regressions. Once we iron out any significant |
|
13 | people discover new bugs and regressions. Once we iron out any significant | |
14 | bugs in this process and settle down the new APIs, this series will become |
|
14 | bugs in this process and settle down the new APIs, this series will become | |
15 | IPython 1.0. We encourage feedback now on the core APIs, which we hope to |
|
15 | IPython 1.0. We encourage feedback now on the core APIs, which we hope to | |
16 | maintain stable during the 1.0 series. |
|
16 | maintain stable during the 1.0 series. | |
17 |
|
17 | |||
18 | Since the internal APIs have changed so much, projects using IPython as a |
|
18 | Since the internal APIs have changed so much, projects using IPython as a | |
19 | library (as opposed to end-users of the application) are the most likely to |
|
19 | library (as opposed to end-users of the application) are the most likely to | |
20 | encounter regressions or changes that break their existing use patterns. We |
|
20 | encounter regressions or changes that break their existing use patterns. We | |
21 | will make every effort to provide updated versions of the APIs to facilitate |
|
21 | will make every effort to provide updated versions of the APIs to facilitate | |
22 | the transition, and we encourage you to contact us on the `development mailing |
|
22 | the transition, and we encourage you to contact us on the `development mailing | |
23 | list`__ with questions and feedback. |
|
23 | list`__ with questions and feedback. | |
24 |
|
24 | |||
25 | .. __: http://mail.scipy.org/mailman/listinfo/ipython-dev |
|
25 | .. __: http://mail.scipy.org/mailman/listinfo/ipython-dev | |
26 |
|
26 | |||
27 | Chris Fonnesbeck recently wrote an `excellent post`__ that highlights some of |
|
27 | Chris Fonnesbeck recently wrote an `excellent post`__ that highlights some of | |
28 | our major new features, with examples and screenshots. We encourage you to |
|
28 | our major new features, with examples and screenshots. We encourage you to | |
29 | read it as it provides an illustrated, high-level overview complementing the |
|
29 | read it as it provides an illustrated, high-level overview complementing the | |
30 | detailed feature breakdown in this document. |
|
30 | detailed feature breakdown in this document. | |
31 |
|
31 | |||
32 | .. __: http://stronginference.com/post/innovations-in-ipython |
|
32 | .. __: http://stronginference.com/post/innovations-in-ipython | |
33 |
|
33 | |||
34 | A quick summary of the major changes (see below for details): |
|
34 | A quick summary of the major changes (see below for details): | |
35 |
|
35 | |||
36 | * **Standalone Qt console**: a new rich console has been added to IPython, |
|
36 | * **Standalone Qt console**: a new rich console has been added to IPython, | |
37 | started with `ipython qtconsole`. In this application we have tried to |
|
37 | started with `ipython qtconsole`. In this application we have tried to | |
38 | retain the feel of a terminal for fast and efficient workflows, while adding |
|
38 | retain the feel of a terminal for fast and efficient workflows, while adding | |
39 | many features that a line-oriented terminal simply can not support, such as |
|
39 | many features that a line-oriented terminal simply can not support, such as | |
40 | inline figures, full multiline editing with syntax highlighting, graphical |
|
40 | inline figures, full multiline editing with syntax highlighting, graphical | |
41 | tooltips for function calls and much more. This development was sponsored by |
|
41 | tooltips for function calls and much more. This development was sponsored by | |
42 | `Enthought Inc.`__. See :ref:`below <qtconsole_011>` for details. |
|
42 | `Enthought Inc.`__. See :ref:`below <qtconsole_011>` for details. | |
43 |
|
43 | |||
44 | .. __: http://enthought.com |
|
44 | .. __: http://enthought.com | |
45 |
|
45 | |||
46 | * **High-level parallel computing with ZeroMQ**. Using the same architecture |
|
46 | * **High-level parallel computing with ZeroMQ**. Using the same architecture | |
47 | that our Qt console is based on, we have completely rewritten our high-level |
|
47 | that our Qt console is based on, we have completely rewritten our high-level | |
48 | parallel computing machinery that in prior versions used the Twisted |
|
48 | parallel computing machinery that in prior versions used the Twisted | |
49 | networking framework. While this change will require users to update their |
|
49 | networking framework. While this change will require users to update their | |
50 | codes, the improvements in performance, memory control and internal |
|
50 | codes, the improvements in performance, memory control and internal | |
51 | consistency across our codebase convinced us it was a price worth paying. We |
|
51 | consistency across our codebase convinced us it was a price worth paying. We | |
52 | have tried to explain how to best proceed with this update, and will be happy |
|
52 | have tried to explain how to best proceed with this update, and will be happy | |
53 | to answer questions that may arise. A full tutorial describing these |
|
53 | to answer questions that may arise. A full tutorial describing these | |
54 | features `was presented at SciPy'11`__, more details :ref:`below |
|
54 | features `was presented at SciPy'11`__, more details :ref:`below | |
55 | <parallel_011>`. |
|
55 | <parallel_011>`. | |
56 |
|
56 | |||
57 | .. __: http://minrk.github.com/scipy-tutorial-2011 |
|
57 | .. __: http://minrk.github.com/scipy-tutorial-2011 | |
58 |
|
58 | |||
59 | * **New model for GUI/plotting support in the terminal**. Now instead of the |
|
59 | * **New model for GUI/plotting support in the terminal**. Now instead of the | |
60 | various `-Xthread` flags we had before, GUI support is provided without the |
|
60 | various `-Xthread` flags we had before, GUI support is provided without the | |
61 | use of any threads, by directly integrating GUI event loops with Python's |
|
61 | use of any threads, by directly integrating GUI event loops with Python's | |
62 | `PyOS_InputHook` API. A new command-line flag `--gui` controls GUI support, |
|
62 | `PyOS_InputHook` API. A new command-line flag `--gui` controls GUI support, | |
63 | and it can also be enabled after IPython startup via the new `%gui` magic. |
|
63 | and it can also be enabled after IPython startup via the new `%gui` magic. | |
64 | This requires some changes if you want to execute GUI-using scripts inside |
|
64 | This requires some changes if you want to execute GUI-using scripts inside | |
65 | IPython, see :ref:`the GUI support section <gui_support>` for more details. |
|
65 | IPython, see :ref:`the GUI support section <gui_support>` for more details. | |
66 |
|
66 | |||
67 | * **A two-process architecture.** The Qt console is the first use of a new |
|
67 | * **A two-process architecture.** The Qt console is the first use of a new | |
68 | model that splits IPython between a kernel process where code is executed and |
|
68 | model that splits IPython between a kernel process where code is executed and | |
69 | a client that handles user interaction. We plan on also providing terminal |
|
69 | a client that handles user interaction. We plan on also providing terminal | |
70 | and web-browser based clients using this infrastructure in future releases. |
|
70 | and web-browser based clients using this infrastructure in future releases. | |
71 | This model allows multiple clients to interact with an IPython process |
|
71 | This model allows multiple clients to interact with an IPython process | |
72 | through a :ref:`well-documented messaging protocol <messaging>` using the |
|
72 | through a :ref:`well-documented messaging protocol <messaging>` using the | |
73 | ZeroMQ networking library. |
|
73 | ZeroMQ networking library. | |
74 |
|
74 | |||
75 | * **Refactoring.** the entire codebase has been refactored, in order to make it |
|
75 | * **Refactoring.** the entire codebase has been refactored, in order to make it | |
76 | more modular and easier to contribute to. IPython has traditionally been a |
|
76 | more modular and easier to contribute to. IPython has traditionally been a | |
77 | hard project to participate because the old codebase was very monolithic. We |
|
77 | hard project to participate because the old codebase was very monolithic. We | |
78 | hope this (ongoing) restructuring will make it easier for new developers to |
|
78 | hope this (ongoing) restructuring will make it easier for new developers to | |
79 | join us. |
|
79 | join us. | |
80 |
|
80 | |||
81 | * **Vim integration**. Vim can be configured to seamlessly control an IPython |
|
81 | * **Vim integration**. Vim can be configured to seamlessly control an IPython | |
82 | kernel, see the files in :file:`docs/examples/vim` for the full details. |
|
82 | kernel, see the files in :file:`docs/examples/vim` for the full details. | |
83 | This work was done by Paul Ivanov, who prepared a nice `video |
|
83 | This work was done by Paul Ivanov, who prepared a nice `video | |
84 | demonstration`__ of the features it provides. |
|
84 | demonstration`__ of the features it provides. | |
85 |
|
85 | |||
86 | .. __: http://pirsquared.org/blog/2011/07/28/vim-ipython/ |
|
86 | .. __: http://pirsquared.org/blog/2011/07/28/vim-ipython/ | |
87 |
|
87 | |||
88 | * **Integration into Microsoft Visual Studio**. Thanks to the work of the |
|
88 | * **Integration into Microsoft Visual Studio**. Thanks to the work of the | |
89 | Microsoft `Python Tools for Visual Studio`__ team, this version of IPython |
|
89 | Microsoft `Python Tools for Visual Studio`__ team, this version of IPython | |
90 | has been integrated into Microsoft Visual Studio's Python tools open source |
|
90 | has been integrated into Microsoft Visual Studio's Python tools open source | |
91 | plug-in. `Details below`_ |
|
91 | plug-in. `Details below`_ | |
92 |
|
92 | |||
93 | .. __: http://pytools.codeplex.com |
|
93 | .. __: http://pytools.codeplex.com | |
94 | .. _details below: ms_visual_studio_011_ |
|
94 | .. _details below: ms_visual_studio_011_ | |
95 |
|
95 | |||
96 | * **Improved unicode support**. We closed many bugs related to unicode input. |
|
96 | * **Improved unicode support**. We closed many bugs related to unicode input. | |
97 |
|
97 | |||
98 | * **Python 3**. IPython now runs on Python 3.x. See :ref:`python3_011` for |
|
98 | * **Python 3**. IPython now runs on Python 3.x. See :ref:`python3_011` for | |
99 | details. |
|
99 | details. | |
100 |
|
100 | |||
101 | * **New profile model**. Profiles are now directories that contain all relevant |
|
101 | * **New profile model**. Profiles are now directories that contain all relevant | |
102 | information for that session, and thus better isolate IPython use-cases. |
|
102 | information for that session, and thus better isolate IPython use-cases. | |
103 |
|
103 | |||
104 | * **SQLite storage for history**. All history is now stored in a SQLite |
|
104 | * **SQLite storage for history**. All history is now stored in a SQLite | |
105 | database, providing support for multiple simultaneous sessions that won't |
|
105 | database, providing support for multiple simultaneous sessions that won't | |
106 | clobber each other as well as the ability to perform queries on all stored |
|
106 | clobber each other as well as the ability to perform queries on all stored | |
107 | data. |
|
107 | data. | |
108 |
|
108 | |||
109 | * **New configuration system**. All parts of IPython are now configured via a |
|
109 | * **New configuration system**. All parts of IPython are now configured via a | |
110 | mechanism inspired by the Enthought Traits library. Any configurable element |
|
110 | mechanism inspired by the Enthought Traits library. Any configurable element | |
111 | can have its attributes set either via files that now use real Python syntax |
|
111 | can have its attributes set either via files that now use real Python syntax | |
112 | or from the command-line. |
|
112 | or from the command-line. | |
113 |
|
113 | |||
114 | * **Pasting of code with prompts**. IPython now intelligently strips out input |
|
114 | * **Pasting of code with prompts**. IPython now intelligently strips out input | |
115 | prompts , be they plain Python ones (``>>>`` and ``...``) or IPython ones |
|
115 | prompts , be they plain Python ones (``>>>`` and ``...``) or IPython ones | |
116 | (``In [N]:`` and ``...:``). More details :ref:`here <pasting_with_prompts>`. |
|
116 | (``In [N]:`` and ``...:``). More details :ref:`here <pasting_with_prompts>`. | |
117 |
|
117 | |||
118 |
|
118 | |||
119 | Authors and support |
|
119 | Authors and support | |
120 | ------------------- |
|
120 | ------------------- | |
121 |
|
121 | |||
122 | Over 60 separate authors have contributed to this release, see :ref:`below |
|
122 | Over 60 separate authors have contributed to this release, see :ref:`below | |
123 | <credits_011>` for a full list. In particular, we want to highlight the |
|
123 | <credits_011>` for a full list. In particular, we want to highlight the | |
124 | extremely active participation of two new core team members: Evan Patterson |
|
124 | extremely active participation of two new core team members: Evan Patterson | |
125 | implemented the Qt console, and Thomas Kluyver started with our Python 3 port |
|
125 | implemented the Qt console, and Thomas Kluyver started with our Python 3 port | |
126 | and by now has made major contributions to just about every area of IPython. |
|
126 | and by now has made major contributions to just about every area of IPython. | |
127 |
|
127 | |||
128 | We are also grateful for the support we have received during this development |
|
128 | We are also grateful for the support we have received during this development | |
129 | cycle from several institutions: |
|
129 | cycle from several institutions: | |
130 |
|
130 | |||
131 | - `Enthought Inc`__ funded the development of our new Qt console, an effort that |
|
131 | - `Enthought Inc`__ funded the development of our new Qt console, an effort that | |
132 | required developing major pieces of underlying infrastructure, which now |
|
132 | required developing major pieces of underlying infrastructure, which now | |
133 | power not only the Qt console but also our new parallel machinery. We'd like |
|
133 | power not only the Qt console but also our new parallel machinery. We'd like | |
134 | to thank Eric Jones and Travis Oliphant for their support, as well as Ilan |
|
134 | to thank Eric Jones and Travis Oliphant for their support, as well as Ilan | |
135 | Schnell for his tireless work integrating and testing IPython in the |
|
135 | Schnell for his tireless work integrating and testing IPython in the | |
136 | `Enthought Python Distribution`_. |
|
136 | `Enthought Python Distribution`_. | |
137 |
|
137 | |||
138 | .. __: http://enthought.com |
|
138 | .. __: http://enthought.com | |
139 | .. _Enthought Python Distribution: http://www.enthought.com/products/epd.php |
|
139 | .. _Enthought Python Distribution: http://www.enthought.com/products/epd.php | |
140 |
|
140 | |||
141 | - Nipy/NIH: funding via the `NiPy project`__ (NIH grant 5R01MH081909-02) helped |
|
141 | - Nipy/NIH: funding via the `NiPy project`__ (NIH grant 5R01MH081909-02) helped | |
142 | us jumpstart the development of this series by restructuring the entire |
|
142 | us jumpstart the development of this series by restructuring the entire | |
143 | codebase two years ago in a way that would make modular development and |
|
143 | codebase two years ago in a way that would make modular development and | |
144 | testing more approachable. Without this initial groundwork, all the new |
|
144 | testing more approachable. Without this initial groundwork, all the new | |
145 | features we have added would have been impossible to develop. |
|
145 | features we have added would have been impossible to develop. | |
146 |
|
146 | |||
147 | .. __: http://nipy.org |
|
147 | .. __: http://nipy.org | |
148 |
|
148 | |||
149 | - Sage/NSF: funding via the grant `Sage: Unifying Mathematical Software for |
|
149 | - Sage/NSF: funding via the grant `Sage: Unifying Mathematical Software for | |
150 | Scientists, Engineers, and Mathematicians`__ (NSF grant DMS-1015114) |
|
150 | Scientists, Engineers, and Mathematicians`__ (NSF grant DMS-1015114) | |
151 | supported a meeting in spring 2011 of several of the core IPython developers |
|
151 | supported a meeting in spring 2011 of several of the core IPython developers | |
152 | where major progress was made integrating the last key pieces leading to this |
|
152 | where major progress was made integrating the last key pieces leading to this | |
153 | release. |
|
153 | release. | |
154 |
|
154 | |||
155 | .. __: http://modular.math.washington.edu/grants/compmath09 |
|
155 | .. __: http://modular.math.washington.edu/grants/compmath09 | |
156 |
|
156 | |||
157 | - Microsoft's team working on `Python Tools for Visual Studio`__ developed the |
|
157 | - Microsoft's team working on `Python Tools for Visual Studio`__ developed the | |
158 | integraton of IPython into the Python plugin for Visual Studio 2010. |
|
158 | integraton of IPython into the Python plugin for Visual Studio 2010. | |
159 |
|
159 | |||
160 | .. __: http://pytools.codeplex.com |
|
160 | .. __: http://pytools.codeplex.com | |
161 |
|
161 | |||
162 | - Google Summer of Code: in 2010, we had two students developing prototypes of |
|
162 | - Google Summer of Code: in 2010, we had two students developing prototypes of | |
163 | the new machinery that is now maturing in this release: `Omar Zapata`_ and |
|
163 | the new machinery that is now maturing in this release: `Omar Zapata`_ and | |
164 | `Gerardo Gutiérrez`_. |
|
164 | `Gerardo Gutiérrez`_. | |
165 |
|
165 | |||
166 | .. _Omar Zapata: http://ipythonzmq.blogspot.com/2010/08/ipython-zmq-status.html |
|
166 | .. _Omar Zapata: http://ipythonzmq.blogspot.com/2010/08/ipython-zmq-status.html | |
167 | .. _Gerardo Gutiérrez: http://ipythonqt.blogspot.com/2010/04/ipython-qt-interface-gsoc-2010-proposal.html> |
|
167 | .. _Gerardo Gutiérrez: http://ipythonqt.blogspot.com/2010/04/ipython-qt-interface-gsoc-2010-proposal.html> | |
168 |
|
168 | |||
169 |
|
169 | |||
170 | Development summary: moving to Git and Github |
|
170 | Development summary: moving to Git and Github | |
171 | --------------------------------------------- |
|
171 | --------------------------------------------- | |
172 |
|
172 | |||
173 | In April 2010, after `one breakage too many with bzr`__, we decided to move our |
|
173 | In April 2010, after `one breakage too many with bzr`__, we decided to move our | |
174 | entire development process to Git and Github.com. This has proven to be one of |
|
174 | entire development process to Git and Github.com. This has proven to be one of | |
175 | the best decisions in the project's history, as the combination of git and |
|
175 | the best decisions in the project's history, as the combination of git and | |
176 | github have made us far, far more productive than we could be with our previous |
|
176 | github have made us far, far more productive than we could be with our previous | |
177 | tools. We first converted our bzr repo to a git one without losing history, |
|
177 | tools. We first converted our bzr repo to a git one without losing history, | |
178 | and a few weeks later ported all open Launchpad bugs to github issues with |
|
178 | and a few weeks later ported all open Launchpad bugs to github issues with | |
179 | their comments mostly intact (modulo some formatting changes). This ensured a |
|
179 | their comments mostly intact (modulo some formatting changes). This ensured a | |
180 | smooth transition where no development history or submitted bugs were lost. |
|
180 | smooth transition where no development history or submitted bugs were lost. | |
181 | Feel free to use our little Launchpad to Github issues `porting script`_ if you |
|
181 | Feel free to use our little Launchpad to Github issues `porting script`_ if you | |
182 | need to make a similar transition. |
|
182 | need to make a similar transition. | |
183 |
|
183 | |||
184 | .. __: http://mail.scipy.org/pipermail/ipython-dev/2010-April/005944.html |
|
184 | .. __: http://mail.scipy.org/pipermail/ipython-dev/2010-April/005944.html | |
185 | .. _porting script: https://gist.github.com/835577 |
|
185 | .. _porting script: https://gist.github.com/835577 | |
186 |
|
186 | |||
187 | These simple statistics show how much work has been done on the new release, by |
|
187 | These simple statistics show how much work has been done on the new release, by | |
188 | comparing the current code to the last point it had in common with the 0.10 |
|
188 | comparing the current code to the last point it had in common with the 0.10 | |
189 | series. A huge diff and ~2200 commits make up this cycle:: |
|
189 | series. A huge diff and ~2200 commits make up this cycle:: | |
190 |
|
190 | |||
191 | git diff $(git merge-base 0.10.2 HEAD) | wc -l |
|
191 | git diff $(git merge-base 0.10.2 HEAD) | wc -l | |
192 | 288019 |
|
192 | 288019 | |
193 |
|
193 | |||
194 | git log $(git merge-base 0.10.2 HEAD)..HEAD --oneline | wc -l |
|
194 | git log $(git merge-base 0.10.2 HEAD)..HEAD --oneline | wc -l | |
195 | 2200 |
|
195 | 2200 | |
196 |
|
196 | |||
197 | Since our move to github, 511 issues were closed, 226 of which were pull |
|
197 | Since our move to github, 511 issues were closed, 226 of which were pull | |
198 | requests and 285 regular issues (:ref:`a full list with links |
|
198 | requests and 285 regular issues (:ref:`a full list with links | |
199 | <issues_list_011>` is available for those interested in the details). Github's |
|
199 | <issues_list_011>` is available for those interested in the details). Github's | |
200 | pull requests are a fantastic mechanism for reviewing code and building a |
|
200 | pull requests are a fantastic mechanism for reviewing code and building a | |
201 | shared ownership of the project, and we are making enthusiastic use of it. |
|
201 | shared ownership of the project, and we are making enthusiastic use of it. | |
202 |
|
202 | |||
203 | .. Note:: |
|
203 | .. Note:: | |
204 |
|
204 | |||
205 | This undercounts the number of issues closed in this development cycle, |
|
205 | This undercounts the number of issues closed in this development cycle, | |
206 | since we only moved to github for issue tracking in May 2010, but we have no |
|
206 | since we only moved to github for issue tracking in May 2010, but we have no | |
207 | way of collecting statistics on the number of issues closed in the old |
|
207 | way of collecting statistics on the number of issues closed in the old | |
208 | Launchpad bug tracker prior to that. |
|
208 | Launchpad bug tracker prior to that. | |
209 |
|
209 | |||
210 |
|
210 | |||
211 | .. _qtconsole_011: |
|
211 | .. _qtconsole_011: | |
212 |
|
212 | |||
213 | Qt Console |
|
213 | Qt Console | |
214 | ---------- |
|
214 | ---------- | |
215 |
|
215 | |||
216 | IPython now ships with a Qt application that feels very much like a terminal, |
|
216 | IPython now ships with a Qt application that feels very much like a terminal, | |
217 | but is in fact a rich GUI that runs an IPython client but supports inline |
|
217 | but is in fact a rich GUI that runs an IPython client but supports inline | |
218 | figures, saving sessions to PDF and HTML, multiline editing with syntax |
|
218 | figures, saving sessions to PDF and HTML, multiline editing with syntax | |
219 | highlighting, graphical calltips and much more: |
|
219 | highlighting, graphical calltips and much more: | |
220 |
|
220 | |||
221 | .. figure:: ../_images/qtconsole.png |
|
221 | .. figure:: ../_images/qtconsole.png | |
222 | :width: 400px |
|
222 | :width: 400px | |
223 | :alt: IPython Qt console with embedded plots |
|
223 | :alt: IPython Qt console with embedded plots | |
224 | :align: center |
|
224 | :align: center | |
225 | :target: ../_images/qtconsole.png |
|
225 | :target: ../_images/qtconsole.png | |
226 |
|
226 | |||
227 | The Qt console for IPython, using inline matplotlib plots. |
|
227 | The Qt console for IPython, using inline matplotlib plots. | |
228 |
|
228 | |||
229 | We hope that many projects will embed this widget, which we've kept |
|
229 | We hope that many projects will embed this widget, which we've kept | |
230 | deliberately very lightweight, into their own environments. In the future we |
|
230 | deliberately very lightweight, into their own environments. In the future we | |
231 | may also offer a slightly more featureful application (with menus and other GUI |
|
231 | may also offer a slightly more featureful application (with menus and other GUI | |
232 | elements), but we remain committed to always shipping this easy to embed |
|
232 | elements), but we remain committed to always shipping this easy to embed | |
233 | widget. |
|
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 | description of the console's features and use. |
|
236 | description of the console's features and use. | |
237 |
|
237 | |||
238 |
|
238 | |||
239 | .. _parallel_011: |
|
239 | .. _parallel_011: | |
240 |
|
240 | |||
241 | High-level parallel computing with ZeroMQ |
|
241 | High-level parallel computing with ZeroMQ | |
242 | ----------------------------------------- |
|
242 | ----------------------------------------- | |
243 |
|
243 | |||
244 | We have completely rewritten the Twisted-based code for high-level parallel |
|
244 | We have completely rewritten the Twisted-based code for high-level parallel | |
245 | computing to work atop our new ZeroMQ architecture. While we realize this will |
|
245 | computing to work atop our new ZeroMQ architecture. While we realize this will | |
246 | break compatibility for a number of users, we hope to make the transition as |
|
246 | break compatibility for a number of users, we hope to make the transition as | |
247 | easy as possible with our docs, and we are convinced the change is worth it. |
|
247 | easy as possible with our docs, and we are convinced the change is worth it. | |
248 | ZeroMQ provides us with much tighter control over memory, higher performance, |
|
248 | ZeroMQ provides us with much tighter control over memory, higher performance, | |
249 | and its communications are impervious to the Python Global Interpreter Lock |
|
249 | and its communications are impervious to the Python Global Interpreter Lock | |
250 | because they take place in a system-level C++ thread. The impact of the GIL in |
|
250 | because they take place in a system-level C++ thread. The impact of the GIL in | |
251 | our previous code was something we could simply not work around, given that |
|
251 | our previous code was something we could simply not work around, given that | |
252 | Twisted is itself a Python library. So while Twisted is a very capable |
|
252 | Twisted is itself a Python library. So while Twisted is a very capable | |
253 | framework, we think ZeroMQ fits our needs much better and we hope you will find |
|
253 | framework, we think ZeroMQ fits our needs much better and we hope you will find | |
254 | the change to be a significant improvement in the long run. |
|
254 | the change to be a significant improvement in the long run. | |
255 |
|
255 | |||
256 | Our manual contains a full description of how to use IPython for parallel |
|
256 | Our manual contains a full description of how to use IPython for parallel | |
257 | computing, and the `tutorial`__ presented by Min |
|
257 | computing, and the `tutorial`__ presented by Min | |
258 | Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the |
|
258 | Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the | |
259 | reference docs. |
|
259 | reference docs. | |
260 |
|
260 | |||
261 | .. __: http://minrk.github.com/scipy-tutorial-2011 |
|
261 | .. __: http://minrk.github.com/scipy-tutorial-2011 | |
262 |
|
262 | |||
263 |
|
263 | |||
264 | Refactoring |
|
264 | Refactoring | |
265 | ----------- |
|
265 | ----------- | |
266 |
|
266 | |||
267 | As of this release, a signifiant portion of IPython has been refactored. This |
|
267 | As of this release, a signifiant portion of IPython has been refactored. This | |
268 | refactoring is founded on a number of new abstractions. The main new classes |
|
268 | refactoring is founded on a number of new abstractions. The main new classes | |
269 | that implement these abstractions are: |
|
269 | that implement these abstractions are: | |
270 |
|
270 | |||
271 | * :class:`traitlets.HasTraits`. |
|
271 | * :class:`traitlets.HasTraits`. | |
272 | * :class:`traitlets.config.configurable.Configurable`. |
|
272 | * :class:`traitlets.config.configurable.Configurable`. | |
273 | * :class:`traitlets.config.application.Application`. |
|
273 | * :class:`traitlets.config.application.Application`. | |
274 | * :class:`traitlets.config.loader.ConfigLoader`. |
|
274 | * :class:`traitlets.config.loader.ConfigLoader`. | |
275 | * :class:`traitlets.config.loader.Config` |
|
275 | * :class:`traitlets.config.loader.Config` | |
276 |
|
276 | |||
277 | We are still in the process of writing developer focused documentation about |
|
277 | We are still in the process of writing developer focused documentation about | |
278 | these classes, but for now our :ref:`configuration documentation |
|
278 | these classes, but for now our :ref:`configuration documentation | |
279 | <config_overview>` contains a high level overview of the concepts that these |
|
279 | <config_overview>` contains a high level overview of the concepts that these | |
280 | classes express. |
|
280 | classes express. | |
281 |
|
281 | |||
282 | The biggest user-visible change is likely the move to using the config system |
|
282 | The biggest user-visible change is likely the move to using the config system | |
283 | to determine the command-line arguments for IPython applications. The benefit |
|
283 | to determine the command-line arguments for IPython applications. The benefit | |
284 | of this is that *all* configurable values in IPython are exposed on the |
|
284 | of this is that *all* configurable values in IPython are exposed on the | |
285 | command-line, but the syntax for specifying values has changed. The gist is |
|
285 | command-line, but the syntax for specifying values has changed. The gist is | |
286 | that assigning values is pure Python assignment. Simple flags exist for |
|
286 | that assigning values is pure Python assignment. Simple flags exist for | |
287 | commonly used options, these are always prefixed with '--'. |
|
287 | commonly used options, these are always prefixed with '--'. | |
288 |
|
288 | |||
289 | The IPython command-line help has the details of all the options (via |
|
289 | The IPython command-line help has the details of all the options (via | |
290 | ``ipython --help``), but a simple example should clarify things; the ``pylab`` |
|
290 | ``ipython --help``), but a simple example should clarify things; the ``pylab`` | |
291 | flag can be used to start in pylab mode with the qt4 backend:: |
|
291 | flag can be used to start in pylab mode with the qt4 backend:: | |
292 |
|
292 | |||
293 | ipython --pylab=qt |
|
293 | ipython --pylab=qt | |
294 |
|
294 | |||
295 | which is equivalent to using the fully qualified form:: |
|
295 | which is equivalent to using the fully qualified form:: | |
296 |
|
296 | |||
297 | ipython --TerminalIPythonApp.pylab=qt |
|
297 | ipython --TerminalIPythonApp.pylab=qt | |
298 |
|
298 | |||
299 | The long-form options can be listed via ``ipython --help-all``. |
|
299 | The long-form options can be listed via ``ipython --help-all``. | |
300 |
|
300 | |||
301 |
|
301 | |||
302 | ZeroMQ architecture |
|
302 | ZeroMQ architecture | |
303 | ------------------- |
|
303 | ------------------- | |
304 |
|
304 | |||
305 | There is a new GUI framework for IPython, based on a client-server model in |
|
305 | There is a new GUI framework for IPython, based on a client-server model in | |
306 | which multiple clients can communicate with one IPython kernel, using the |
|
306 | which multiple clients can communicate with one IPython kernel, using the | |
307 | ZeroMQ messaging framework. There is already a Qt console client, which can |
|
307 | ZeroMQ messaging framework. There is already a Qt console client, which can | |
308 | be started by calling ``ipython qtconsole``. The protocol is :ref:`documented |
|
308 | be started by calling ``ipython qtconsole``. The protocol is :ref:`documented | |
309 | <messaging>`. |
|
309 | <messaging>`. | |
310 |
|
310 | |||
311 | The parallel computing framework has also been rewritten using ZMQ. The |
|
311 | The parallel computing framework has also been rewritten using ZMQ. The | |
312 | protocol is described :ref:`here <parallel_messages>`, and the code is in the |
|
312 | protocol is described :ref:`here <parallel_messages>`, and the code is in the | |
313 | new :mod:`IPython.parallel` module. |
|
313 | new :mod:`IPython.parallel` module. | |
314 |
|
314 | |||
315 | .. _python3_011: |
|
315 | .. _python3_011: | |
316 |
|
316 | |||
317 | Python 3 support |
|
317 | Python 3 support | |
318 | ---------------- |
|
318 | ---------------- | |
319 |
|
319 | |||
320 | A Python 3 version of IPython has been prepared. For the time being, this is |
|
320 | A Python 3 version of IPython has been prepared. For the time being, this is | |
321 | maintained separately and updated from the main codebase. Its code can be found |
|
321 | maintained separately and updated from the main codebase. Its code can be found | |
322 | `here <https://github.com/ipython/ipython-py3k>`_. The parallel computing |
|
322 | `here <https://github.com/ipython/ipython-py3k>`_. The parallel computing | |
323 | components are not perfect on Python3, but most functionality appears to be |
|
323 | components are not perfect on Python3, but most functionality appears to be | |
324 | working. As this work is evolving quickly, the best place to find updated |
|
324 | working. As this work is evolving quickly, the best place to find updated | |
325 | information about it is our `Python 3 wiki page`__. |
|
325 | information about it is our `Python 3 wiki page`__. | |
326 |
|
326 | |||
327 | .. __: http://wiki.ipython.org/index.php?title=Python_3 |
|
327 | .. __: http://wiki.ipython.org/index.php?title=Python_3 | |
328 |
|
328 | |||
329 |
|
329 | |||
330 | Unicode |
|
330 | Unicode | |
331 | ------- |
|
331 | ------- | |
332 |
|
332 | |||
333 | Entering non-ascii characters in unicode literals (``u"€ø"``) now works |
|
333 | Entering non-ascii characters in unicode literals (``u"€ø"``) now works | |
334 | properly on all platforms. However, entering these in byte/string literals |
|
334 | properly on all platforms. However, entering these in byte/string literals | |
335 | (``"€ø"``) will not work as expected on Windows (or any platform where the |
|
335 | (``"€ø"``) will not work as expected on Windows (or any platform where the | |
336 | terminal encoding is not UTF-8, as it typically is for Linux & Mac OS X). You |
|
336 | terminal encoding is not UTF-8, as it typically is for Linux & Mac OS X). You | |
337 | can use escape sequences (``"\xe9\x82"``) to get bytes above 128, or use |
|
337 | can use escape sequences (``"\xe9\x82"``) to get bytes above 128, or use | |
338 | unicode literals and encode them. This is a limitation of Python 2 which we |
|
338 | unicode literals and encode them. This is a limitation of Python 2 which we | |
339 | cannot easily work around. |
|
339 | cannot easily work around. | |
340 |
|
340 | |||
341 | .. _ms_visual_studio_011: |
|
341 | .. _ms_visual_studio_011: | |
342 |
|
342 | |||
343 | Integration with Microsoft Visual Studio |
|
343 | Integration with Microsoft Visual Studio | |
344 | ---------------------------------------- |
|
344 | ---------------------------------------- | |
345 |
|
345 | |||
346 | IPython can be used as the interactive shell in the `Python plugin for |
|
346 | IPython can be used as the interactive shell in the `Python plugin for | |
347 | Microsoft Visual Studio`__, as seen here: |
|
347 | Microsoft Visual Studio`__, as seen here: | |
348 |
|
348 | |||
349 | .. figure:: ../_images/ms_visual_studio.png |
|
349 | .. figure:: ../_images/ms_visual_studio.png | |
350 | :width: 500px |
|
350 | :width: 500px | |
351 | :alt: IPython console embedded in Microsoft Visual Studio. |
|
351 | :alt: IPython console embedded in Microsoft Visual Studio. | |
352 | :align: center |
|
352 | :align: center | |
353 | :target: ../_images/ms_visual_studio.png |
|
353 | :target: ../_images/ms_visual_studio.png | |
354 |
|
354 | |||
355 | IPython console embedded in Microsoft Visual Studio. |
|
355 | IPython console embedded in Microsoft Visual Studio. | |
356 |
|
356 | |||
357 | The Microsoft team developing this currently has a release candidate out using |
|
357 | The Microsoft team developing this currently has a release candidate out using | |
358 | IPython 0.11. We will continue to collaborate with them to ensure that as they |
|
358 | IPython 0.11. We will continue to collaborate with them to ensure that as they | |
359 | approach their final release date, the integration with IPython remains smooth. |
|
359 | approach their final release date, the integration with IPython remains smooth. | |
360 | We'd like to thank Dino Viehland and Shahrokh Mortazavi for the work they have |
|
360 | We'd like to thank Dino Viehland and Shahrokh Mortazavi for the work they have | |
361 | done towards this feature, as well as Wenming Ye for his support of our WinHPC |
|
361 | done towards this feature, as well as Wenming Ye for his support of our WinHPC | |
362 | capabilities. |
|
362 | capabilities. | |
363 |
|
363 | |||
364 | .. __: http://pytools.codeplex.com |
|
364 | .. __: http://pytools.codeplex.com | |
365 |
|
365 | |||
366 |
|
366 | |||
367 | Additional new features |
|
367 | Additional new features | |
368 | ----------------------- |
|
368 | ----------------------- | |
369 |
|
369 | |||
370 | * Added ``Bytes`` traitlet, removing ``Str``. All 'string' traitlets should |
|
370 | * Added ``Bytes`` traitlet, removing ``Str``. All 'string' traitlets should | |
371 | either be ``Unicode`` if a real string, or ``Bytes`` if a C-string. This |
|
371 | either be ``Unicode`` if a real string, or ``Bytes`` if a C-string. This | |
372 | removes ambiguity and helps the Python 3 transition. |
|
372 | removes ambiguity and helps the Python 3 transition. | |
373 |
|
373 | |||
374 | * New magic ``%loadpy`` loads a python file from disk or web URL into |
|
374 | * New magic ``%loadpy`` loads a python file from disk or web URL into | |
375 | the current input buffer. |
|
375 | the current input buffer. | |
376 |
|
376 | |||
377 | * New magic ``%pastebin`` for sharing code via the 'Lodge it' pastebin. |
|
377 | * New magic ``%pastebin`` for sharing code via the 'Lodge it' pastebin. | |
378 |
|
378 | |||
379 | * New magic ``%precision`` for controlling float and numpy pretty printing. |
|
379 | * New magic ``%precision`` for controlling float and numpy pretty printing. | |
380 |
|
380 | |||
381 | * IPython applications initiate logging, so any object can gain access to |
|
381 | * IPython applications initiate logging, so any object can gain access to | |
382 | a the logger of the currently running Application with: |
|
382 | a the logger of the currently running Application with: | |
383 |
|
383 | |||
384 | .. sourcecode:: python |
|
384 | .. sourcecode:: python | |
385 |
|
385 | |||
386 | from traitlets.config.application import Application |
|
386 | from traitlets.config.application import Application | |
387 | logger = Application.instance().log |
|
387 | logger = Application.instance().log | |
388 |
|
388 | |||
389 | * You can now get help on an object halfway through typing a command. For |
|
389 | * You can now get help on an object halfway through typing a command. For | |
390 | instance, typing ``a = zip?`` shows the details of :func:`zip`. It also |
|
390 | instance, typing ``a = zip?`` shows the details of :func:`zip`. It also | |
391 | leaves the command at the next prompt so you can carry on with it. |
|
391 | leaves the command at the next prompt so you can carry on with it. | |
392 |
|
392 | |||
393 | * The input history is now written to an SQLite database. The API for |
|
393 | * The input history is now written to an SQLite database. The API for | |
394 | retrieving items from the history has also been redesigned. |
|
394 | retrieving items from the history has also been redesigned. | |
395 |
|
395 | |||
396 | * The :mod:`IPython.extensions.pretty` extension has been moved out of |
|
396 | * The :mod:`IPython.extensions.pretty` extension has been moved out of | |
397 | quarantine and fully updated to the new extension API. |
|
397 | quarantine and fully updated to the new extension API. | |
398 |
|
398 | |||
399 | * New magics for loading/unloading/reloading extensions have been added: |
|
399 | * New magics for loading/unloading/reloading extensions have been added: | |
400 | ``%load_ext``, ``%unload_ext`` and ``%reload_ext``. |
|
400 | ``%load_ext``, ``%unload_ext`` and ``%reload_ext``. | |
401 |
|
401 | |||
402 | * The configuration system and configuration files are brand new. See the |
|
402 | * The configuration system and configuration files are brand new. See the | |
403 | configuration system :ref:`documentation <config_index>` for more details. |
|
403 | configuration system :ref:`documentation <config_index>` for more details. | |
404 |
|
404 | |||
405 | * The :class:`~IPython.core.interactiveshell.InteractiveShell` class is now a |
|
405 | * The :class:`~IPython.core.interactiveshell.InteractiveShell` class is now a | |
406 | :class:`~traitlets.config.configurable.Configurable` subclass and has traitlets |
|
406 | :class:`~traitlets.config.configurable.Configurable` subclass and has traitlets | |
407 | that determine the defaults and runtime environment. The ``__init__`` method |
|
407 | that determine the defaults and runtime environment. The ``__init__`` method | |
408 | has also been refactored so this class can be instantiated and run without |
|
408 | has also been refactored so this class can be instantiated and run without | |
409 | the old :mod:`ipmaker` module. |
|
409 | the old :mod:`ipmaker` module. | |
410 |
|
410 | |||
411 | * The methods of :class:`~IPython.core.interactiveshell.InteractiveShell` have |
|
411 | * The methods of :class:`~IPython.core.interactiveshell.InteractiveShell` have | |
412 | been organized into sections to make it easier to turn more sections |
|
412 | been organized into sections to make it easier to turn more sections | |
413 | of functionality into components. |
|
413 | of functionality into components. | |
414 |
|
414 | |||
415 | * The embedded shell has been refactored into a truly standalone subclass of |
|
415 | * The embedded shell has been refactored into a truly standalone subclass of | |
416 | :class:`InteractiveShell` called :class:`InteractiveShellEmbed`. All |
|
416 | :class:`InteractiveShell` called :class:`InteractiveShellEmbed`. All | |
417 | embedding logic has been taken out of the base class and put into the |
|
417 | embedding logic has been taken out of the base class and put into the | |
418 | embedded subclass. |
|
418 | embedded subclass. | |
419 |
|
419 | |||
420 | * Added methods of :class:`~IPython.core.interactiveshell.InteractiveShell` to |
|
420 | * Added methods of :class:`~IPython.core.interactiveshell.InteractiveShell` to | |
421 | help it cleanup after itself. The :meth:`cleanup` method controls this. We |
|
421 | help it cleanup after itself. The :meth:`cleanup` method controls this. We | |
422 | couldn't do this in :meth:`__del__` because we have cycles in our object |
|
422 | couldn't do this in :meth:`__del__` because we have cycles in our object | |
423 | graph that prevent it from being called. |
|
423 | graph that prevent it from being called. | |
424 |
|
424 | |||
425 | * Created a new module :mod:`IPython.utils.importstring` for resolving |
|
425 | * Created a new module :mod:`IPython.utils.importstring` for resolving | |
426 | strings like ``foo.bar.Bar`` to the actual class. |
|
426 | strings like ``foo.bar.Bar`` to the actual class. | |
427 |
|
427 | |||
428 | * Completely refactored the :mod:`IPython.core.prefilter` module into |
|
428 | * Completely refactored the :mod:`IPython.core.prefilter` module into | |
429 | :class:`~traitlets.config.configurable.Configurable` subclasses. Added a new |
|
429 | :class:`~traitlets.config.configurable.Configurable` subclasses. Added a new | |
430 | layer into the prefilter system, called "transformations" that all new |
|
430 | layer into the prefilter system, called "transformations" that all new | |
431 | prefilter logic should use (rather than the older "checker/handler" |
|
431 | prefilter logic should use (rather than the older "checker/handler" | |
432 | approach). |
|
432 | approach). | |
433 |
|
433 | |||
434 | * Aliases are now components (:mod:`IPython.core.alias`). |
|
434 | * Aliases are now components (:mod:`IPython.core.alias`). | |
435 |
|
435 | |||
436 | * New top level :func:`~IPython.frontend.terminal.embed.embed` function that can |
|
436 | * New top level :func:`~IPython.frontend.terminal.embed.embed` function that can | |
437 | be called to embed IPython at any place in user's code. On the first call it |
|
437 | be called to embed IPython at any place in user's code. On the first call it | |
438 | will create an :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed` |
|
438 | will create an :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed` | |
439 | instance and call it. In later calls, it just calls the previously created |
|
439 | instance and call it. In later calls, it just calls the previously created | |
440 | :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed`. |
|
440 | :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed`. | |
441 |
|
441 | |||
442 | * Created a configuration system (:mod:`traitlets.config.configurable`) that is |
|
442 | * Created a configuration system (:mod:`traitlets.config.configurable`) that is | |
443 | based on :mod:`traitlets`. Configurables are arranged into a |
|
443 | based on :mod:`traitlets`. Configurables are arranged into a | |
444 | runtime containment tree (not inheritance) that i) automatically propagates |
|
444 | runtime containment tree (not inheritance) that i) automatically propagates | |
445 | configuration information and ii) allows singletons to discover each other in |
|
445 | configuration information and ii) allows singletons to discover each other in | |
446 | a loosely coupled manner. In the future all parts of IPython will be |
|
446 | a loosely coupled manner. In the future all parts of IPython will be | |
447 | subclasses of :class:`~traitlets.config.configurable.Configurable`. All IPython |
|
447 | subclasses of :class:`~traitlets.config.configurable.Configurable`. All IPython | |
448 | developers should become familiar with the config system. |
|
448 | developers should become familiar with the config system. | |
449 |
|
449 | |||
450 | * Created a new :class:`~traitlets.config.loader.Config` for holding |
|
450 | * Created a new :class:`~traitlets.config.loader.Config` for holding | |
451 | configuration information. This is a dict like class with a few extras: i) |
|
451 | configuration information. This is a dict like class with a few extras: i) | |
452 | it supports attribute style access, ii) it has a merge function that merges |
|
452 | it supports attribute style access, ii) it has a merge function that merges | |
453 | two :class:`~traitlets.config.loader.Config` instances recursively and iii) it |
|
453 | two :class:`~traitlets.config.loader.Config` instances recursively and iii) it | |
454 | will automatically create sub-:class:`~traitlets.config.loader.Config` |
|
454 | will automatically create sub-:class:`~traitlets.config.loader.Config` | |
455 | instances for attributes that start with an uppercase character. |
|
455 | instances for attributes that start with an uppercase character. | |
456 |
|
456 | |||
457 | * Created new configuration loaders in :mod:`traitlets.config.loader`. These |
|
457 | * Created new configuration loaders in :mod:`traitlets.config.loader`. These | |
458 | loaders provide a unified loading interface for all configuration |
|
458 | loaders provide a unified loading interface for all configuration | |
459 | information including command line arguments and configuration files. We |
|
459 | information including command line arguments and configuration files. We | |
460 | have two default implementations based on :mod:`argparse` and plain python |
|
460 | have two default implementations based on :mod:`argparse` and plain python | |
461 | files. These are used to implement the new configuration system. |
|
461 | files. These are used to implement the new configuration system. | |
462 |
|
462 | |||
463 | * Created a top-level :class:`Application` class in |
|
463 | * Created a top-level :class:`Application` class in | |
464 | :mod:`IPython.core.application` that is designed to encapsulate the starting |
|
464 | :mod:`IPython.core.application` that is designed to encapsulate the starting | |
465 | of any basic Python program. An application loads and merges all the |
|
465 | of any basic Python program. An application loads and merges all the | |
466 | configuration objects, constructs the main application, configures and |
|
466 | configuration objects, constructs the main application, configures and | |
467 | initiates logging, and creates and configures any :class:`Configurable` |
|
467 | initiates logging, and creates and configures any :class:`Configurable` | |
468 | instances and then starts the application running. An extended |
|
468 | instances and then starts the application running. An extended | |
469 | :class:`BaseIPythonApplication` class adds logic for handling the |
|
469 | :class:`BaseIPythonApplication` class adds logic for handling the | |
470 | IPython directory as well as profiles, and all IPython entry points |
|
470 | IPython directory as well as profiles, and all IPython entry points | |
471 | extend it. |
|
471 | extend it. | |
472 |
|
472 | |||
473 | * The :class:`Type` and :class:`Instance` traitlets now handle classes given |
|
473 | * The :class:`Type` and :class:`Instance` traitlets now handle classes given | |
474 | as strings, like ``foo.bar.Bar``. This is needed for forward declarations. |
|
474 | as strings, like ``foo.bar.Bar``. This is needed for forward declarations. | |
475 | But, this was implemented in a careful way so that string to class |
|
475 | But, this was implemented in a careful way so that string to class | |
476 | resolution is done at a single point, when the parent |
|
476 | resolution is done at a single point, when the parent | |
477 | :class:`~traitlets.HasTraitlets` is instantiated. |
|
477 | :class:`~traitlets.HasTraitlets` is instantiated. | |
478 |
|
478 | |||
479 | * :mod:`IPython.utils.ipstruct` has been refactored to be a subclass of |
|
479 | * :mod:`IPython.utils.ipstruct` has been refactored to be a subclass of | |
480 | dict. It also now has full docstrings and doctests. |
|
480 | dict. It also now has full docstrings and doctests. | |
481 |
|
481 | |||
482 | * Created a Traits like implementation in :mod:`traitlets`. This |
|
482 | * Created a Traits like implementation in :mod:`traitlets`. This | |
483 | is a pure Python, lightweight version of a library that is similar to |
|
483 | is a pure Python, lightweight version of a library that is similar to | |
484 | Enthought's Traits project, but has no dependencies on Enthought's code. We |
|
484 | Enthought's Traits project, but has no dependencies on Enthought's code. We | |
485 | are using this for validation, defaults and notification in our new component |
|
485 | are using this for validation, defaults and notification in our new component | |
486 | system. Although it is not 100% API compatible with Enthought's Traits, we |
|
486 | system. Although it is not 100% API compatible with Enthought's Traits, we | |
487 | plan on moving in this direction so that eventually our implementation could |
|
487 | plan on moving in this direction so that eventually our implementation could | |
488 | be replaced by a (yet to exist) pure Python version of Enthought Traits. |
|
488 | be replaced by a (yet to exist) pure Python version of Enthought Traits. | |
489 |
|
489 | |||
490 | * Added a new module :mod:`IPython.lib.inputhook` to manage the integration |
|
490 | * Added a new module :mod:`IPython.lib.inputhook` to manage the integration | |
491 | with GUI event loops using `PyOS_InputHook`. See the docstrings in this |
|
491 | with GUI event loops using `PyOS_InputHook`. See the docstrings in this | |
492 | module or the main IPython docs for details. |
|
492 | module or the main IPython docs for details. | |
493 |
|
493 | |||
494 | * For users, GUI event loop integration is now handled through the new |
|
494 | * For users, GUI event loop integration is now handled through the new | |
495 | :command:`%gui` magic command. Type ``%gui?`` at an IPython prompt for |
|
495 | :command:`%gui` magic command. Type ``%gui?`` at an IPython prompt for | |
496 | documentation. |
|
496 | documentation. | |
497 |
|
497 | |||
498 | * For developers :mod:`IPython.lib.inputhook` provides a simple interface |
|
498 | * For developers :mod:`IPython.lib.inputhook` provides a simple interface | |
499 | for managing the event loops in their interactive GUI applications. |
|
499 | for managing the event loops in their interactive GUI applications. | |
500 | Examples can be found in our :file:`examples/lib` directory. |
|
500 | Examples can be found in our :file:`examples/lib` directory. | |
501 |
|
501 | |||
502 | Backwards incompatible changes |
|
502 | Backwards incompatible changes | |
503 | ------------------------------ |
|
503 | ------------------------------ | |
504 |
|
504 | |||
505 | * The Twisted-based :mod:`IPython.kernel` has been removed, and completely |
|
505 | * The Twisted-based :mod:`IPython.kernel` has been removed, and completely | |
506 | rewritten as :mod:`IPython.parallel`, using ZeroMQ. |
|
506 | rewritten as :mod:`IPython.parallel`, using ZeroMQ. | |
507 |
|
507 | |||
508 | * Profiles are now directories. Instead of a profile being a single config file, |
|
508 | * Profiles are now directories. Instead of a profile being a single config file, | |
509 | profiles are now self-contained directories. By default, profiles get their |
|
509 | profiles are now self-contained directories. By default, profiles get their | |
510 | own IPython history, log files, and everything. To create a new profile, do |
|
510 | own IPython history, log files, and everything. To create a new profile, do | |
511 | ``ipython profile create <name>``. |
|
511 | ``ipython profile create <name>``. | |
512 |
|
512 | |||
513 | * All IPython applications have been rewritten to use |
|
513 | * All IPython applications have been rewritten to use | |
514 | :class:`~traitlets.config.loader.KeyValueConfigLoader`. This means that |
|
514 | :class:`~traitlets.config.loader.KeyValueConfigLoader`. This means that | |
515 | command-line options have changed. Now, all configurable values are accessible |
|
515 | command-line options have changed. Now, all configurable values are accessible | |
516 | from the command-line with the same syntax as in a configuration file. |
|
516 | from the command-line with the same syntax as in a configuration file. | |
517 |
|
517 | |||
518 | * The command line options ``-wthread``, ``-qthread`` and |
|
518 | * The command line options ``-wthread``, ``-qthread`` and | |
519 | ``-gthread`` have been removed. Use ``--gui=wx``, ``--gui=qt``, ``--gui=gtk`` |
|
519 | ``-gthread`` have been removed. Use ``--gui=wx``, ``--gui=qt``, ``--gui=gtk`` | |
520 | instead. |
|
520 | instead. | |
521 |
|
521 | |||
522 | * The extension loading functions have been renamed to |
|
522 | * The extension loading functions have been renamed to | |
523 | :func:`load_ipython_extension` and :func:`unload_ipython_extension`. |
|
523 | :func:`load_ipython_extension` and :func:`unload_ipython_extension`. | |
524 |
|
524 | |||
525 | * :class:`~IPython.core.interactiveshell.InteractiveShell` no longer takes an |
|
525 | * :class:`~IPython.core.interactiveshell.InteractiveShell` no longer takes an | |
526 | ``embedded`` argument. Instead just use the |
|
526 | ``embedded`` argument. Instead just use the | |
527 | :class:`~IPython.core.interactiveshell.InteractiveShellEmbed` class. |
|
527 | :class:`~IPython.core.interactiveshell.InteractiveShellEmbed` class. | |
528 |
|
528 | |||
529 | * ``__IPYTHON__`` is no longer injected into ``__builtin__``. |
|
529 | * ``__IPYTHON__`` is no longer injected into ``__builtin__``. | |
530 |
|
530 | |||
531 | * :meth:`Struct.__init__` no longer takes `None` as its first argument. It |
|
531 | * :meth:`Struct.__init__` no longer takes `None` as its first argument. It | |
532 | must be a :class:`dict` or :class:`Struct`. |
|
532 | must be a :class:`dict` or :class:`Struct`. | |
533 |
|
533 | |||
534 | * :meth:`~IPython.core.interactiveshell.InteractiveShell.ipmagic` has been |
|
534 | * :meth:`~IPython.core.interactiveshell.InteractiveShell.ipmagic` has been | |
535 | renamed :meth:`~IPython.core.interactiveshell.InteractiveShell.magic.` |
|
535 | renamed :meth:`~IPython.core.interactiveshell.InteractiveShell.magic.` | |
536 |
|
536 | |||
537 | * The functions :func:`ipmagic` and :func:`ipalias` have been removed from |
|
537 | * The functions :func:`ipmagic` and :func:`ipalias` have been removed from | |
538 | :mod:`__builtins__`. |
|
538 | :mod:`__builtins__`. | |
539 |
|
539 | |||
540 | * The references to the global |
|
540 | * The references to the global | |
541 | :class:`~IPython.core.interactivehell.InteractiveShell` instance (``_ip``, and |
|
541 | :class:`~IPython.core.interactivehell.InteractiveShell` instance (``_ip``, and | |
542 | ``__IP``) have been removed from the user's namespace. They are replaced by a |
|
542 | ``__IP``) have been removed from the user's namespace. They are replaced by a | |
543 | new function called :func:`get_ipython` that returns the current |
|
543 | new function called :func:`get_ipython` that returns the current | |
544 | :class:`~IPython.core.interactiveshell.InteractiveShell` instance. This |
|
544 | :class:`~IPython.core.interactiveshell.InteractiveShell` instance. This | |
545 | function is injected into the user's namespace and is now the main way of |
|
545 | function is injected into the user's namespace and is now the main way of | |
546 | accessing the running IPython. |
|
546 | accessing the running IPython. | |
547 |
|
547 | |||
548 | * Old style configuration files :file:`ipythonrc` and :file:`ipy_user_conf.py` |
|
548 | * Old style configuration files :file:`ipythonrc` and :file:`ipy_user_conf.py` | |
549 | are no longer supported. Users should migrate there configuration files to |
|
549 | are no longer supported. Users should migrate there configuration files to | |
550 | the new format described :doc:`here </config/intro>` and |
|
550 | the new format described :doc:`here </config/intro>` and | |
551 | :ref:`here <config_overview>`. |
|
551 | :ref:`here <config_overview>`. | |
552 |
|
552 | |||
553 | * The old IPython extension API that relied on :func:`ipapi` has been |
|
553 | * The old IPython extension API that relied on :func:`ipapi` has been | |
554 | completely removed. The new extension API is described :ref:`here |
|
554 | completely removed. The new extension API is described :ref:`here | |
555 | <extensions_overview>`. |
|
555 | <extensions_overview>`. | |
556 |
|
556 | |||
557 | * Support for ``qt3`` has been dropped. Users who need this should use |
|
557 | * Support for ``qt3`` has been dropped. Users who need this should use | |
558 | previous versions of IPython. |
|
558 | previous versions of IPython. | |
559 |
|
559 | |||
560 | * Removed :mod:`shellglobals` as it was obsolete. |
|
560 | * Removed :mod:`shellglobals` as it was obsolete. | |
561 |
|
561 | |||
562 | * Removed all the threaded shells in :mod:`IPython.core.shell`. These are no |
|
562 | * Removed all the threaded shells in :mod:`IPython.core.shell`. These are no | |
563 | longer needed because of the new capabilities in |
|
563 | longer needed because of the new capabilities in | |
564 | :mod:`IPython.lib.inputhook`. |
|
564 | :mod:`IPython.lib.inputhook`. | |
565 |
|
565 | |||
566 | * New top-level sub-packages have been created: :mod:`IPython.core`, |
|
566 | * New top-level sub-packages have been created: :mod:`IPython.core`, | |
567 | :mod:`IPython.lib`, :mod:`IPython.utils`, :mod:`IPython.deathrow`, |
|
567 | :mod:`IPython.lib`, :mod:`IPython.utils`, :mod:`IPython.deathrow`, | |
568 | :mod:`IPython.quarantine`. All existing top-level modules have been |
|
568 | :mod:`IPython.quarantine`. All existing top-level modules have been | |
569 | moved to appropriate sub-packages. All internal import statements |
|
569 | moved to appropriate sub-packages. All internal import statements | |
570 | have been updated and tests have been added. The build system (setup.py |
|
570 | have been updated and tests have been added. The build system (setup.py | |
571 | and friends) have been updated. See :doc:`/api/index` for details of these |
|
571 | and friends) have been updated. See :doc:`/api/index` for details of these | |
572 | new sub-packages. |
|
572 | new sub-packages. | |
573 |
|
573 | |||
574 | * :mod:`IPython.ipapi` has been moved to :mod:`IPython.core.ipapi`. |
|
574 | * :mod:`IPython.ipapi` has been moved to :mod:`IPython.core.ipapi`. | |
575 | :mod:`IPython.Shell` and :mod:`IPython.iplib` have been split and removed as |
|
575 | :mod:`IPython.Shell` and :mod:`IPython.iplib` have been split and removed as | |
576 | part of the refactor. |
|
576 | part of the refactor. | |
577 |
|
577 | |||
578 | * :mod:`Extensions` has been moved to :mod:`extensions` and all existing |
|
578 | * :mod:`Extensions` has been moved to :mod:`extensions` and all existing | |
579 | extensions have been moved to either :mod:`IPython.quarantine` or |
|
579 | extensions have been moved to either :mod:`IPython.quarantine` or | |
580 | :mod:`IPython.deathrow`. :mod:`IPython.quarantine` contains modules that we |
|
580 | :mod:`IPython.deathrow`. :mod:`IPython.quarantine` contains modules that we | |
581 | plan on keeping but that need to be updated. :mod:`IPython.deathrow` contains |
|
581 | plan on keeping but that need to be updated. :mod:`IPython.deathrow` contains | |
582 | modules that are either dead or that should be maintained as third party |
|
582 | modules that are either dead or that should be maintained as third party | |
583 | libraries. |
|
583 | libraries. | |
584 |
|
584 | |||
585 | * Previous IPython GUIs in :mod:`IPython.frontend` and :mod:`IPython.gui` are |
|
585 | * Previous IPython GUIs in :mod:`IPython.frontend` and :mod:`IPython.gui` are | |
586 | likely broken, and have been removed to :mod:`IPython.deathrow` because of the |
|
586 | likely broken, and have been removed to :mod:`IPython.deathrow` because of the | |
587 | refactoring in the core. With proper updates, these should still work. |
|
587 | refactoring in the core. With proper updates, these should still work. | |
588 |
|
588 | |||
589 |
|
589 | |||
590 | Known Regressions |
|
590 | Known Regressions | |
591 | ----------------- |
|
591 | ----------------- | |
592 |
|
592 | |||
593 | We do our best to improve IPython, but there are some known regressions in 0.11 |
|
593 | We do our best to improve IPython, but there are some known regressions in 0.11 | |
594 | relative to 0.10.2. First of all, there are features that have yet to be |
|
594 | relative to 0.10.2. First of all, there are features that have yet to be | |
595 | ported to the new APIs, and in order to ensure that all of the installed code |
|
595 | ported to the new APIs, and in order to ensure that all of the installed code | |
596 | runs for our users, we have moved them to two separate directories in the |
|
596 | runs for our users, we have moved them to two separate directories in the | |
597 | source distribution, `quarantine` and `deathrow`. Finally, we have some other |
|
597 | source distribution, `quarantine` and `deathrow`. Finally, we have some other | |
598 | miscellaneous regressions that we hope to fix as soon as possible. We now |
|
598 | miscellaneous regressions that we hope to fix as soon as possible. We now | |
599 | describe all of these in more detail. |
|
599 | describe all of these in more detail. | |
600 |
|
600 | |||
601 | Quarantine |
|
601 | Quarantine | |
602 | ~~~~~~~~~~ |
|
602 | ~~~~~~~~~~ | |
603 |
|
603 | |||
604 | These are tools and extensions that we consider relatively easy to update to |
|
604 | These are tools and extensions that we consider relatively easy to update to | |
605 | the new classes and APIs, but that we simply haven't had time for. Any user |
|
605 | the new classes and APIs, but that we simply haven't had time for. Any user | |
606 | who is interested in one of these is encouraged to help us by porting it and |
|
606 | who is interested in one of these is encouraged to help us by porting it and | |
607 | submitting a pull request on our `development site`_. |
|
607 | submitting a pull request on our `development site`_. | |
608 |
|
608 | |||
609 | .. _development site: http://github.com/ipython/ipython |
|
609 | .. _development site: http://github.com/ipython/ipython | |
610 |
|
610 | |||
611 | Currently, the quarantine directory contains:: |
|
611 | Currently, the quarantine directory contains:: | |
612 |
|
612 | |||
613 | clearcmd.py ipy_fsops.py ipy_signals.py |
|
613 | clearcmd.py ipy_fsops.py ipy_signals.py | |
614 | envpersist.py ipy_gnuglobal.py ipy_synchronize_with.py |
|
614 | envpersist.py ipy_gnuglobal.py ipy_synchronize_with.py | |
615 | ext_rescapture.py ipy_greedycompleter.py ipy_system_conf.py |
|
615 | ext_rescapture.py ipy_greedycompleter.py ipy_system_conf.py | |
616 | InterpreterExec.py ipy_jot.py ipy_which.py |
|
616 | InterpreterExec.py ipy_jot.py ipy_which.py | |
617 | ipy_app_completers.py ipy_lookfor.py ipy_winpdb.py |
|
617 | ipy_app_completers.py ipy_lookfor.py ipy_winpdb.py | |
618 | ipy_autoreload.py ipy_profile_doctest.py ipy_workdir.py |
|
618 | ipy_autoreload.py ipy_profile_doctest.py ipy_workdir.py | |
619 | ipy_completers.py ipy_pydb.py jobctrl.py |
|
619 | ipy_completers.py ipy_pydb.py jobctrl.py | |
620 | ipy_editors.py ipy_rehashdir.py ledit.py |
|
620 | ipy_editors.py ipy_rehashdir.py ledit.py | |
621 | ipy_exportdb.py ipy_render.py pspersistence.py |
|
621 | ipy_exportdb.py ipy_render.py pspersistence.py | |
622 | ipy_extutil.py ipy_server.py win32clip.py |
|
622 | ipy_extutil.py ipy_server.py win32clip.py | |
623 |
|
623 | |||
624 | Deathrow |
|
624 | Deathrow | |
625 | ~~~~~~~~ |
|
625 | ~~~~~~~~ | |
626 |
|
626 | |||
627 | These packages may be harder to update or make most sense as third-party |
|
627 | These packages may be harder to update or make most sense as third-party | |
628 | libraries. Some of them are completely obsolete and have been already replaced |
|
628 | libraries. Some of them are completely obsolete and have been already replaced | |
629 | by better functionality (we simply haven't had the time to carefully weed them |
|
629 | by better functionality (we simply haven't had the time to carefully weed them | |
630 | out so they are kept here for now). Others simply require fixes to code that |
|
630 | out so they are kept here for now). Others simply require fixes to code that | |
631 | the current core team may not be familiar with. If a tool you were used to is |
|
631 | the current core team may not be familiar with. If a tool you were used to is | |
632 | included here, we encourage you to contact the dev list and we can discuss |
|
632 | included here, we encourage you to contact the dev list and we can discuss | |
633 | whether it makes sense to keep it in IPython (if it can be maintained). |
|
633 | whether it makes sense to keep it in IPython (if it can be maintained). | |
634 |
|
634 | |||
635 | Currently, the deathrow directory contains:: |
|
635 | Currently, the deathrow directory contains:: | |
636 |
|
636 | |||
637 | astyle.py ipy_defaults.py ipy_vimserver.py |
|
637 | astyle.py ipy_defaults.py ipy_vimserver.py | |
638 | dtutils.py ipy_kitcfg.py numeric_formats.py |
|
638 | dtutils.py ipy_kitcfg.py numeric_formats.py | |
639 | Gnuplot2.py ipy_legacy.py numutils.py |
|
639 | Gnuplot2.py ipy_legacy.py numutils.py | |
640 | GnuplotInteractive.py ipy_p4.py outputtrap.py |
|
640 | GnuplotInteractive.py ipy_p4.py outputtrap.py | |
641 | GnuplotRuntime.py ipy_profile_none.py PhysicalQInput.py |
|
641 | GnuplotRuntime.py ipy_profile_none.py PhysicalQInput.py | |
642 | ibrowse.py ipy_profile_numpy.py PhysicalQInteractive.py |
|
642 | ibrowse.py ipy_profile_numpy.py PhysicalQInteractive.py | |
643 | igrid.py ipy_profile_scipy.py quitter.py* |
|
643 | igrid.py ipy_profile_scipy.py quitter.py* | |
644 | ipipe.py ipy_profile_sh.py scitedirector.py |
|
644 | ipipe.py ipy_profile_sh.py scitedirector.py | |
645 | iplib.py ipy_profile_zope.py Shell.py |
|
645 | iplib.py ipy_profile_zope.py Shell.py | |
646 | ipy_constants.py ipy_traits_completer.py twshell.py |
|
646 | ipy_constants.py ipy_traits_completer.py twshell.py | |
647 |
|
647 | |||
648 |
|
648 | |||
649 | Other regressions |
|
649 | Other regressions | |
650 | ~~~~~~~~~~~~~~~~~ |
|
650 | ~~~~~~~~~~~~~~~~~ | |
651 |
|
651 | |||
652 | * The machinery that adds functionality to the 'sh' profile for using IPython |
|
652 | * The machinery that adds functionality to the 'sh' profile for using IPython | |
653 | as your system shell has not been updated to use the new APIs. As a result, |
|
653 | as your system shell has not been updated to use the new APIs. As a result, | |
654 | only the aesthetic (prompt) changes are still implemented. We intend to fix |
|
654 | only the aesthetic (prompt) changes are still implemented. We intend to fix | |
655 | this by 0.12. Tracked as issue 547_. |
|
655 | this by 0.12. Tracked as issue 547_. | |
656 |
|
656 | |||
657 | .. _547: https://github.com/ipython/ipython/issues/547 |
|
657 | .. _547: https://github.com/ipython/ipython/issues/547 | |
658 |
|
658 | |||
659 | * The installation of scripts on Windows was broken without setuptools, so we |
|
659 | * The installation of scripts on Windows was broken without setuptools, so we | |
660 | now depend on setuptools on Windows. We hope to fix setuptools-less |
|
660 | now depend on setuptools on Windows. We hope to fix setuptools-less | |
661 | installation, and then remove the setuptools dependency. Issue 539_. |
|
661 | installation, and then remove the setuptools dependency. Issue 539_. | |
662 |
|
662 | |||
663 | .. _539: https://github.com/ipython/ipython/issues/539 |
|
663 | .. _539: https://github.com/ipython/ipython/issues/539 | |
664 |
|
664 | |||
665 | * The directory history `_dh` is not saved between sessions. Issue 634_. |
|
665 | * The directory history `_dh` is not saved between sessions. Issue 634_. | |
666 |
|
666 | |||
667 | .. _634: https://github.com/ipython/ipython/issues/634 |
|
667 | .. _634: https://github.com/ipython/ipython/issues/634 | |
668 |
|
668 | |||
669 |
|
669 | |||
670 | Removed Features |
|
670 | Removed Features | |
671 | ---------------- |
|
671 | ---------------- | |
672 |
|
672 | |||
673 | As part of the updating of IPython, we have removed a few features for the |
|
673 | As part of the updating of IPython, we have removed a few features for the | |
674 | purposes of cleaning up the codebase and interfaces. These removals are |
|
674 | purposes of cleaning up the codebase and interfaces. These removals are | |
675 | permanent, but for any item listed below, equivalent functionality is |
|
675 | permanent, but for any item listed below, equivalent functionality is | |
676 | available. |
|
676 | available. | |
677 |
|
677 | |||
678 | * The magics Exit and Quit have been dropped as ways to exit IPython. Instead, |
|
678 | * The magics Exit and Quit have been dropped as ways to exit IPython. Instead, | |
679 | the lowercase forms of both work either as a bare name (``exit``) or a |
|
679 | the lowercase forms of both work either as a bare name (``exit``) or a | |
680 | function call (``exit()``). You can assign these to other names using |
|
680 | function call (``exit()``). You can assign these to other names using | |
681 | exec_lines in the config file. |
|
681 | exec_lines in the config file. | |
682 |
|
682 | |||
683 |
|
683 | |||
684 | .. _credits_011: |
|
684 | .. _credits_011: | |
685 |
|
685 | |||
686 | Credits |
|
686 | Credits | |
687 | ------- |
|
687 | ------- | |
688 |
|
688 | |||
689 | Many users and developers contributed code, features, bug reports and ideas to |
|
689 | Many users and developers contributed code, features, bug reports and ideas to | |
690 | this release. Please do not hesitate in contacting us if we've failed to |
|
690 | this release. Please do not hesitate in contacting us if we've failed to | |
691 | acknowledge your contribution here. In particular, for this release we have |
|
691 | acknowledge your contribution here. In particular, for this release we have | |
692 | contribution from the following people, a mix of new and regular names (in |
|
692 | contribution from the following people, a mix of new and regular names (in | |
693 | alphabetical order by first name): |
|
693 | alphabetical order by first name): | |
694 |
|
694 | |||
695 | * Aenugu Sai Kiran Reddy <saikrn08-at-gmail.com> |
|
695 | * Aenugu Sai Kiran Reddy <saikrn08-at-gmail.com> | |
696 | * andy wilson <wilson.andrew.j+github-at-gmail.com> |
|
696 | * andy wilson <wilson.andrew.j+github-at-gmail.com> | |
697 | * Antonio Cuni <antocuni> |
|
697 | * Antonio Cuni <antocuni> | |
698 | * Barry Wark <barrywark-at-gmail.com> |
|
698 | * Barry Wark <barrywark-at-gmail.com> | |
699 | * Beetoju Anuradha <anu.beethoju-at-gmail.com> |
|
699 | * Beetoju Anuradha <anu.beethoju-at-gmail.com> | |
700 | * Benjamin Ragan-Kelley <minrk-at-Mercury.local> |
|
700 | * Benjamin Ragan-Kelley <minrk-at-Mercury.local> | |
701 | * Brad Reisfeld |
|
701 | * Brad Reisfeld | |
702 | * Brian E. Granger <ellisonbg-at-gmail.com> |
|
702 | * Brian E. Granger <ellisonbg-at-gmail.com> | |
703 | * Christoph Gohlke <cgohlke-at-uci.edu> |
|
703 | * Christoph Gohlke <cgohlke-at-uci.edu> | |
704 | * Cody Precord |
|
704 | * Cody Precord | |
705 | * dan.milstein |
|
705 | * dan.milstein | |
706 | * Darren Dale <dsdale24-at-gmail.com> |
|
706 | * Darren Dale <dsdale24-at-gmail.com> | |
707 | * Dav Clark <davclark-at-berkeley.edu> |
|
707 | * Dav Clark <davclark-at-berkeley.edu> | |
708 | * David Warde-Farley <wardefar-at-iro.umontreal.ca> |
|
708 | * David Warde-Farley <wardefar-at-iro.umontreal.ca> | |
709 | * epatters <ejpatters-at-gmail.com> |
|
709 | * epatters <ejpatters-at-gmail.com> | |
710 | * epatters <epatters-at-caltech.edu> |
|
710 | * epatters <epatters-at-caltech.edu> | |
711 | * epatters <epatters-at-enthought.com> |
|
711 | * epatters <epatters-at-enthought.com> | |
712 | * Eric Firing <efiring-at-hawaii.edu> |
|
712 | * Eric Firing <efiring-at-hawaii.edu> | |
713 | * Erik Tollerud <erik.tollerud-at-gmail.com> |
|
713 | * Erik Tollerud <erik.tollerud-at-gmail.com> | |
714 | * Evan Patterson <epatters-at-enthought.com> |
|
714 | * Evan Patterson <epatters-at-enthought.com> | |
715 | * Fernando Perez <Fernando.Perez-at-berkeley.edu> |
|
715 | * Fernando Perez <Fernando.Perez-at-berkeley.edu> | |
716 | * Gael Varoquaux <gael.varoquaux-at-normalesup.org> |
|
716 | * Gael Varoquaux <gael.varoquaux-at-normalesup.org> | |
717 | * Gerardo <muzgash-at-Muzpelheim> |
|
717 | * Gerardo <muzgash-at-Muzpelheim> | |
718 | * Jason Grout <jason.grout-at-drake.edu> |
|
718 | * Jason Grout <jason.grout-at-drake.edu> | |
719 | * John Hunter <jdh2358-at-gmail.com> |
|
719 | * John Hunter <jdh2358-at-gmail.com> | |
720 | * Jens Hedegaard Nielsen <jenshnielsen-at-gmail.com> |
|
720 | * Jens Hedegaard Nielsen <jenshnielsen-at-gmail.com> | |
721 | * Johann Cohen-Tanugi <johann.cohentanugi-at-gmail.com> |
|
721 | * Johann Cohen-Tanugi <johann.cohentanugi-at-gmail.com> | |
722 | * Jörgen Stenarson <jorgen.stenarson-at-bostream.nu> |
|
722 | * Jörgen Stenarson <jorgen.stenarson-at-bostream.nu> | |
723 | * Justin Riley <justin.t.riley-at-gmail.com> |
|
723 | * Justin Riley <justin.t.riley-at-gmail.com> | |
724 | * Kiorky |
|
724 | * Kiorky | |
725 | * Laurent Dufrechou <laurent.dufrechou-at-gmail.com> |
|
725 | * Laurent Dufrechou <laurent.dufrechou-at-gmail.com> | |
726 | * Luis Pedro Coelho <lpc-at-cmu.edu> |
|
726 | * Luis Pedro Coelho <lpc-at-cmu.edu> | |
727 | * Mani chandra <mchandra-at-iitk.ac.in> |
|
727 | * Mani chandra <mchandra-at-iitk.ac.in> | |
728 | * Mark E. Smith |
|
728 | * Mark E. Smith | |
729 | * Mark Voorhies <mark.voorhies-at-ucsf.edu> |
|
729 | * Mark Voorhies <mark.voorhies-at-ucsf.edu> | |
730 | * Martin Spacek <git-at-mspacek.mm.st> |
|
730 | * Martin Spacek <git-at-mspacek.mm.st> | |
731 | * Michael Droettboom <mdroe-at-stsci.edu> |
|
731 | * Michael Droettboom <mdroe-at-stsci.edu> | |
732 | * MinRK <benjaminrk-at-gmail.com> |
|
732 | * MinRK <benjaminrk-at-gmail.com> | |
733 | * muzuiget <muzuiget-at-gmail.com> |
|
733 | * muzuiget <muzuiget-at-gmail.com> | |
734 | * Nick Tarleton <nick-at-quixey.com> |
|
734 | * Nick Tarleton <nick-at-quixey.com> | |
735 | * Nicolas Rougier <Nicolas.rougier-at-inria.fr> |
|
735 | * Nicolas Rougier <Nicolas.rougier-at-inria.fr> | |
736 | * Omar Andres Zapata Mesa <andresete.chaos-at-gmail.com> |
|
736 | * Omar Andres Zapata Mesa <andresete.chaos-at-gmail.com> | |
737 | * Paul Ivanov <pivanov314-at-gmail.com> |
|
737 | * Paul Ivanov <pivanov314-at-gmail.com> | |
738 | * Pauli Virtanen <pauli.virtanen-at-iki.fi> |
|
738 | * Pauli Virtanen <pauli.virtanen-at-iki.fi> | |
739 | * Prabhu Ramachandran |
|
739 | * Prabhu Ramachandran | |
740 | * Ramana <sramana9-at-gmail.com> |
|
740 | * Ramana <sramana9-at-gmail.com> | |
741 | * Robert Kern <robert.kern-at-gmail.com> |
|
741 | * Robert Kern <robert.kern-at-gmail.com> | |
742 | * Sathesh Chandra <satheshchandra88-at-gmail.com> |
|
742 | * Sathesh Chandra <satheshchandra88-at-gmail.com> | |
743 | * Satrajit Ghosh <satra-at-mit.edu> |
|
743 | * Satrajit Ghosh <satra-at-mit.edu> | |
744 | * Sebastian Busch |
|
744 | * Sebastian Busch | |
745 | * Skipper Seabold <jsseabold-at-gmail.com> |
|
745 | * Skipper Seabold <jsseabold-at-gmail.com> | |
746 | * Stefan van der Walt <bzr-at-mentat.za.net> |
|
746 | * Stefan van der Walt <bzr-at-mentat.za.net> | |
747 | * Stephan Peijnik <debian-at-sp.or.at> |
|
747 | * Stephan Peijnik <debian-at-sp.or.at> | |
748 | * Steven Bethard |
|
748 | * Steven Bethard | |
749 | * Thomas Kluyver <takowl-at-gmail.com> |
|
749 | * Thomas Kluyver <takowl-at-gmail.com> | |
750 | * Thomas Spura <tomspur-at-fedoraproject.org> |
|
750 | * Thomas Spura <tomspur-at-fedoraproject.org> | |
751 | * Tom Fetherston <tfetherston-at-aol.com> |
|
751 | * Tom Fetherston <tfetherston-at-aol.com> | |
752 | * Tom MacWright |
|
752 | * Tom MacWright | |
753 | * tzanko |
|
753 | * tzanko | |
754 | * vankayala sowjanya <hai.sowjanya-at-gmail.com> |
|
754 | * vankayala sowjanya <hai.sowjanya-at-gmail.com> | |
755 | * Vivian De Smedt <vds2212-at-VIVIAN> |
|
755 | * Vivian De Smedt <vds2212-at-VIVIAN> | |
756 | * Ville M. Vainio <vivainio-at-gmail.com> |
|
756 | * Ville M. Vainio <vivainio-at-gmail.com> | |
757 | * Vishal Vatsa <vishal.vatsa-at-gmail.com> |
|
757 | * Vishal Vatsa <vishal.vatsa-at-gmail.com> | |
758 | * Vishnu S G <sgvishnu777-at-gmail.com> |
|
758 | * Vishnu S G <sgvishnu777-at-gmail.com> | |
759 | * Walter Doerwald <walter-at-livinglogic.de> |
|
759 | * Walter Doerwald <walter-at-livinglogic.de> | |
760 |
|
760 | |||
761 | .. note:: |
|
761 | .. note:: | |
762 |
|
762 | |||
763 | This list was generated with the output of |
|
763 | This list was generated with the output of | |
764 | ``git log dev-0.11 HEAD --format='* %aN <%aE>' | sed 's/@/\-at\-/' | sed 's/<>//' | sort -u`` |
|
764 | ``git log dev-0.11 HEAD --format='* %aN <%aE>' | sed 's/@/\-at\-/' | sed 's/<>//' | sort -u`` | |
765 | after some cleanup. If you should be on this list, please add yourself. |
|
765 | after some cleanup. If you should be on this list, please add yourself. |
1 | NO CONTENT: modified file |
|
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 | "cells": [ |
|
2 | "cells": [ | |
3 | { |
|
3 | { | |
4 | "cell_type": "markdown", |
|
4 | "cell_type": "markdown", | |
5 | "metadata": {}, |
|
5 | "metadata": {}, | |
6 | "source": [ |
|
6 | "source": [ | |
7 | "<img src=\"images/ipython_logo.png\">" |
|
7 | "<img src=\"images/ipython_logo.png\">" | |
8 | ] |
|
8 | ] | |
9 | }, |
|
9 | }, | |
10 | { |
|
10 | { | |
11 | "cell_type": "markdown", |
|
11 | "cell_type": "markdown", | |
12 | "metadata": {}, |
|
12 | "metadata": {}, | |
13 | "source": [ |
|
13 | "source": [ | |
14 | "# IPython Documentation" |
|
14 | "# IPython Documentation" | |
15 | ] |
|
15 | ] | |
16 | }, |
|
16 | }, | |
17 | { |
|
17 | { | |
18 | "cell_type": "markdown", |
|
18 | "cell_type": "markdown", | |
19 | "metadata": {}, |
|
19 | "metadata": {}, | |
20 | "source": [ |
|
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 | "cell_type": "markdown", |
|
26 | "cell_type": "markdown", | |
26 | "metadata": {}, |
|
27 | "metadata": {}, | |
27 | "source": [ |
|
28 | "source": [ | |
28 | "## Topics" |
|
29 | "## Topics" | |
29 | ] |
|
30 | ] | |
30 | }, |
|
31 | }, | |
31 | { |
|
32 | { | |
32 | "cell_type": "markdown", |
|
33 | "cell_type": "markdown", | |
33 | "metadata": {}, |
|
34 | "metadata": {}, | |
34 | "source": [ |
|
35 | "source": [ | |
35 | "* [IPython Kernel](IPython Kernel/Index.ipynb): IPython's core syntax and command line features available in all frontends\n", |
|
36 | "* [IPython Kernel](IPython Kernel/Index.ipynb): IPython's core syntax and command line features available in all frontends\n", | |
36 | "* [Embedding](Embedding/Index.ipynb): Embedding and reusing IPython's components into other applications\n" |
|
37 | "* [Embedding](Embedding/Index.ipynb): Embedding and reusing IPython's components into other applications\n" | |
37 | ] |
|
38 | ] | |
38 | } |
|
39 | } | |
39 | ], |
|
40 | ], | |
40 | "metadata": { |
|
41 | "metadata": { | |
41 | "kernelspec": { |
|
42 | "kernelspec": { | |
42 | "display_name": "Python 3", |
|
43 | "display_name": "Python 3", | |
43 | "language": "python", |
|
44 | "language": "python", | |
44 | "name": "python3" |
|
45 | "name": "python3" | |
45 | }, |
|
46 | }, | |
46 | "language_info": { |
|
47 | "language_info": { | |
47 | "codemirror_mode": { |
|
48 | "codemirror_mode": { | |
48 | "name": "ipython", |
|
49 | "name": "ipython", | |
49 | "version": 3 |
|
50 | "version": 3 | |
50 | }, |
|
51 | }, | |
51 | "file_extension": ".py", |
|
52 | "file_extension": ".py", | |
52 | "mimetype": "text/x-python", |
|
53 | "mimetype": "text/x-python", | |
53 | "name": "python", |
|
54 | "name": "python", | |
54 | "nbconvert_exporter": "python", |
|
55 | "nbconvert_exporter": "python", | |
55 | "pygments_lexer": "ipython3", |
|
56 | "pygments_lexer": "ipython3", | |
56 | "version": "3.4.3" |
|
57 | "version": "3.4.3" | |
57 | } |
|
58 | } | |
58 | }, |
|
59 | }, | |
59 | "nbformat": 4, |
|
60 | "nbformat": 4, | |
60 | "nbformat_minor": 0 |
|
61 | "nbformat_minor": 0 | |
61 | } |
|
62 | } |
@@ -1,307 +1,307 b'' | |||||
1 | { |
|
1 | { | |
2 | "cells": [ |
|
2 | "cells": [ | |
3 | { |
|
3 | { | |
4 | "cell_type": "markdown", |
|
4 | "cell_type": "markdown", | |
5 | "metadata": {}, |
|
5 | "metadata": {}, | |
6 | "source": [ |
|
6 | "source": [ | |
7 | "# Test notebook for overflowing content" |
|
7 | "# Test notebook for overflowing content" | |
8 | ] |
|
8 | ] | |
9 | }, |
|
9 | }, | |
10 | { |
|
10 | { | |
11 | "cell_type": "markdown", |
|
11 | "cell_type": "markdown", | |
12 | "metadata": {}, |
|
12 | "metadata": {}, | |
13 | "source": [ |
|
13 | "source": [ | |
14 | "markdown image:\n", |
|
14 | "markdown image:\n", | |
15 | "\n", |
|
15 | "\n", | |
16 | "<img src=\"http://placehold.it/800x200.png\">\n", |
|
16 | "<img src=\"http://placehold.it/800x200.png\">\n", | |
17 | "\n", |
|
17 | "\n", | |
18 | "unconfined markdown image:\n", |
|
18 | "unconfined markdown image:\n", | |
19 | "\n", |
|
19 | "\n", | |
20 | "<img src=\"http://placehold.it/800x200.png\" class=\"unconfined\">" |
|
20 | "<img src=\"http://placehold.it/800x200.png\" class=\"unconfined\">" | |
21 | ] |
|
21 | ] | |
22 | }, |
|
22 | }, | |
23 | { |
|
23 | { | |
24 | "cell_type": "code", |
|
24 | "cell_type": "code", | |
25 | "execution_count": 1, |
|
25 | "execution_count": 1, | |
26 | "metadata": { |
|
26 | "metadata": { | |
27 | "collapsed": true |
|
27 | "collapsed": true | |
28 | }, |
|
28 | }, | |
29 | "outputs": [], |
|
29 | "outputs": [], | |
30 | "source": [ |
|
30 | "source": [ | |
31 | "from IPython.display import Image, IFrame" |
|
31 | "from IPython.display import Image, IFrame" | |
32 | ] |
|
32 | ] | |
33 | }, |
|
33 | }, | |
34 | { |
|
34 | { | |
35 | "cell_type": "markdown", |
|
35 | "cell_type": "markdown", | |
36 | "metadata": {}, |
|
36 | "metadata": {}, | |
37 | "source": [ |
|
37 | "source": [ | |
38 | "Overflow image in HTML (non-embedded)" |
|
38 | "Overflow image in HTML (non-embedded)" | |
39 | ] |
|
39 | ] | |
40 | }, |
|
40 | }, | |
41 | { |
|
41 | { | |
42 | "cell_type": "code", |
|
42 | "cell_type": "code", | |
43 | "execution_count": 2, |
|
43 | "execution_count": 2, | |
44 | "metadata": { |
|
44 | "metadata": { | |
45 | "collapsed": false |
|
45 | "collapsed": false | |
46 | }, |
|
46 | }, | |
47 | "outputs": [ |
|
47 | "outputs": [ | |
48 | { |
|
48 | { | |
49 | "data": { |
|
49 | "data": { | |
50 | "text/html": [ |
|
50 | "text/html": [ | |
51 | "<img src=\"http://placehold.it/800x200.png\" />" |
|
51 | "<img src=\"http://placehold.it/800x200.png\" />" | |
52 | ], |
|
52 | ], | |
53 | "text/plain": [ |
|
53 | "text/plain": [ | |
54 | "<IPython.core.display.Image object>" |
|
54 | "<IPython.core.display.Image object>" | |
55 | ] |
|
55 | ] | |
56 | }, |
|
56 | }, | |
57 | "execution_count": 2, |
|
57 | "execution_count": 2, | |
58 | "metadata": {}, |
|
58 | "metadata": {}, | |
59 | "output_type": "execute_result" |
|
59 | "output_type": "execute_result" | |
60 | } |
|
60 | } | |
61 | ], |
|
61 | ], | |
62 | "source": [ |
|
62 | "source": [ | |
63 | "Image(url=\"http://placehold.it/800x200.png\", embed=False)" |
|
63 | "Image(url=\"http://placehold.it/800x200.png\", embed=False)" | |
64 | ] |
|
64 | ] | |
65 | }, |
|
65 | }, | |
66 | { |
|
66 | { | |
67 | "cell_type": "markdown", |
|
67 | "cell_type": "markdown", | |
68 | "metadata": {}, |
|
68 | "metadata": {}, | |
69 | "source": [ |
|
69 | "source": [ | |
70 | "Overflow image:" |
|
70 | "Overflow image:" | |
71 | ] |
|
71 | ] | |
72 | }, |
|
72 | }, | |
73 | { |
|
73 | { | |
74 | "cell_type": "code", |
|
74 | "cell_type": "code", | |
75 | "execution_count": 3, |
|
75 | "execution_count": 3, | |
76 | "metadata": { |
|
76 | "metadata": { | |
77 | "collapsed": false |
|
77 | "collapsed": false | |
78 | }, |
|
78 | }, | |
79 | "outputs": [ |
|
79 | "outputs": [ | |
80 | { |
|
80 | { | |
81 | "data": { |
|
81 | "data": { | |
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", |
|
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 | "text/plain": [ |
|
83 | "text/plain": [ | |
84 | "<IPython.core.display.Image object>" |
|
84 | "<IPython.core.display.Image object>" | |
85 | ] |
|
85 | ] | |
86 | }, |
|
86 | }, | |
87 | "execution_count": 3, |
|
87 | "execution_count": 3, | |
88 | "metadata": {}, |
|
88 | "metadata": {}, | |
89 | "output_type": "execute_result" |
|
89 | "output_type": "execute_result" | |
90 | } |
|
90 | } | |
91 | ], |
|
91 | ], | |
92 | "source": [ |
|
92 | "source": [ | |
93 | "Image(url=\"http://placehold.it/800x200.png\", embed=True)" |
|
93 | "Image(url=\"http://placehold.it/800x200.png\", embed=True)" | |
94 | ] |
|
94 | ] | |
95 | }, |
|
95 | }, | |
96 | { |
|
96 | { | |
97 | "cell_type": "markdown", |
|
97 | "cell_type": "markdown", | |
98 | "metadata": {}, |
|
98 | "metadata": {}, | |
99 | "source": [ |
|
99 | "source": [ | |
100 | "Overflow, unconfined" |
|
100 | "Overflow, unconfined" | |
101 | ] |
|
101 | ] | |
102 | }, |
|
102 | }, | |
103 | { |
|
103 | { | |
104 | "cell_type": "code", |
|
104 | "cell_type": "code", | |
105 | "execution_count": 4, |
|
105 | "execution_count": 4, | |
106 | "metadata": { |
|
106 | "metadata": { | |
107 | "collapsed": false |
|
107 | "collapsed": false | |
108 | }, |
|
108 | }, | |
109 | "outputs": [ |
|
109 | "outputs": [ | |
110 | { |
|
110 | { | |
111 | "data": { |
|
111 | "data": { | |
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", |
|
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 | "text/plain": [ |
|
113 | "text/plain": [ | |
114 | "<IPython.core.display.Image object>" |
|
114 | "<IPython.core.display.Image object>" | |
115 | ] |
|
115 | ] | |
116 | }, |
|
116 | }, | |
117 | "execution_count": 4, |
|
117 | "execution_count": 4, | |
118 | "metadata": { |
|
118 | "metadata": { | |
119 | "image/png": { |
|
119 | "image/png": { | |
120 | "unconfined": true |
|
120 | "unconfined": true | |
121 | } |
|
121 | } | |
122 | }, |
|
122 | }, | |
123 | "output_type": "execute_result" |
|
123 | "output_type": "execute_result" | |
124 | } |
|
124 | } | |
125 | ], |
|
125 | ], | |
126 | "source": [ |
|
126 | "source": [ | |
127 | "Image(url=\"http://placehold.it/800x200.png\", embed=True, unconfined=True)" |
|
127 | "Image(url=\"http://placehold.it/800x200.png\", embed=True, unconfined=True)" | |
128 | ] |
|
128 | ] | |
129 | }, |
|
129 | }, | |
130 | { |
|
130 | { | |
131 | "cell_type": "markdown", |
|
131 | "cell_type": "markdown", | |
132 | "metadata": {}, |
|
132 | "metadata": {}, | |
133 | "source": [ |
|
133 | "source": [ | |
134 | "Overflow with explicit height, width (retina):" |
|
134 | "Overflow with explicit height, width (retina):" | |
135 | ] |
|
135 | ] | |
136 | }, |
|
136 | }, | |
137 | { |
|
137 | { | |
138 | "cell_type": "code", |
|
138 | "cell_type": "code", | |
139 | "execution_count": 5, |
|
139 | "execution_count": 5, | |
140 | "metadata": { |
|
140 | "metadata": { | |
141 | "collapsed": false |
|
141 | "collapsed": false | |
142 | }, |
|
142 | }, | |
143 | "outputs": [ |
|
143 | "outputs": [ | |
144 | { |
|
144 | { | |
145 | "data": { |
|
145 | "data": { | |
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", |
|
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 | "text/plain": [ |
|
147 | "text/plain": [ | |
148 | "<IPython.core.display.Image object>" |
|
148 | "<IPython.core.display.Image object>" | |
149 | ] |
|
149 | ] | |
150 | }, |
|
150 | }, | |
151 | "execution_count": 5, |
|
151 | "execution_count": 5, | |
152 | "metadata": { |
|
152 | "metadata": { | |
153 | "image/jpeg": { |
|
153 | "image/jpeg": { | |
154 | "height": 100, |
|
154 | "height": 100, | |
155 | "width": 900 |
|
155 | "width": 900 | |
156 | } |
|
156 | } | |
157 | }, |
|
157 | }, | |
158 | "output_type": "execute_result" |
|
158 | "output_type": "execute_result" | |
159 | } |
|
159 | } | |
160 | ], |
|
160 | ], | |
161 | "source": [ |
|
161 | "source": [ | |
162 | "Image(url=\"http://placehold.it/1800x200.jpg\", embed=True, retina=True)" |
|
162 | "Image(url=\"http://placehold.it/1800x200.jpg\", embed=True, retina=True)" | |
163 | ] |
|
163 | ] | |
164 | }, |
|
164 | }, | |
165 | { |
|
165 | { | |
166 | "cell_type": "markdown", |
|
166 | "cell_type": "markdown", | |
167 | "metadata": {}, |
|
167 | "metadata": {}, | |
168 | "source": [ |
|
168 | "source": [ | |
169 | "Overflowing IFrame:" |
|
169 | "Overflowing IFrame:" | |
170 | ] |
|
170 | ] | |
171 | }, |
|
171 | }, | |
172 | { |
|
172 | { | |
173 | "cell_type": "code", |
|
173 | "cell_type": "code", | |
174 | "execution_count": null, |
|
174 | "execution_count": null, | |
175 | "metadata": { |
|
175 | "metadata": { | |
176 | "collapsed": false |
|
176 | "collapsed": false | |
177 | }, |
|
177 | }, | |
178 | "outputs": [ |
|
178 | "outputs": [ | |
179 | { |
|
179 | { | |
180 | "data": { |
|
180 | "data": { | |
181 | "text/html": [ |
|
181 | "text/html": [ | |
182 | "\n", |
|
182 | "\n", | |
183 | " <iframe\n", |
|
183 | " <iframe\n", | |
184 | " width=\"900\"\n", |
|
184 | " width=\"900\"\n", | |
185 | " height=\"400\"\n", |
|
185 | " height=\"400\"\n", | |
186 | " src=\"http://ipython.org\"\n", |
|
186 | " src=\"https://ipython.org\"\n", | |
187 | " frameborder=\"0\"\n", |
|
187 | " frameborder=\"0\"\n", | |
188 | " allowfullscreen\n", |
|
188 | " allowfullscreen\n", | |
189 | " ></iframe>\n", |
|
189 | " ></iframe>\n", | |
190 | " " |
|
190 | " " | |
191 | ], |
|
191 | ], | |
192 | "text/plain": [ |
|
192 | "text/plain": [ | |
193 | "<IPython.lib.display.IFrame at 0x105239dd8>" |
|
193 | "<IPython.lib.display.IFrame at 0x105239dd8>" | |
194 | ] |
|
194 | ] | |
195 | }, |
|
195 | }, | |
196 | "execution_count": 6, |
|
196 | "execution_count": 6, | |
197 | "metadata": {}, |
|
197 | "metadata": {}, | |
198 | "output_type": "execute_result" |
|
198 | "output_type": "execute_result" | |
199 | } |
|
199 | } | |
200 | ], |
|
200 | ], | |
201 | "source": [ |
|
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 | "cell_type": "markdown", |
|
206 | "cell_type": "markdown", | |
207 | "metadata": {}, |
|
207 | "metadata": {}, | |
208 | "source": [ |
|
208 | "source": [ | |
209 | "Overflowing table:" |
|
209 | "Overflowing table:" | |
210 | ] |
|
210 | ] | |
211 | }, |
|
211 | }, | |
212 | { |
|
212 | { | |
213 | "cell_type": "code", |
|
213 | "cell_type": "code", | |
214 | "execution_count": null, |
|
214 | "execution_count": null, | |
215 | "metadata": { |
|
215 | "metadata": { | |
216 | "collapsed": false |
|
216 | "collapsed": false | |
217 | }, |
|
217 | }, | |
218 | "outputs": [ |
|
218 | "outputs": [ | |
219 | { |
|
219 | { | |
220 | "data": { |
|
220 | "data": { | |
221 | "text/html": [ |
|
221 | "text/html": [ | |
222 | "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", |
|
222 | "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
223 | "<table border=\"1\" class=\"dataframe\">\n", |
|
223 | "<table border=\"1\" class=\"dataframe\">\n", | |
224 | " <thead>\n", |
|
224 | " <thead>\n", | |
225 | " <tr style=\"text-align: right;\">\n", |
|
225 | " <tr style=\"text-align: right;\">\n", | |
226 | " <th></th>\n", |
|
226 | " <th></th>\n", | |
227 | " <th>0</th>\n", |
|
227 | " <th>0</th>\n", | |
228 | " <th>1</th>\n", |
|
228 | " <th>1</th>\n", | |
229 | " <th>2</th>\n", |
|
229 | " <th>2</th>\n", | |
230 | " <th>3</th>\n", |
|
230 | " <th>3</th>\n", | |
231 | " <th>4</th>\n", |
|
231 | " <th>4</th>\n", | |
232 | " <th>5</th>\n", |
|
232 | " <th>5</th>\n", | |
233 | " <th>6</th>\n", |
|
233 | " <th>6</th>\n", | |
234 | " <th>7</th>\n", |
|
234 | " <th>7</th>\n", | |
235 | " <th>8</th>\n", |
|
235 | " <th>8</th>\n", | |
236 | " <th>9</th>\n", |
|
236 | " <th>9</th>\n", | |
237 | " <th>10</th>\n", |
|
237 | " <th>10</th>\n", | |
238 | " <th>11</th>\n", |
|
238 | " <th>11</th>\n", | |
239 | " <th>12</th>\n", |
|
239 | " <th>12</th>\n", | |
240 | " <th>13</th>\n", |
|
240 | " <th>13</th>\n", | |
241 | " <th>14</th>\n", |
|
241 | " <th>14</th>\n", | |
242 | " </tr>\n", |
|
242 | " </tr>\n", | |
243 | " </thead>\n", |
|
243 | " </thead>\n", | |
244 | " <tbody>\n", |
|
244 | " <tbody>\n", | |
245 | " <tr>\n", |
|
245 | " <tr>\n", | |
246 | " <th>0</th>\n", |
|
246 | " <th>0</th>\n", | |
247 | " <td> column</td>\n", |
|
247 | " <td> column</td>\n", | |
248 | " <td> column</td>\n", |
|
248 | " <td> column</td>\n", | |
249 | " <td> column</td>\n", |
|
249 | " <td> column</td>\n", | |
250 | " <td> column</td>\n", |
|
250 | " <td> column</td>\n", | |
251 | " <td> column</td>\n", |
|
251 | " <td> column</td>\n", | |
252 | " <td> column</td>\n", |
|
252 | " <td> column</td>\n", | |
253 | " <td> column</td>\n", |
|
253 | " <td> column</td>\n", | |
254 | " <td> column</td>\n", |
|
254 | " <td> column</td>\n", | |
255 | " <td> column</td>\n", |
|
255 | " <td> column</td>\n", | |
256 | " <td> column</td>\n", |
|
256 | " <td> column</td>\n", | |
257 | " <td> column</td>\n", |
|
257 | " <td> column</td>\n", | |
258 | " <td> column</td>\n", |
|
258 | " <td> column</td>\n", | |
259 | " <td> column</td>\n", |
|
259 | " <td> column</td>\n", | |
260 | " <td> column</td>\n", |
|
260 | " <td> column</td>\n", | |
261 | " <td> column</td>\n", |
|
261 | " <td> column</td>\n", | |
262 | " </tr>\n", |
|
262 | " </tr>\n", | |
263 | " </tbody>\n", |
|
263 | " </tbody>\n", | |
264 | "</table>\n", |
|
264 | "</table>\n", | |
265 | "</div>" |
|
265 | "</div>" | |
266 | ], |
|
266 | ], | |
267 | "text/plain": [ |
|
267 | "text/plain": [ | |
268 | " 0 1 2 3 4 5 6 7 8 \\\n", |
|
268 | " 0 1 2 3 4 5 6 7 8 \\\n", | |
269 | "0 column column column column column column column column column \n", |
|
269 | "0 column column column column column column column column column \n", | |
270 | "\n", |
|
270 | "\n", | |
271 | " 9 10 11 12 13 14 \n", |
|
271 | " 9 10 11 12 13 14 \n", | |
272 | "0 column column column column column column " |
|
272 | "0 column column column column column column " | |
273 | ] |
|
273 | ] | |
274 | }, |
|
274 | }, | |
275 | "execution_count": 7, |
|
275 | "execution_count": 7, | |
276 | "metadata": {}, |
|
276 | "metadata": {}, | |
277 | "output_type": "execute_result" |
|
277 | "output_type": "execute_result" | |
278 | } |
|
278 | } | |
279 | ], |
|
279 | ], | |
280 | "source": [ |
|
280 | "source": [ | |
281 | "import pandas as pd\n", |
|
281 | "import pandas as pd\n", | |
282 | "pd.DataFrame([['column'] * 15])" |
|
282 | "pd.DataFrame([['column'] * 15])" | |
283 | ] |
|
283 | ] | |
284 | } |
|
284 | } | |
285 | ], |
|
285 | ], | |
286 | "metadata": { |
|
286 | "metadata": { | |
287 | "kernelspec": { |
|
287 | "kernelspec": { | |
288 | "display_name": "Python 3", |
|
288 | "display_name": "Python 3", | |
289 | "language": "python", |
|
289 | "language": "python", | |
290 | "name": "python3" |
|
290 | "name": "python3" | |
291 | }, |
|
291 | }, | |
292 | "language_info": { |
|
292 | "language_info": { | |
293 | "codemirror_mode": { |
|
293 | "codemirror_mode": { | |
294 | "name": "ipython", |
|
294 | "name": "ipython", | |
295 | "version": 3 |
|
295 | "version": 3 | |
296 | }, |
|
296 | }, | |
297 | "file_extension": ".py", |
|
297 | "file_extension": ".py", | |
298 | "mimetype": "text/x-python", |
|
298 | "mimetype": "text/x-python", | |
299 | "name": "python", |
|
299 | "name": "python", | |
300 | "nbconvert_exporter": "python", |
|
300 | "nbconvert_exporter": "python", | |
301 | "pygments_lexer": "ipython3", |
|
301 | "pygments_lexer": "ipython3", | |
302 | "version": "3.4.3" |
|
302 | "version": "3.4.3" | |
303 | } |
|
303 | } | |
304 | }, |
|
304 | }, | |
305 | "nbformat": 4, |
|
305 | "nbformat": 4, | |
306 | "nbformat_minor": 0 |
|
306 | "nbformat_minor": 0 | |
307 | } |
|
307 | } |
1 | NO CONTENT: modified file |
|
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