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
 


Reply via email to