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 |
|
|
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 |
|
|
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 |
|
|
|
574 |
|
|
|
575 |
|
|
|
576 |
|
|
|
577 |
|
|
|
578 |
|
|
|
579 |
|
|
|
580 |
|
|
|
581 |
|
|
|
582 |
|
|
|
583 |
|
|
|
584 |
|
|
|
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 = |
|
|
23 |
_version_minor = |
|
|
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 |
|
|
26 |
IPython |
|
|
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 |
|
|
47 | IPython's own parallel computing framework does this to display errors from the | |
|
48 |
|
|
|
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 |
|
|
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 |
|
|
|
238 |
|
|
|
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 |
|
|
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