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 <[email protected]>
+
+- 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)
[email protected](
+ 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)