##// 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 5 - 3.5
6 6 - 3.4
7 7 - 3.3
8 - 2.7
9 - pypy
10 8 sudo: false
11 9 before_install:
12 10 - git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
13 11 - 'if [[ $GROUP != js* ]]; then COVERAGE=""; fi'
14 12 install:
15 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 14 - pip install -f travis-wheels/wheelhouse -e file://$PWD#egg=ipython[test]
33 15 - pip install codecov
34 16 script:
@@ -41,4 +23,3 b' after_success:'
41 23 matrix:
42 24 allow_failures:
43 25 - python: nightly
44 - python: pypy
@@ -30,8 +30,8 b' import warnings'
30 30
31 31 # Don't forget to also update setup.py when this changes!
32 32 v = sys.version_info
33 if v[:2] < (2,7) or (v[0] >= 3 and v[:2] < (3,3)):
34 raise ImportError('IPython requires Python version 2.7 or 3.3 or above.')
33 if v[:2] < (3,3):
34 raise ImportError('IPython requires Python version 3.3 or above.')
35 35 del v
36 36
37 37 # Make it easy to import extensions - they are always directly on pythonpath.
@@ -3,6 +3,7 b''
3 3 from __future__ import print_function
4 4 from __future__ import absolute_import
5 5
6 import argparse
6 7 import io
7 8 import sys
8 9 from pprint import pformat
@@ -548,11 +549,7 b' Currently the magic system has the following functions:""",'
548 549 @magic_arguments.magic_arguments()
549 550 @magic_arguments.argument(
550 551 '-e', '--export', action='store_true', default=False,
551 help='Export IPython history as a notebook. The filename argument '
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'
552 help=argparse.SUPPRESS
556 553 )
557 554 @magic_arguments.argument(
558 555 'filename', type=unicode_type,
@@ -563,22 +560,24 b' Currently the magic system has the following functions:""",'
563 560 """Export and convert IPython notebooks.
564 561
565 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".
567 To export the history to "foo.py" do "%notebook -e foo.py".
563 For example, to export the history to "foo.ipynb" do "%notebook foo.ipynb".
564
565 The -e or --export flag is deprecated in IPython 5.2, and will be
566 removed in the future.
568 567 """
569 568 args = magic_arguments.parse_argstring(self.notebook, s)
570 569
571 570 from nbformat import write, v4
572 if args.export:
573 cells = []
574 hist = list(self.shell.history_manager.get_range())
575 if(len(hist)<=1):
576 raise ValueError('History is empty, cannot export')
577 for session, execution_count, source in hist[:-1]:
578 cells.append(v4.new_code_cell(
579 execution_count=execution_count,
580 source=source
581 ))
582 nb = v4.new_notebook(cells=cells)
583 with io.open(args.filename, 'w', encoding='utf-8') as f:
584 write(nb, f, version=4)
571
572 cells = []
573 hist = list(self.shell.history_manager.get_range())
574 if(len(hist)<=1):
575 raise ValueError('History is empty, cannot export')
576 for session, execution_count, source in hist[:-1]:
577 cells.append(v4.new_code_cell(
578 execution_count=execution_count,
579 source=source
580 ))
581 nb = v4.new_notebook(cells=cells)
582 with io.open(args.filename, 'w', encoding='utf-8') as f:
583 write(nb, f, version=4)
@@ -19,12 +19,12 b" name = 'ipython'"
19 19 # IPython version information. An empty _version_extra corresponds to a full
20 20 # release. 'dev' as a _version_extra string means this is a development
21 21 # version
22 _version_major = 5
23 _version_minor = 1
22 _version_major = 6
23 _version_minor = 0
24 24 _version_patch = 0
25 25 _version_extra = '.dev'
26 26 # _version_extra = 'rc1'
27 #_version_extra = '' # Uncomment this for full releases
27 # _version_extra = '' # Uncomment this for full releases
28 28
29 29 # release.codename is deprecated in 2.0, will be removed in 3.0
30 30 codename = ''
@@ -116,8 +116,6 b' classifiers = ['
116 116 'Intended Audience :: Science/Research',
117 117 'License :: OSI Approved :: BSD License',
118 118 'Programming Language :: Python',
119 'Programming Language :: Python :: 2',
120 'Programming Language :: Python :: 2.7',
121 119 'Programming Language :: Python :: 3',
122 120 'Topic :: System :: Shells'
123 121 ]
@@ -22,8 +22,8 b' Welcome to IPython. Our full documentation is available on `ipython.readthedocs'
22 22 <https://ipython.readthedocs.io/en/stable/>`_ and contain information on how to install, use
23 23 contribute to the project.
24 24
25 Officially, IPython requires Python version 2.7, or 3.3 and above.
26 IPython 1.x is the last IPython version to support Python 2.6 and 3.2.
25 Officially, IPython requires Python version 3.3 and above.
26 IPython 5.x is the last IPython version to support Python 2.7.
27 27
28 28 The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*.
29 29 See the `Jupyter installation docs <http://jupyter.readthedocs.io/en/latest/install.html>`__
@@ -43,10 +43,12 b' For example::'
43 43 Custom exception tracebacks
44 44 ===========================
45 45
46 Rarely, you might want to display a different traceback with an exception -
47 IPython's own parallel computing framework does this to display errors from the
48 engines. To do this, define a ``_render_traceback_(self)`` method which returns
49 a list of strings, each containing one line of the traceback.
46 Rarely, you might want to display a custom traceback when reporting an
47 exception. To do this, define the custom traceback using
48 `_render_traceback_(self)` method which returns a list of strings, one string
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 53 Please be conservative in using this feature; by replacing the default traceback
52 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 176 ./tools/release
177 177
178 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
180 them to PyPI.
179 folder. Be sure to test the ``wheels`` and the ``sdist`` locally before
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 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 41 basic idea is that each application has its own default configuration filename.
42 42 The default named used by the :command:`ipython` command line program is
43 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
45 QtConsole will load their own config files *after* :file:`ipython_config.py`. To
46 load a particular configuration file instead of the default, the name can be
47 overridden by the ``config_file`` command line flag.
44 The IPython kernel will load its own config file *after*
45 :file:`ipython_config.py`. To load a particular configuration file instead of
46 the default, the name can be overridden by the ``config_file`` command line
47 flag.
48 48
49 49 To generate the default configuration files, do::
50 50
51 51 $ ipython profile create
52 52
53 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
55 :mod:`IPython.parallel` applications, add ``--parallel`` to the end of the
56 command-line args.
57
54 under :file:`profile_default`.
58 55 .. note::
59 56
60 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 10 Quick Install
@@ -232,50 +232,9 b' and clients.'
232 232 Interactive parallel computing
233 233 ==============================
234 234
235 .. note::
236 235
237 This functionality is optional and now part of the `ipyparallel
238 <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.
236 This functionality is optional and now part of the `ipyparallel
237 <http://ipyparallel.readthedocs.io/>`_ project.
279 238
280 239 Portability and Python requirements
281 240 -----------------------------------
@@ -3,6 +3,36 b''
3 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 37 Issues closed in 5.0
8 38 --------------------
@@ -27,8 +27,8 b' import sys'
27 27 # This check is also made in IPython/__init__, don't forget to update both when
28 28 # changing Python version requirements.
29 29 v = sys.version_info
30 if v[:2] < (2,7) or (v[0] >= 3 and v[:2] < (3,3)):
31 error = "ERROR: IPython requires Python version 2.7 or 3.3 or above."
30 if v[:2] < (3,3):
31 error = "ERROR: IPython requires Python version 3.3 or above."
32 32 print(error, file=sys.stderr)
33 33 sys.exit(1)
34 34
@@ -239,6 +239,7 b' for key, deps in extras_require.items():'
239 239 extras_require['all'] = everything
240 240
241 241 if 'setuptools' in sys.modules:
242 setuptools_extra_args['python_requires'] = '>=3.3'
242 243 setuptools_extra_args['zip_safe'] = False
243 244 setuptools_extra_args['entry_points'] = {
244 245 'console_scripts': find_entry_points(),
@@ -21,7 +21,7 b" archive = '%s:%s' % (archive_user, archive_dir)"
21 21 sdists = './setup.py sdist --formats=gztar,zip'
22 22 # Binary dists
23 23 def buildwheels():
24 sh('python setupegg.py bdist_wheel')
24 sh('python3 setupegg.py bdist_wheel' % py)
25 25
26 26 # Utility functions
27 27 def sh(cmd):
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now