##// END OF EJS Templates
Merge pull request #1 from ipython/master...
kaushikanant -
r22808:c6089143 merge
parent child Browse files
Show More
@@ -5,30 +5,12 b' python:'
5 - 3.5
5 - 3.5
6 - 3.4
6 - 3.4
7 - 3.3
7 - 3.3
8 - 2.7
9 - pypy
10 sudo: false
8 sudo: false
11 before_install:
9 before_install:
12 - git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
10 - git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
13 - 'if [[ $GROUP != js* ]]; then COVERAGE=""; fi'
11 - 'if [[ $GROUP != js* ]]; then COVERAGE=""; fi'
14 install:
12 install:
15 - pip install "setuptools>=18.5"
13 - pip install "setuptools>=18.5"
16 # Installs PyPy (+ its Numpy). Based on @frol comment at:
17 # https://github.com/travis-ci/travis-ci/issues/5027
18 - |
19 if [ "$TRAVIS_PYTHON_VERSION" = "pypy" ]; then
20 export PYENV_ROOT="$HOME/.pyenv"
21 if [ -f "$PYENV_ROOT/bin/pyenv" ]; then
22 cd "$PYENV_ROOT" && git pull
23 else
24 rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT"
25 fi
26 export PYPY_VERSION="5.3.1"
27 "$PYENV_ROOT/bin/pyenv" install "pypy-$PYPY_VERSION"
28 virtualenv --python="$PYENV_ROOT/versions/pypy-$PYPY_VERSION/bin/python" "$HOME/virtualenvs/pypy-$PYPY_VERSION"
29 source "$HOME/virtualenvs/pypy-$PYPY_VERSION/bin/activate"
30 pip install https://bitbucket.org/pypy/numpy/get/master.zip
31 fi
32 - pip install -f travis-wheels/wheelhouse -e file://$PWD#egg=ipython[test]
14 - pip install -f travis-wheels/wheelhouse -e file://$PWD#egg=ipython[test]
33 - pip install codecov
15 - pip install codecov
34 script:
16 script:
@@ -41,4 +23,3 b' after_success:'
41 matrix:
23 matrix:
42 allow_failures:
24 allow_failures:
43 - python: nightly
25 - python: nightly
44 - python: pypy
@@ -30,8 +30,8 b' import warnings'
30
30
31 # Don't forget to also update setup.py when this changes!
31 # Don't forget to also update setup.py when this changes!
32 v = sys.version_info
32 v = sys.version_info
33 if v[:2] < (2,7) or (v[0] >= 3 and v[:2] < (3,3)):
33 if v[:2] < (3,3):
34 raise ImportError('IPython requires Python version 2.7 or 3.3 or above.')
34 raise ImportError('IPython requires Python version 3.3 or above.')
35 del v
35 del v
36
36
37 # Make it easy to import extensions - they are always directly on pythonpath.
37 # Make it easy to import extensions - they are always directly on pythonpath.
@@ -3,6 +3,7 b''
3 from __future__ import print_function
3 from __future__ import print_function
4 from __future__ import absolute_import
4 from __future__ import absolute_import
5
5
6 import argparse
6 import io
7 import io
7 import sys
8 import sys
8 from pprint import pformat
9 from pprint import pformat
@@ -548,11 +549,7 b' Currently the magic system has the following functions:""",'
548 @magic_arguments.magic_arguments()
549 @magic_arguments.magic_arguments()
549 @magic_arguments.argument(
550 @magic_arguments.argument(
550 '-e', '--export', action='store_true', default=False,
551 '-e', '--export', action='store_true', default=False,
551 help='Export IPython history as a notebook. The filename argument '
552 help=argparse.SUPPRESS
552 'is used to specify the notebook name and format. For example '
553 'a filename of notebook.ipynb will result in a notebook name '
554 'of "notebook" and a format of "json". Likewise using a ".py" '
555 'file extension will write the notebook as a Python script'
556 )
553 )
557 @magic_arguments.argument(
554 @magic_arguments.argument(
558 'filename', type=unicode_type,
555 'filename', type=unicode_type,
@@ -563,22 +560,24 b' Currently the magic system has the following functions:""",'
563 """Export and convert IPython notebooks.
560 """Export and convert IPython notebooks.
564
561
565 This function can export the current IPython history to a notebook file.
562 This function can export the current IPython history to a notebook file.
566 For example, to export the history to "foo.ipynb" do "%notebook -e foo.ipynb".
563 For example, to export the history to "foo.ipynb" do "%notebook foo.ipynb".
567 To export the history to "foo.py" do "%notebook -e foo.py".
564
565 The -e or --export flag is deprecated in IPython 5.2, and will be
566 removed in the future.
568 """
567 """
569 args = magic_arguments.parse_argstring(self.notebook, s)
568 args = magic_arguments.parse_argstring(self.notebook, s)
570
569
571 from nbformat import write, v4
570 from nbformat import write, v4
572 if args.export:
571
573 cells = []
572 cells = []
574 hist = list(self.shell.history_manager.get_range())
573 hist = list(self.shell.history_manager.get_range())
575 if(len(hist)<=1):
574 if(len(hist)<=1):
576 raise ValueError('History is empty, cannot export')
575 raise ValueError('History is empty, cannot export')
577 for session, execution_count, source in hist[:-1]:
576 for session, execution_count, source in hist[:-1]:
578 cells.append(v4.new_code_cell(
577 cells.append(v4.new_code_cell(
579 execution_count=execution_count,
578 execution_count=execution_count,
580 source=source
579 source=source
581 ))
580 ))
582 nb = v4.new_notebook(cells=cells)
581 nb = v4.new_notebook(cells=cells)
583 with io.open(args.filename, 'w', encoding='utf-8') as f:
582 with io.open(args.filename, 'w', encoding='utf-8') as f:
584 write(nb, f, version=4)
583 write(nb, f, version=4)
@@ -19,12 +19,12 b" name = 'ipython'"
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 = 5
22 _version_major = 6
23 _version_minor = 1
23 _version_minor = 0
24 _version_patch = 0
24 _version_patch = 0
25 _version_extra = '.dev'
25 _version_extra = '.dev'
26 # _version_extra = 'rc1'
26 # _version_extra = 'rc1'
27 #_version_extra = '' # Uncomment this for full releases
27 # _version_extra = '' # Uncomment this for full releases
28
28
29 # release.codename is deprecated in 2.0, will be removed in 3.0
29 # release.codename is deprecated in 2.0, will be removed in 3.0
30 codename = ''
30 codename = ''
@@ -116,8 +116,6 b' classifiers = ['
116 'Intended Audience :: Science/Research',
116 'Intended Audience :: Science/Research',
117 'License :: OSI Approved :: BSD License',
117 'License :: OSI Approved :: BSD License',
118 'Programming Language :: Python',
118 'Programming Language :: Python',
119 'Programming Language :: Python :: 2',
120 'Programming Language :: Python :: 2.7',
121 'Programming Language :: Python :: 3',
119 'Programming Language :: Python :: 3',
122 'Topic :: System :: Shells'
120 'Topic :: System :: Shells'
123 ]
121 ]
@@ -22,8 +22,8 b' Welcome to IPython. Our full documentation is available on `ipython.readthedocs'
22 <https://ipython.readthedocs.io/en/stable/>`_ and contain information on how to install, use
22 <https://ipython.readthedocs.io/en/stable/>`_ and contain information on how to install, use
23 contribute to the project.
23 contribute to the project.
24
24
25 Officially, IPython requires Python version 2.7, or 3.3 and above.
25 Officially, IPython requires Python version 3.3 and above.
26 IPython 1.x is the last IPython version to support Python 2.6 and 3.2.
26 IPython 5.x is the last IPython version to support Python 2.7.
27
27
28 The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*.
28 The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*.
29 See the `Jupyter installation docs <http://jupyter.readthedocs.io/en/latest/install.html>`__
29 See the `Jupyter installation docs <http://jupyter.readthedocs.io/en/latest/install.html>`__
@@ -43,10 +43,12 b' For example::'
43 Custom exception tracebacks
43 Custom exception tracebacks
44 ===========================
44 ===========================
45
45
46 Rarely, you might want to display a different traceback with an exception -
46 Rarely, you might want to display a custom traceback when reporting an
47 IPython's own parallel computing framework does this to display errors from the
47 exception. To do this, define the custom traceback using
48 engines. To do this, define a ``_render_traceback_(self)`` method which returns
48 `_render_traceback_(self)` method which returns a list of strings, one string
49 a list of strings, each containing one line of the traceback.
49 for each line of the traceback. For example, the `ipyparallel
50 <http://ipyparallel.readthedocs.io/>`__ a parallel computing framework for
51 IPython, does this to display errors from multiple engines.
50
52
51 Please be conservative in using this feature; by replacing the default traceback
53 Please be conservative in using this feature; by replacing the default traceback
52 you may hide important information from the user.
54 you may hide important information from the user.
@@ -176,8 +176,10 b' Run the ``release`` script, this step requires having a current wheel, Python'
176 ./tools/release
176 ./tools/release
177
177
178 This makes the tarballs, zipfiles, and wheels, and put them under the ``dist/``
178 This makes the tarballs, zipfiles, and wheels, and put them under the ``dist/``
179 folder. Be sure to test the ``wheel`` and the ``sdist`` locally before uploading
179 folder. Be sure to test the ``wheels`` and the ``sdist`` locally before
180 them to PyPI.
180 uploading them to PyPI. We do not use an universal wheel as each wheel
181 installs an ``ipython2`` or ``ipython3`` script, depending on the version of
182 Python it is built for. Using an universal wheel would prevent this.
181
183
182 Use the following to actually upload the result of the build::
184 Use the following to actually upload the result of the build::
183
185
@@ -41,20 +41,17 b' The next thing you need to know is what to call your configuration file. The'
41 basic idea is that each application has its own default configuration filename.
41 basic idea is that each application has its own default configuration filename.
42 The default named used by the :command:`ipython` command line program is
42 The default named used by the :command:`ipython` command line program is
43 :file:`ipython_config.py`, and *all* IPython applications will use this file.
43 :file:`ipython_config.py`, and *all* IPython applications will use this file.
44 Other applications, such as the parallel :command:`ipcluster` scripts or the
44 The IPython kernel will load its own config file *after*
45 QtConsole will load their own config files *after* :file:`ipython_config.py`. To
45 :file:`ipython_config.py`. To load a particular configuration file instead of
46 load a particular configuration file instead of the default, the name can be
46 the default, the name can be overridden by the ``config_file`` command line
47 overridden by the ``config_file`` command line flag.
47 flag.
48
48
49 To generate the default configuration files, do::
49 To generate the default configuration files, do::
50
50
51 $ ipython profile create
51 $ ipython profile create
52
52
53 and you will have a default :file:`ipython_config.py` in your IPython directory
53 and you will have a default :file:`ipython_config.py` in your IPython directory
54 under :file:`profile_default`. If you want the default config files for the
54 under :file:`profile_default`.
55 :mod:`IPython.parallel` applications, add ``--parallel`` to the end of the
56 command-line args.
57
58 .. note::
55 .. note::
59
56
60 IPython configuration options are case sensitive, and IPython cannot
57 IPython configuration options are case sensitive, and IPython cannot
@@ -4,7 +4,7 b' Installing IPython'
4 ==================
4 ==================
5
5
6
6
7 IPython requires Python 2.7 or ≥ 3.3.
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
@@ -232,50 +232,9 b' and clients.'
232 Interactive parallel computing
232 Interactive parallel computing
233 ==============================
233 ==============================
234
234
235 .. note::
236
235
237 This functionality is optional and now part of the `ipyparallel
236 This functionality is optional and now part of the `ipyparallel
238 <http://ipyparallel.readthedocs.io/>`_ project.
237 <http://ipyparallel.readthedocs.io/>`_ project.
239
240 Increasingly, parallel computer hardware, such as multicore CPUs, clusters and
241 supercomputers, is becoming ubiquitous. Over the last several years, we have
242 developed an architecture within IPython that allows such hardware to be used
243 quickly and easily from Python. Moreover, this architecture is designed to
244 support interactive and collaborative parallel computing.
245
246 The main features of this system are:
247
248 * Quickly parallelize Python code from an interactive Python/IPython session.
249
250 * A flexible and dynamic process model that be deployed on anything from
251 multicore workstations to supercomputers.
252
253 * An architecture that supports many different styles of parallelism, from
254 message passing to task farming. And all of these styles can be handled
255 interactively.
256
257 * Both blocking and fully asynchronous interfaces.
258
259 * High level APIs that enable many things to be parallelized in a few lines
260 of code.
261
262 * Write parallel code that will run unchanged on everything from multicore
263 workstations to supercomputers.
264
265 * Full integration with Message Passing libraries (MPI).
266
267 * Capabilities based security model with full encryption of network connections.
268
269 * Share live parallel jobs with other users securely. We call this
270 collaborative parallel computing.
271
272 * Dynamically load balanced task farming system.
273
274 * Robust error handling. Python exceptions raised in parallel execution are
275 gathered and presented to the top-level code.
276
277 For more information, see our :ref:`overview <parallel_index>` of using IPython
278 for parallel computing.
279
238
280 Portability and Python requirements
239 Portability and Python requirements
281 -----------------------------------
240 -----------------------------------
@@ -3,6 +3,36 b''
3 Issues closed in the 5.x development cycle
3 Issues closed in the 5.x development cycle
4 ==========================================
4 ==========================================
5
5
6 Issues closed in 5.1
7 --------------------
8
9 GitHub stats for 2016/07/08 - 2016/08/13 (tag: 5.0.0)
10
11 These lists are automatically generated, and may be incomplete or contain duplicates.
12
13 We closed 33 issues and merged 43 pull requests.
14 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.1+>`__
15
16 The following 17 authors contributed 129 commits.
17
18 * Antony Lee
19 * Benjamin Ragan-Kelley
20 * Carol Willing
21 * Danilo J. S. Bellini
22 * 小明 (`dongweiming <https://github.com/dongweiming>`__)
23 * Fernando Perez
24 * Gavin Cooper
25 * Gil Forsyth
26 * Jacob Niehus
27 * Julian Kuhlmann
28 * Matthias Bussonnier
29 * Michael Pacer
30 * Nik Nyby
31 * Pavol Juhas
32 * Luke Deen Taylor
33 * Thomas Kluyver
34 * Tamir Bahar
35
6
36
7 Issues closed in 5.0
37 Issues closed in 5.0
8 --------------------
38 --------------------
@@ -27,8 +27,8 b' import sys'
27 # This check is also made in IPython/__init__, don't forget to update both when
27 # This check is also made in IPython/__init__, don't forget to update both when
28 # changing Python version requirements.
28 # changing Python version requirements.
29 v = sys.version_info
29 v = sys.version_info
30 if v[:2] < (2,7) or (v[0] >= 3 and v[:2] < (3,3)):
30 if v[:2] < (3,3):
31 error = "ERROR: IPython requires Python version 2.7 or 3.3 or above."
31 error = "ERROR: IPython requires Python version 3.3 or above."
32 print(error, file=sys.stderr)
32 print(error, file=sys.stderr)
33 sys.exit(1)
33 sys.exit(1)
34
34
@@ -239,6 +239,7 b' for key, deps in extras_require.items():'
239 extras_require['all'] = everything
239 extras_require['all'] = everything
240
240
241 if 'setuptools' in sys.modules:
241 if 'setuptools' in sys.modules:
242 setuptools_extra_args['python_requires'] = '>=3.3'
242 setuptools_extra_args['zip_safe'] = False
243 setuptools_extra_args['zip_safe'] = False
243 setuptools_extra_args['entry_points'] = {
244 setuptools_extra_args['entry_points'] = {
244 'console_scripts': find_entry_points(),
245 'console_scripts': find_entry_points(),
@@ -21,7 +21,7 b" archive = '%s:%s' % (archive_user, archive_dir)"
21 sdists = './setup.py sdist --formats=gztar,zip'
21 sdists = './setup.py sdist --formats=gztar,zip'
22 # Binary dists
22 # Binary dists
23 def buildwheels():
23 def buildwheels():
24 sh('python setupegg.py bdist_wheel')
24 sh('python3 setupegg.py bdist_wheel' % py)
25
25
26 # Utility functions
26 # Utility functions
27 def sh(cmd):
27 def sh(cmd):
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now