Hello community,
here is the log from the commit of package python-spyder-kernels for
openSUSE:Factory checked in at 2020-05-14 23:28:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-spyder-kernels (Old)
and /work/SRC/openSUSE:Factory/.python-spyder-kernels.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-spyder-kernels"
Thu May 14 23:28:36 2020 rev:15 rq:805664 version:1.9.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-spyder-kernels/python-spyder-kernels.changes
2020-04-22 20:51:53.451262849 +0200
+++
/work/SRC/openSUSE:Factory/.python-spyder-kernels.new.2738/python-spyder-kernels.changes
2020-05-14 23:28:37.997483645 +0200
@@ -1,0 +2,15 @@
+Thu May 7 18:28:54 UTC 2020 - Sebastian Wagner <[email protected]>
+
+- update to version 1.9.1:
+ - Issues Closed:
+ - [Issue 217](https://github.com/spyder-ide/spyder-kernels/issues/217) -
Maximum recursion depth exceeded ([PR
218](https://github.com/spyder-ide/spyder-kernels/pull/218) by
[@ccordoba12](https://github.com/ccordoba12))
+ - In this release 1 issue was closed.
+ - Pull Requests Merged:
+ - [PR 219](https://github.com/spyder-ide/spyder-kernels/pull/219) - PR:
Check that startup file exists, by [@impact27](https://github.com/impact27)
([12442](https://github.com/spyder-ide/spyder/issues/12442))
+ - [PR 218](https://github.com/spyder-ide/spyder-kernels/pull/218) - PR:
Avoid an error when computing the shape of Pandas objects, by
[@ccordoba12](https://github.com/ccordoba12)
([217](https://github.com/spyder-ide/spyder-kernels/issues/217))
+ - [PR 215](https://github.com/spyder-ide/spyder-kernels/pull/215) - PR: Fix
post mortem functionality, by [@impact27](https://github.com/impact27)
+ - [PR 212](https://github.com/spyder-ide/spyder-kernels/pull/212) - PR: Set
namespace correctly when running in new namespace, by
[@impact27](https://github.com/impact27)
+ - [PR 211](https://github.com/spyder-ide/spyder-kernels/pull/211) - PR: Use
Exception instead of ImportError in is_special_kernel_valid, by
[@ccordoba12](https://github.com/ccordoba12)
+ - In this release 5 pull requests were closed.
+
+-------------------------------------------------------------------
Old:
----
python-spyder-kernels-1.9.0.tar.gz
New:
----
python-spyder-kernels-1.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-spyder-kernels.spec ++++++
--- /var/tmp/diff_new_pack.4o19er/_old 2020-05-14 23:28:38.489484720 +0200
+++ /var/tmp/diff_new_pack.4o19er/_new 2020-05-14 23:28:38.493484728 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-spyder-kernels
-Version: 1.9.0
+Version: 1.9.1
Release: 0
Summary: Jupyter kernels for Spyder's console
License: MIT
++++++ python-spyder-kernels-1.9.0.tar.gz -> python-spyder-kernels-1.9.1.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spyder-kernels-1.9.0/CHANGELOG.md
new/spyder-kernels-1.9.1/CHANGELOG.md
--- old/spyder-kernels-1.9.0/CHANGELOG.md 2020-03-14 19:23:31.000000000
+0100
+++ new/spyder-kernels-1.9.1/CHANGELOG.md 2020-05-06 17:59:06.000000000
+0200
@@ -1,6 +1,26 @@
# History of changes
-## Version v1.9.0 (2020-03-14)
+## Version 1.9.1 (2020-05-06)
+
+### Issues Closed
+
+* [Issue 217](https://github.com/spyder-ide/spyder-kernels/issues/217) -
Maximum recursion depth exceeded ([PR
218](https://github.com/spyder-ide/spyder-kernels/pull/218) by
[@ccordoba12](https://github.com/ccordoba12))
+
+In this release 1 issue was closed.
+
+### Pull Requests Merged
+
+* [PR 219](https://github.com/spyder-ide/spyder-kernels/pull/219) - PR: Check
that startup file exists, by [@impact27](https://github.com/impact27)
([12442](https://github.com/spyder-ide/spyder/issues/12442))
+* [PR 218](https://github.com/spyder-ide/spyder-kernels/pull/218) - PR: Avoid
an error when computing the shape of Pandas objects, by
[@ccordoba12](https://github.com/ccordoba12)
([217](https://github.com/spyder-ide/spyder-kernels/issues/217))
+* [PR 215](https://github.com/spyder-ide/spyder-kernels/pull/215) - PR: Fix
post mortem functionality, by [@impact27](https://github.com/impact27)
+* [PR 212](https://github.com/spyder-ide/spyder-kernels/pull/212) - PR: Set
namespace correctly when running in new namespace, by
[@impact27](https://github.com/impact27)
+* [PR 211](https://github.com/spyder-ide/spyder-kernels/pull/211) - PR: Use
Exception instead of ImportError in is_special_kernel_valid, by
[@ccordoba12](https://github.com/ccordoba12)
+
+In this release 5 pull requests were closed.
+
+----
+
+## Version 1.9.0 (2020-03-14)
### New features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spyder-kernels-1.9.0/RELEASE.md
new/spyder-kernels-1.9.1/RELEASE.md
--- old/spyder-kernels-1.9.0/RELEASE.md 2020-03-14 19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/RELEASE.md 2020-05-06 17:59:06.000000000 +0200
@@ -1,8 +1,8 @@
To release a new version of spyder-kernels on PyPI:
-* Create an issue announcing the incoming release
+* Close the respective project on Github
-* Close the respective milestone in GitHub
+* Close the respective milestone on Zenhub
* git checkout master
@@ -30,10 +30,10 @@
* git checkout master
-* git merge 0.x
+* git merge 1.x
* git push upstream master
-* git push upstream 0.x
+* git push upstream 1.x
* git push upstream --tags
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spyder-kernels-1.9.0/spyder_kernels/_version.py
new/spyder-kernels-1.9.1/spyder_kernels/_version.py
--- old/spyder-kernels-1.9.0/spyder_kernels/_version.py 2020-03-14
19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/spyder_kernels/_version.py 2020-05-06
17:59:06.000000000 +0200
@@ -8,5 +8,5 @@
"""Version File."""
-VERSION_INFO = (1, 9, 0)
+VERSION_INFO = (1, 9, 1)
__version__ = '.'.join(map(str, VERSION_INFO))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/spyder-kernels-1.9.0/spyder_kernels/console/kernel.py
new/spyder-kernels-1.9.1/spyder_kernels/console/kernel.py
--- old/spyder-kernels-1.9.0/spyder_kernels/console/kernel.py 2020-03-14
19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/spyder_kernels/console/kernel.py 2020-05-06
17:59:06.000000000 +0200
@@ -398,7 +398,9 @@
import sympy
elif os.environ.get('SPY_RUN_CYTHON') == 'True':
import cython
- except ImportError:
+ except Exception:
+ # Use Exception instead of ImportError here because modules can
+ # fail to be imported due to a lot of issues.
if os.environ.get('SPY_AUTOLOAD_PYLAB_O') == 'True':
return u'matplotlib'
elif os.environ.get('SPY_SYMPY_O') == 'True':
@@ -417,16 +419,16 @@
both locals() and globals() for current frame when debugging
"""
ns = {}
- glbs = self._mglobals()
-
- if self._pdb_frame is None:
- ns.update(glbs)
+ if self._running_namespace is None:
+ ns.update(self._mglobals())
else:
- ns.update(glbs)
- ns.update(self._pdb_locals)
+ running_globals, running_locals = self._running_namespace
+ ns.update(running_globals)
+ if running_locals is not None:
+ ns.update(running_locals)
- if self._running_namespace is not None:
- ns.update(self._running_namespace)
+ if self._pdb_frame is not None:
+ ns.update(self._pdb_locals)
# Add magics to ns so we can show help about them on the Help
# plugin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spyder-kernels-1.9.0/spyder_kernels/console/start.py
new/spyder-kernels-1.9.1/spyder_kernels/console/start.py
--- old/spyder-kernels-1.9.0/spyder_kernels/console/start.py 2020-03-14
19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/spyder_kernels/console/start.py 2020-05-06
17:59:06.000000000 +0200
@@ -224,7 +224,8 @@
use_file_o = os.environ.get('SPY_USE_FILE_O')
run_file_o = os.environ.get('SPY_RUN_FILE_O')
if use_file_o == 'True' and run_file_o is not None:
- spy_cfg.IPKernelApp.file_to_run = run_file_o
+ if osp.exists(run_file_o):
+ spy_cfg.IPKernelApp.file_to_run = run_file_o
# Autocall
autocall_o = os.environ.get('SPY_AUTOCALL_O')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/spyder-kernels-1.9.0/spyder_kernels/customize/namespace_manager.py
new/spyder-kernels-1.9.1/spyder_kernels/customize/namespace_manager.py
--- old/spyder-kernels-1.9.0/spyder_kernels/customize/namespace_manager.py
2020-03-14 19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/spyder_kernels/customize/namespace_manager.py
2020-05-06 17:59:06.000000000 +0200
@@ -80,7 +80,8 @@
self._reset_main = True
# Save current namespace for access by variable explorer
- get_ipython().kernel._running_namespace = self.ns_globals
+ get_ipython().kernel._running_namespace = (
+ self.ns_globals, self.ns_locals)
if (self._file_code is not None
and not PY2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/spyder-kernels-1.9.0/spyder_kernels/customize/spydercustomize.py
new/spyder-kernels-1.9.1/spyder_kernels/customize/spydercustomize.py
--- old/spyder-kernels-1.9.0/spyder_kernels/customize/spydercustomize.py
2020-03-14 19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/spyder_kernels/customize/spydercustomize.py
2020-05-06 17:59:06.000000000 +0200
@@ -314,20 +314,11 @@
# =============================================================================
# Handle Post Mortem Debugging and Traceback Linkage to Spyder
# =============================================================================
-def clear_post_mortem():
- """
- Remove the post mortem excepthook and replace with a standard one.
- """
- ipython_shell = get_ipython()
- ipython_shell.set_custom_exc((), None)
-
-
def post_mortem_excepthook(type, value, tb):
"""
For post mortem exception handling, print a banner and enable post
mortem debugging.
"""
- clear_post_mortem()
ipython_shell = get_ipython()
ipython_shell.showtraceback((type, value, tb))
p = pdb.Pdb(ipython_shell.colors)
@@ -342,34 +333,11 @@
p.send_initial_notification = False
p.reset()
frame = tb.tb_frame
- prev = frame
- while frame.f_back:
- prev = frame
- frame = frame.f_back
- frame = prev
# wait for stdout to print
time.sleep(0.1)
p.interaction(frame, tb)
-def set_post_mortem():
- """
- Enable the post mortem debugging excepthook.
- """
- def ipython_post_mortem_debug(shell, etype, evalue, tb,
- tb_offset=None):
- post_mortem_excepthook(etype, evalue, tb)
-
- ipython_shell = get_ipython()
- ipython_shell.set_custom_exc((Exception,), ipython_post_mortem_debug)
-
-
-# Add post mortem debugging if requested and in a dedicated interpreter
-# existing interpreters use "runfile" below
-if "SPYDER_EXCEPTHOOK" in os.environ:
- set_post_mortem()
-
-
#
==============================================================================
# runfile and debugfile commands
#
==============================================================================
@@ -421,7 +389,7 @@
return '\n' * number_empty_lines + code
-def exec_code(code, filename, ns_globals, ns_locals=None):
+def exec_code(code, filename, ns_globals, ns_locals=None, post_mortem=False):
"""Execute code and display any exception."""
global SHOW_INVALID_SYNTAX_MSG
@@ -470,6 +438,9 @@
and ipython_shell.kernel._pdb_obj):
# Ignore BdbQuit if we are debugging, as it is expected.
ipython_shell.kernel._pdb_obj = None
+ elif post_mortem and isinstance(error, Exception):
+ error_type, error, tb = sys.exc_info()
+ post_mortem_excepthook(error_type, error, tb.tb_next)
else:
# We ignore the call to exec
ipython_shell.showtraceback(tb_offset=1)
@@ -551,17 +522,15 @@
os.chdir(wdir)
else:
_print("Working directory {} doesn't exist.\n".format(wdir))
- if post_mortem:
- set_post_mortem()
if __umr__.has_cython:
# Cython files
with io.open(filename, encoding='utf-8') as f:
ipython_shell.run_cell_magic('cython', '', f.read())
else:
- exec_code(file_code, filename, ns_globals, ns_locals)
+ exec_code(file_code, filename, ns_globals, ns_locals,
+ post_mortem=post_mortem)
- clear_post_mortem()
sys.argv = ['']
@@ -589,7 +558,7 @@
builtins.debugfile = debugfile
-def runcell(cellname, filename=None):
+def runcell(cellname, filename=None, post_mortem=False):
"""
Run a code cell from an editor as a file.
@@ -643,13 +612,14 @@
file_code = None
with NamespaceManager(filename, current_namespace=True,
file_code=file_code) as (ns_globals, ns_locals):
- exec_code(cell_code, filename, ns_globals, ns_locals)
+ exec_code(cell_code, filename, ns_globals, ns_locals,
+ post_mortem=post_mortem)
builtins.runcell = runcell
-def debugcell(cellname, filename=None):
+def debugcell(cellname, filename=None, post_mortem=False):
"""Debug a cell."""
if filename is None:
filename = get_current_file_name()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/spyder-kernels-1.9.0/spyder_kernels/customize/spyderpdb.py
new/spyder-kernels-1.9.1/spyder_kernels/customize/spyderpdb.py
--- old/spyder-kernels-1.9.0/spyder_kernels/customize/spyderpdb.py
2020-03-14 19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/spyder_kernels/customize/spyderpdb.py
2020-05-06 17:59:06.000000000 +0200
@@ -134,7 +134,8 @@
if frame and frame.f_back:
return self.interaction(frame.f_back, traceback)
if (frame is not None
- and "spydercustomize.py" in frame.f_code.co_filename):
+ and "spydercustomize.py" in frame.f_code.co_filename
+ and "exec_code" == frame.f_code.co_name):
self.onecmd('exit')
else:
self.setup(frame, traceback)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spyder-kernels-1.9.0/spyder_kernels/utils/nsview.py
new/spyder-kernels-1.9.1/spyder_kernels/utils/nsview.py
--- old/spyder-kernels-1.9.0/spyder_kernels/utils/nsview.py 2020-03-14
19:23:31.000000000 +0100
+++ new/spyder-kernels-1.9.1/spyder_kernels/utils/nsview.py 2020-05-06
17:59:06.000000000 +0200
@@ -123,7 +123,13 @@
elif isinstance(item, Image):
return item.size
if isinstance(item, (DataFrame, Index, Series)):
- return item.shape
+ try:
+ return item.shape
+ except RecursionError:
+ # This is necessary to avoid an error when trying to
+ # get the shape of these objects.
+ # Fixes spyder-ide/spyder-kernels#217
+ return (-1, -1)
else:
return 1