Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-spyder-kernels for 
openSUSE:Factory checked in at 2022-09-04 22:11:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-spyder-kernels (Old)
 and      /work/SRC/openSUSE:Factory/.python-spyder-kernels.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-spyder-kernels"

Sun Sep  4 22:11:56 2022 rev:36 rq:1001138 version:2.3.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-spyder-kernels/python-spyder-kernels.changes  
    2022-07-26 19:45:04.549765431 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-spyder-kernels.new.2083/python-spyder-kernels.changes
    2022-09-04 22:12:04.392334803 +0200
@@ -1,0 +2,9 @@
+Sun Sep  4 08:50:21 UTC 2022 - andy great <andythe_gr...@pm.me>
+
+- Update to version 2.3.3.
+  * Use get_size to get variable length for get_var_properties to
+    prevent triggering Dask tasks, by @dalthviz
+  * Use debugging namespace when curframe is active, by @impact27
+    (405)
+
+-------------------------------------------------------------------

Old:
----
  python-spyder-kernels-2.3.2.tar.gz

New:
----
  python-spyder-kernels-2.3.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-spyder-kernels.spec ++++++
--- /var/tmp/diff_new_pack.717FIF/_old  2022-09-04 22:12:04.892336210 +0200
+++ /var/tmp/diff_new_pack.717FIF/_new  2022-09-04 22:12:04.896336222 +0200
@@ -21,7 +21,7 @@
 # flaky for obs, only test locally
 %bcond_with dasktest
 Name:           python-spyder-kernels
-Version:        2.3.2
+Version:        2.3.3
 Release:        0
 Summary:        Jupyter kernels for Spyder's console
 License:        MIT

++++++ python-spyder-kernels-2.3.2.tar.gz -> python-spyder-kernels-2.3.3.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/spyder-kernels-2.3.2/.github/workflows/linux-tests.yml 
new/spyder-kernels-2.3.3/.github/workflows/linux-tests.yml
--- old/spyder-kernels-2.3.2/.github/workflows/linux-tests.yml  2022-07-06 
18:22:03.000000000 +0200
+++ new/spyder-kernels-2.3.3/.github/workflows/linux-tests.yml  2022-08-28 
03:53:56.000000000 +0200
@@ -22,7 +22,7 @@
     strategy:
       fail-fast: false 
       matrix:
-        PYTHON_VERSION: ['2.7', '3.7', '3.8', '3.9']
+        PYTHON_VERSION: ['3.7', '3.8', '3.9']
     timeout-minutes: 20
     steps:
       - name: Checkout branch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/spyder-kernels-2.3.2/.github/workflows/macos-tests.yml 
new/spyder-kernels-2.3.3/.github/workflows/macos-tests.yml
--- old/spyder-kernels-2.3.2/.github/workflows/macos-tests.yml  2022-07-06 
18:22:03.000000000 +0200
+++ new/spyder-kernels-2.3.3/.github/workflows/macos-tests.yml  2022-08-28 
03:53:56.000000000 +0200
@@ -21,7 +21,7 @@
     strategy:
       fail-fast: false 
       matrix:
-        PYTHON_VERSION: ['2.7', '3.7', '3.8', '3.9']
+        PYTHON_VERSION: ['3.7', '3.8', '3.9']
     timeout-minutes: 25
     steps:
       - name: Checkout branch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spyder-kernels-2.3.2/CHANGELOG.md 
new/spyder-kernels-2.3.3/CHANGELOG.md
--- old/spyder-kernels-2.3.2/CHANGELOG.md       2022-07-06 18:22:03.000000000 
+0200
+++ new/spyder-kernels-2.3.3/CHANGELOG.md       2022-08-28 03:53:56.000000000 
+0200
@@ -1,5 +1,24 @@
 # History of changes
 
+## Version 2.3.3 (2022-08-28)
+
+### Issues Closed
+
+* [Issue 405](https://github.com/spyder-ide/spyder-kernels/issues/405) - 
Python 2 tests are broken in Conda slots ([PR 
404](https://github.com/spyder-ide/spyder-kernels/pull/404) by 
[@impact27](https://github.com/impact27))
+
+In this release 1 issue was closed.
+
+### Pull Requests Merged
+
+* [PR 407](https://github.com/spyder-ide/spyder-kernels/pull/407) - PR: Use 
`get_size` to get variable length for `get_var_properties` to prevent 
triggering Dask tasks, by [@dalthviz](https://github.com/dalthviz)
+* [PR 404](https://github.com/spyder-ide/spyder-kernels/pull/404) - PR: Use 
debugging namespace when curframe is active, by 
[@impact27](https://github.com/impact27) 
([405](https://github.com/spyder-ide/spyder-kernels/issues/405))
+
+In this release 2 pull requests were closed.
+
+
+----
+
+
 ## Version 2.3.2 (2022-07-06)
 
 ### Issues Closed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spyder-kernels-2.3.2/spyder_kernels/_version.py 
new/spyder-kernels-2.3.3/spyder_kernels/_version.py
--- old/spyder-kernels-2.3.2/spyder_kernels/_version.py 2022-07-06 
18:22:03.000000000 +0200
+++ new/spyder-kernels-2.3.3/spyder_kernels/_version.py 2022-08-28 
03:53:56.000000000 +0200
@@ -8,5 +8,5 @@
 
 """Version File."""
 
-VERSION_INFO = (2, 3, 2)
+VERSION_INFO = (2, 3, 3)
 __version__ = '.'.join(map(str, VERSION_INFO))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/spyder-kernels-2.3.2/spyder_kernels/console/kernel.py 
new/spyder-kernels-2.3.3/spyder_kernels/console/kernel.py
--- old/spyder-kernels-2.3.2/spyder_kernels/console/kernel.py   2022-07-06 
18:22:03.000000000 +0200
+++ new/spyder-kernels-2.3.3/spyder_kernels/console/kernel.py   2022-08-28 
03:53:56.000000000 +0200
@@ -29,7 +29,8 @@
 from spyder_kernels.utils.iofuncs import iofunctions
 from spyder_kernels.utils.mpl import (
     MPL_BACKENDS_FROM_SPYDER, MPL_BACKENDS_TO_SPYDER, INLINE_FIGURE_FORMATS)
-from spyder_kernels.utils.nsview import get_remote_data, make_remote_view
+from spyder_kernels.utils.nsview import (
+    get_remote_data, make_remote_view, get_size)
 from spyder_kernels.console.shell import SpyderShell
 
 if PY3:
@@ -344,7 +345,7 @@
             # Interrupting the eventloop is only implemented when a message is
             # received on the shell channel, but this message is queued and
             # won't be processed because an `execute` message is being
-            # processed. Therefore we process the message here (comm channel)
+            # processed. Therefore we process the message here (control chan.)
             # and request a dummy message to be sent on the shell channel to
             # stop the eventloop. This will call back `_interrupt_eventloop`.
             self.frontend_call().request_interrupt_eventloop()
@@ -535,7 +536,6 @@
         try:
             import matplotlib.pyplot as plt
             plt.close('all')
-            del plt
         except:
             pass
 
@@ -594,7 +594,7 @@
         both locals() and globals() for current frame when debugging
         """
         ns = {}
-        if self.shell.is_debugging() and self.shell.pdb_session.prompt_waiting:
+        if self.shell.is_debugging() and self.shell.pdb_session.curframe:
             # Stopped at a pdb prompt
             ns.update(self.shell.user_ns)
             ns.update(self.shell._pdb_locals)
@@ -632,7 +632,7 @@
     def _get_len(self, var):
         """Return sequence length"""
         try:
-            return len(var)
+            return get_size(var)
         except:
             return None
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spyder-kernels-2.3.2/spyder_kernels/console/start.py 
new/spyder-kernels-2.3.3/spyder_kernels/console/start.py
--- old/spyder-kernels-2.3.2/spyder_kernels/console/start.py    2022-07-06 
18:22:03.000000000 +0200
+++ new/spyder-kernels-2.3.3/spyder_kernels/console/start.py    2022-08-28 
03:53:56.000000000 +0200
@@ -270,11 +270,9 @@
         import guiqwt.pyplot as pyplot
     except:
         import matplotlib.pyplot as pyplot
-    __fig__ = pyplot.figure();
-    __items__ = getattr(pyplot, funcname[2:])(
-        ip.kernel._get_current_namespace()[name])
+    pyplot.figure();
+    getattr(pyplot, funcname[2:])(ip.kernel._get_current_namespace()[name])
     pyplot.show()
-    del __fig__, __items__
 
 
 def main():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/spyder-kernels-2.3.2/spyder_kernels/console/tests/test_console_kernel.py 
new/spyder-kernels-2.3.3/spyder_kernels/console/tests/test_console_kernel.py
--- 
old/spyder-kernels-2.3.2/spyder_kernels/console/tests/test_console_kernel.py    
    2022-07-06 18:22:03.000000000 +0200
+++ 
new/spyder-kernels-2.3.3/spyder_kernels/console/tests/test_console_kernel.py    
    2022-08-28 03:53:56.000000000 +0200
@@ -219,7 +219,7 @@
     assert "'a'" in var_properties
     assert "'is_list': False" in var_properties
     assert "'is_dict': False" in var_properties
-    assert "'len': None" in var_properties
+    assert "'len': 1" in var_properties
     assert "'is_array': False" in var_properties
     assert "'is_image': False" in var_properties
     assert "'is_data_frame': False" in var_properties
@@ -269,7 +269,7 @@
     assert "'a'" in var_properties
     assert "'is_list': False" in var_properties
     assert "'is_dict': False" in var_properties
-    assert "'len': None" in var_properties
+    assert "'len': 1" in var_properties
     assert "'is_array': False" in var_properties
     assert "'is_image': False" in var_properties
     assert "'is_data_frame': False" in var_properties
@@ -294,7 +294,7 @@
     assert "'a'" in var_properties
     assert "'is_list': False" in var_properties
     assert "'is_dict': False" in var_properties
-    assert "'len': None" in var_properties
+    assert "'len': 1" in var_properties
     assert "'is_array': False" in var_properties
     assert "'is_image': False" in var_properties
     assert "'is_data_frame': False" in var_properties
@@ -307,7 +307,7 @@
     assert "'b'" in var_properties
     assert "'is_list': False" in var_properties
     assert "'is_dict': False" in var_properties
-    assert "'len': None" in var_properties
+    assert "'len': 1" in var_properties
     assert "'is_array': False" in var_properties
     assert "'is_image': False" in var_properties
     assert "'is_data_frame': False" in var_properties
@@ -344,7 +344,7 @@
     assert "'a'" in var_properties
     assert "'is_list': False" in var_properties
     assert "'is_dict': False" in var_properties
-    assert "'len': None" in var_properties
+    assert "'len': 1" in var_properties
     assert "'is_array': False" in var_properties
     assert "'is_image': False" in var_properties
     assert "'is_data_frame': False" in var_properties
@@ -831,7 +831,6 @@
     # test pdb
     pdb_obj = SpyderPdb()
     pdb_obj.curframe = inspect.currentframe()
-    pdb_obj.prompt_waiting = True
     pdb_obj.completenames = lambda *ignore: ['baba']
     kernel.shell.pdb_session = pdb_obj
     match = kernel.do_complete('ba', 2)
@@ -890,7 +889,6 @@
     """
     pdb_obj = SpyderPdb()
     pdb_obj.curframe = inspect.currentframe()
-    pdb_obj.prompt_waiting = True
     pdb_obj.curframe_locals = pdb_obj.curframe.f_locals
     kernel.shell.pdb_session = pdb_obj
 
@@ -917,7 +915,6 @@
     """
     pdb_obj = SpyderPdb()
     pdb_obj.curframe = inspect.currentframe()
-    pdb_obj.prompt_waiting = True
     pdb_obj.curframe_locals = pdb_obj.curframe.f_locals
     kernel.shell.pdb_session = pdb_obj
 
@@ -944,7 +941,6 @@
     kernel.shell.user_ns["test"] = 0
     pdb_obj = SpyderPdb()
     pdb_obj.curframe = inspect.currentframe()
-    pdb_obj.prompt_waiting = True
     pdb_obj.curframe_locals = pdb_obj.curframe.f_locals
     kernel.shell.pdb_session = pdb_obj
 
@@ -1026,7 +1022,6 @@
     baba = 1
     pdb_obj = SpyderPdb()
     pdb_obj.curframe = inspect.currentframe()
-    pdb_obj.prompt_waiting = True
     pdb_obj.curframe_locals = pdb_obj.curframe.f_locals
     kernel.shell.pdb_session = pdb_obj
 
@@ -1064,7 +1059,6 @@
     a = 1
     pdb_obj = SpyderPdb()
     pdb_obj.curframe = inspect.currentframe()
-    pdb_obj.prompt_waiting = True
     pdb_obj.curframe_locals = pdb_obj.curframe.f_locals
     kernel.shell.pdb_session = pdb_obj
 
@@ -1143,5 +1137,49 @@
             assert value == '0'
 
 
+@flaky(max_runs=3)
+@pytest.mark.skipif(
+    sys.version_info[0] < 3,
+    reason="Fails with python 2")
+def test_debug_namespace(tmpdir):
+    """
+    Test that the kernel uses the proper namespace while debugging.
+    """
+    # Command to start the kernel
+    cmd = "from spyder_kernels.console import start; start.main()"
+
+    with setup_kernel(cmd) as client:
+        # Write code to a file
+        d = tmpdir.join("pdb-ns-test.py")
+        d.write('def func():\n    bb = "hello"\n    breakpoint()\nfunc()')
+
+        # Run code file `d`
+        msg_id = client.execute("runfile(r'{}')".format(to_text_string(d)))
+
+        # make sure that 'bb' returns 'hello'
+        client.get_stdin_msg(timeout=TIMEOUT)
+        client.input('bb')
+
+        t0 = time.time()
+        while True:
+            assert time.time() - t0 < 5
+            msg = client.get_iopub_msg(timeout=TIMEOUT)
+            if msg.get('msg_type') == 'stream':
+                if 'hello' in msg["content"].get("text"):
+                    break
+
+         # make sure that get_value('bb') returns 'hello'
+        client.get_stdin_msg(timeout=TIMEOUT)
+        client.input("get_ipython().kernel.get_value('bb')")
+
+        t0 = time.time()
+        while True:
+            assert time.time() - t0 < 5
+            msg = client.get_iopub_msg(timeout=TIMEOUT)
+            if msg.get('msg_type') == 'stream':
+                if 'hello' in msg["content"].get("text"):
+                    break
+
+
 if __name__ == "__main__":
     pytest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/spyder-kernels-2.3.2/spyder_kernels/customize/spyderpdb.py 
new/spyder-kernels-2.3.3/spyder_kernels/customize/spyderpdb.py
--- old/spyder-kernels-2.3.2/spyder_kernels/customize/spyderpdb.py      
2022-07-06 18:22:03.000000000 +0200
+++ new/spyder-kernels-2.3.3/spyder_kernels/customize/spyderpdb.py      
2022-08-28 03:53:56.000000000 +0200
@@ -105,9 +105,6 @@
         # Keep track of remote filename
         self.remote_filename = None
 
-        # State of the prompt
-        self.prompt_waiting = False
-
         # Line received from the frontend
         self._cmd_input_line = None
 
@@ -263,8 +260,12 @@
                     if out is not None:
                         sys.stdout.flush()
                         sys.stderr.flush()
-                        frontend_request(blocking=False).show_pdb_output(
-                            repr(out))
+                        try:
+                            frontend_request(blocking=False).show_pdb_output(
+                                repr(out))
+                        except (CommError, TimeoutError):
+                            # Fallback
+                            print("pdb out> ", repr(out))
 
             finally:
                 if execute_events:
@@ -360,7 +361,10 @@
         Take a number as argument as an (optional) number of context line to
         print"""
         super(SpyderPdb, self).do_where(arg)
-        frontend_request(blocking=False).do_where()
+        try:
+            frontend_request(blocking=False).do_where()
+        except (CommError, TimeoutError):
+            logger.debug("Could not send where request to the frontend.")
 
     do_w = do_where
 
@@ -660,11 +664,9 @@
                 line = self.cmdqueue.pop(0)
             else:
                 try:
-                    self.prompt_waiting = True
                     line = self.cmd_input(self.prompt)
                 except EOFError:
                     line = 'EOF'
-            self.prompt_waiting = False
             line = self.precmd(line)
             stop = self.onecmd(line)
             stop = self.postcmd(stop, line)

Reply via email to