Hello community,
here is the log from the commit of package python3-jupyter_ipython for
openSUSE:Factory checked in at 2015-12-03 13:32:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-jupyter_ipython (Old)
and /work/SRC/openSUSE:Factory/.python3-jupyter_ipython.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-jupyter_ipython"
Changes:
--------
---
/work/SRC/openSUSE:Factory/python3-jupyter_ipython/python3-jupyter_ipython-doc.changes
2015-11-18 22:34:14.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.python3-jupyter_ipython.new/python3-jupyter_ipython-doc.changes
2015-12-03 13:32:09.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Nov 27 06:13:48 UTC 2015 - [email protected]
+
+- update to version 4.0.1:
+ * Installation on some systems
+ * Compatibility with CPython 3.4.4
+ * Compatibility with Qt5
+
+-------------------------------------------------------------------
python3-jupyter_ipython.changes: same change
Old:
----
ipython-4.0.0.tar.gz
New:
----
ipython-4.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-jupyter_ipython-doc.spec ++++++
--- /var/tmp/diff_new_pack.MP4Ibc/_old 2015-12-03 13:32:10.000000000 +0100
+++ /var/tmp/diff_new_pack.MP4Ibc/_new 2015-12-03 13:32:10.000000000 +0100
@@ -17,7 +17,7 @@
Name: python3-jupyter_ipython-doc
-Version: 4.0.0
+Version: 4.0.1
Release: 0
Summary: Documentation for python-jupyter_ipython
License: BSD-3-Clause
@@ -25,8 +25,8 @@
Url: http://ipython.org
Source:
https://pypi.python.org/packages/source/i/ipython/ipython-%{version}.tar.gz
BuildRequires: fdupes
-BuildRequires: python3-jupyter_ipython
BuildRequires: python3-jupyter_ipykernel
+BuildRequires: python3-jupyter_ipython
# Test Requirements
BuildRequires: python3-jupyter_ipython-iptest
BuildConflicts: python3-buildservice-tweak
@@ -49,6 +49,7 @@
%package html
Summary: HTML documentation for python3-jupyter_ipython
+Group: Development/Languages/Python
Recommends: python3-jupyter_ipython = %{version}
%description html
@@ -56,6 +57,7 @@
%package pdf
Summary: HTML documentation for python3-jupyter_ipython
+Group: Development/Languages/Python
Recommends: python3-jupyter_ipython = %{version}
%description pdf
++++++ python3-jupyter_ipython.spec ++++++
--- /var/tmp/diff_new_pack.MP4Ibc/_old 2015-12-03 13:32:10.000000000 +0100
+++ /var/tmp/diff_new_pack.MP4Ibc/_new 2015-12-03 13:32:10.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-jupyter_ipython
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -13,24 +13,25 @@
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
Name: python3-jupyter_ipython
-Version: 4.0.0
+Version: 4.0.1
Release: 0
-License: BSD-3-Clause
Summary: Rich architecture for interactive computing with Python
-Url: http://ipython.org
+License: BSD-3-Clause
Group: Development/Languages/Python
+Url: http://ipython.org
Source:
https://pypi.python.org/packages/source/i/ipython/ipython-%{version}.tar.gz
BuildRequires: fdupes
-BuildRequires: python3-devel
-BuildRequires: python3-setuptools
BuildRequires: python3-decorator
+BuildRequires: python3-devel
BuildRequires: python3-pexpect
BuildRequires: python3-pickleshare
-BuildRequires: python3-traitlets
+BuildRequires: python3-setuptools
BuildRequires: python3-simplegeneric > 0.8
+BuildRequires: python3-traitlets
# Test Requirements
BuildRequires: python3-matplotlib
BuildRequires: python3-nose
@@ -39,8 +40,8 @@
Requires: python3-decorator
Requires: python3-pexpect
Requires: python3-pickleshare
-Requires: python3-traitlets
Requires: python3-simplegeneric > 0.8
+Requires: python3-traitlets
Recommends: python3-jupyter_ipykernel
Recommends: python3-jupyter_ipyparallel
Recommends: python3-jupyter_nbconvert
@@ -86,6 +87,7 @@
%package iptest
Summary: Tools for testing packages that rely in %{name}
+Group: Development/Languages/Python
Requires: %{name} = %{version}
Requires: python3-matplotlib
Requires: python3-nose
++++++ ipython-4.0.0.tar.gz -> ipython-4.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/IPython/core/inputsplitter.py
new/ipython-4.0.1/IPython/core/inputsplitter.py
--- old/ipython-4.0.0/IPython/core/inputsplitter.py 2015-08-12
03:04:53.000000000 +0200
+++ new/ipython-4.0.1/IPython/core/inputsplitter.py 2015-11-24
12:58:51.000000000 +0100
@@ -484,8 +484,8 @@
leading_indent(),
classic_prompt(),
ipy_prompt(),
- strip_encoding_cookie(),
cellmagic(end_on_blank_line=line_input_checker),
+ strip_encoding_cookie(),
]
self.assemble_logical_lines = assemble_logical_lines()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/IPython/core/release.py
new/ipython-4.0.1/IPython/core/release.py
--- old/ipython-4.0.0/IPython/core/release.py 2015-08-12 03:04:53.000000000
+0200
+++ new/ipython-4.0.1/IPython/core/release.py 2015-11-25 15:04:38.000000000
+0100
@@ -21,7 +21,7 @@
# version
_version_major = 4
_version_minor = 0
-_version_patch = 0
+_version_patch = 1
# _version_extra = 'dev'
# _version_extra = 'rc1'
_version_extra = '' # Uncomment this for full releases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ipython-4.0.0/IPython/core/tests/test_inputsplitter.py
new/ipython-4.0.1/IPython/core/tests/test_inputsplitter.py
--- old/ipython-4.0.0/IPython/core/tests/test_inputsplitter.py 2015-08-12
03:04:53.000000000 +0200
+++ new/ipython-4.0.1/IPython/core/tests/test_inputsplitter.py 2015-11-24
12:58:51.000000000 +0100
@@ -496,7 +496,7 @@
if __name__ == '__main__':
# A simple demo for interactive experimentation. This code will not get
# picked up by any test suite.
- from IPython.core.inputsplitter import InputSplitter, IPythonInputSplitter
+ from IPython.core.inputsplitter import IPythonInputSplitter
# configure here the syntax to use, prompt and whether to autoindent
#isp, start_prompt = InputSplitter(), '>>> '
@@ -592,6 +592,16 @@
sp.push('\n')
# This should accept a blank line and carry on until the cell is reset
nt.assert_true(sp.push_accepts_more()) #3
+
+ def test_no_strip_coding(self):
+ src = '\n'.join([
+ '%%writefile foo.py',
+ '# coding: utf-8',
+ 'print(u"üñîçø∂é")',
+ ])
+ out = self.sp.transform_cell(src)
+ nt.assert_in('# coding: utf-8', out)
+
class LineModeCellMagics(CellMagicsCommon, unittest.TestCase):
sp = isp.IPythonInputSplitter(line_input_checker=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/IPython/external/qt_for_kernel.py
new/ipython-4.0.1/IPython/external/qt_for_kernel.py
--- old/ipython-4.0.0/IPython/external/qt_for_kernel.py 2015-08-12
03:04:53.000000000 +0200
+++ new/ipython-4.0.1/IPython/external/qt_for_kernel.py 2015-11-24
12:58:51.000000000 +0100
@@ -4,13 +4,13 @@
Import Priority:
-if Qt4 has been imported anywhere else:
+if Qt has been imported anywhere else:
use that
if matplotlib has been imported and doesn't support v2 (<= 1.0.1):
use PyQt4 @v1
-Next, ask ETS' QT_API env variable
+Next, ask QT_API env variable
if QT_API not set:
ask matplotlib via rcParams['backend.qt4']
@@ -26,20 +26,29 @@
except:
fallback on PySide
else:
- use PyQt @v2 or PySide, depending on QT_API
- because ETS doesn't work with PyQt @v1.
+ use what QT_API says
"""
+# NOTE: This is no longer an external, third-party module, and should be
+# considered part of IPython. For compatibility however, it is being kept in
+# IPython/external.
import os
import sys
from IPython.utils.version import check_version
-from IPython.external.qt_loaders import (load_qt, QT_API_PYSIDE,
- QT_API_PYQT, QT_API_PYQT_DEFAULT,
- loaded_api)
+from IPython.external.qt_loaders import (load_qt, loaded_api, QT_API_PYSIDE,
+ QT_API_PYQT, QT_API_PYQT5,
+ QT_API_PYQTv1, QT_API_PYQT_DEFAULT)
+
+_qt_apis = (QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5, QT_API_PYQTv1,
+ QT_API_PYQT_DEFAULT)
#Constraints placed on an imported matplotlib
+# TODO: Make sure this logic is still in sync with matplotlib's requirements.
+# In particular, matplotlib can also now support a qt5 backend, and so this
will
+# break if matplotlib is imported and running happily with qt5, because
+# it only queries for the preferred qt4 option.
def matplotlib_options(mpl):
if mpl is None:
return
@@ -68,16 +77,15 @@
#1.0.1 only supports PyQt4 v1
return [QT_API_PYQT_DEFAULT]
- if os.environ.get('QT_API', None) is None:
+ qt_api = os.environ.get('QT_API', None)
+ if qt_api is None:
#no ETS variable. Ask mpl, then use either
return matplotlib_options(mpl) or [QT_API_PYQT_DEFAULT, QT_API_PYSIDE]
-
- #ETS variable present. Will fallback to external.qt
- return None
+ elif qt_api not in _qt_apis:
+ raise RuntimeError("Invalid Qt API %r, valid values are: %r" %
+ (qt_api, ', '.join(_qt_apis)))
+ else:
+ return [qt_api]
api_opts = get_options()
-if api_opts is not None:
- QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts)
-
-else: # use ETS variable
- from IPython.external.qt import QtCore, QtGui, QtSvg, QT_API
+QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/IPython/utils/_sysinfo.py
new/ipython-4.0.1/IPython/utils/_sysinfo.py
--- old/ipython-4.0.0/IPython/utils/_sysinfo.py 2015-08-12 03:09:00.000000000
+0200
+++ new/ipython-4.0.1/IPython/utils/_sysinfo.py 2015-11-25 15:10:01.000000000
+0100
@@ -1,2 +1,2 @@
# GENERATED BY setup.py
-commit = u"f534027"
+commit = u"03b6385"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/IPython/utils/tests/test_tokenutil.py
new/ipython-4.0.1/IPython/utils/tests/test_tokenutil.py
--- old/ipython-4.0.0/IPython/utils/tests/test_tokenutil.py 2015-08-12
03:04:53.000000000 +0200
+++ new/ipython-4.0.1/IPython/utils/tests/test_tokenutil.py 2015-11-24
12:58:51.000000000 +0100
@@ -13,7 +13,7 @@
if offset + len(line) >= cursor_pos:
break
else:
- offset += len(line)
+ offset += len(line)+1
column = cursor_pos - offset
line_with_cursor = '%s|%s' % (line[:column], line[column:])
nt.assert_equal(token, expected,
@@ -88,3 +88,15 @@
(line, offset) = line_at_cursor(cell, cursor_pos=11)
assert line == "", ("Expected '', got %r" % line)
assert offset == 0, ("Expected '', got %r" % line)
+
+def test_muliline_statement():
+ cell = """a = (1,
+ 3)
+
+int()
+map()
+"""
+ for c in range(16, 22):
+ yield lambda: expect_token("int", cell, c)
+ for c in range(22, 28):
+ yield lambda: expect_token("map", cell, c)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/IPython/utils/text.py
new/ipython-4.0.1/IPython/utils/text.py
--- old/ipython-4.0.0/IPython/utils/text.py 2015-08-12 03:04:53.000000000
+0200
+++ new/ipython-4.0.1/IPython/utils/text.py 2015-11-24 12:58:51.000000000
+0100
@@ -540,9 +540,7 @@
"""
# copied from Formatter._vformat with minor changes to allow eval
# and replace the format_spec code with slicing
- def _vformat(self, format_string, args, kwargs, used_args,
recursion_depth):
- if recursion_depth < 0:
- raise ValueError('Max string recursion exceeded')
+ def vformat(self, format_string, args, kwargs):
result = []
for literal_text, field_name, format_spec, conversion in \
self.parse(format_string):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/IPython/utils/tokenutil.py
new/ipython-4.0.1/IPython/utils/tokenutil.py
--- old/ipython-4.0.0/IPython/utils/tokenutil.py 2015-08-12
03:04:53.000000000 +0200
+++ new/ipython-4.0.1/IPython/utils/tokenutil.py 2015-11-24
12:58:51.000000000 +0100
@@ -108,7 +108,7 @@
break
tokens.append(tok)
- if tok.token == tokenize2.NEWLINE:
+ if tok.token in (tokenize2.NEWLINE, tokenize2.NL):
offset += len(tok.line)
if call_names:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/PKG-INFO new/ipython-4.0.1/PKG-INFO
--- old/ipython-4.0.0/PKG-INFO 2015-08-12 03:09:00.000000000 +0200
+++ new/ipython-4.0.1/PKG-INFO 2015-11-25 15:10:01.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: ipython
-Version: 4.0.0
+Version: 4.0.1
Summary: IPython: Productive Interactive Computing
Home-page: http://ipython.org
Author: The IPython Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/docs/source/whatsnew/version4.rst
new/ipython-4.0.1/docs/source/whatsnew/version4.rst
--- old/ipython-4.0.0/docs/source/whatsnew/version4.rst 2015-08-12
03:04:53.000000000 +0200
+++ new/ipython-4.0.1/docs/source/whatsnew/version4.rst 2015-11-25
15:07:11.000000000 +0100
@@ -2,6 +2,17 @@
4.x Series
============
+IPython 4.0.1
+=============
+
+Released November, 2015
+
+Fixes for:
+
+- Installation on some systems
+- Compatibility with CPython 3.4.4
+- Compatibility with Qt5
+
IPython 4.0
===========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipython-4.0.0/setup.py new/ipython-4.0.1/setup.py
--- old/ipython-4.0.0/setup.py 2015-08-12 03:04:53.000000000 +0200
+++ new/ipython-4.0.1/setup.py 2015-11-24 12:58:51.000000000 +0100
@@ -200,9 +200,11 @@
# Platform-specific dependencies:
# This is the correct way to specify these,
# but requires pip >= 6. pip < 6 ignores these.
+
extras_require.update({
':sys_platform != "win32"': ['pexpect'],
- ':sys_platform == "darwin"': ['appnope', 'gnureadline'],
+ ':sys_platform == "darwin"': ['appnope'],
+ ':sys_platform == "darwin" and platform_python_implementation ==
"CPython"': ['gnureadline'],
'terminal:sys_platform == "win32"': ['pyreadline>=2'],
'test:python_version == "2.7"': ['mock'],
})
@@ -213,16 +215,35 @@
extras_require['test'].append('mock')
if sys.platform == 'darwin':
- install_requires.extend(['appnope', 'gnureadline'])
+ install_requires.extend(['appnope'])
+ have_readline = False
+ try:
+ import readline
+ except ImportError:
+ pass
+ else:
+ if 'libedit' not in readline.__doc__:
+ have_readline = True
+ if not have_readline:
+ install_requires.extend(['gnureadline'])
if sys.platform.startswith('win'):
extras_require['terminal'].append('pyreadline>=2.0')
else:
install_requires.append('pexpect')
+
+ # workaround pypa/setuptools#147, where setuptools misspells
+ # platform_python_implementation as python_implementation
+ if 'setuptools' in sys.modules:
+ for key in list(extras_require):
+ if 'platform_python_implementation' in key:
+ new_key = key.replace('platform_python_implementation',
'python_implementation')
+ extras_require[new_key] = extras_require.pop(key)
everything = set()
-for deps in extras_require.values():
- everything.update(deps)
+for key, deps in extras_require.items():
+ if ':' not in key:
+ everything.update(deps)
extras_require['all'] = everything
if 'setuptools' in sys.modules: