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 2023-04-29 17:28:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-spyder-kernels (Old) and /work/SRC/openSUSE:Factory/.python-spyder-kernels.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-spyder-kernels" Sat Apr 29 17:28:01 2023 rev:41 rq:1083327 version:2.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-spyder-kernels/python-spyder-kernels.changes 2023-03-21 17:40:16.517470758 +0100 +++ /work/SRC/openSUSE:Factory/.python-spyder-kernels.new.1533/python-spyder-kernels.changes 2023-04-29 17:28:11.246553943 +0200 @@ -1,0 +2,16 @@ +Thu Apr 27 15:25:00 UTC 2023 - Ben Greiner <c...@bnavigator.de> + +- Update to 2.4.3 + * PR 452 - PR: Fix error when executing empty Python script, by + @rear1019 + * PR 450 - PR: Remove usage of distutils.LooseVersion, by + @ccordoba12 (440) + * PR 449 - PR: Add support for Jupyter-client 8, by @ccordoba12 + * PR 448 - PR: Skip IPython versions that give buggy code + completions, by @ccordoba12 + * PR 434 - PR: Use allow_pickle=True when loading Numpy arrays, + by @nkleinbaer + * PR 430 - PR: Inform GUI about position of exception in post + mortem debugging, by @rear1019 + +------------------------------------------------------------------- Old: ---- spyder-kernels-2.4.2-gh.tar.gz New: ---- spyder-kernels-2.4.3-gh.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-spyder-kernels.spec ++++++ --- /var/tmp/diff_new_pack.J28TKf/_old 2023-04-29 17:28:14.762568664 +0200 +++ /var/tmp/diff_new_pack.J28TKf/_new 2023-04-29 17:28:14.814568882 +0200 @@ -19,7 +19,7 @@ # flaky for obs, only test locally %bcond_with dasktest Name: python-spyder-kernels -Version: 2.4.2 +Version: 2.4.3 Release: 0 Summary: Jupyter kernels for Spyder's console License: MIT @@ -38,8 +38,9 @@ BuildRequires: %{python_module cloudpickle} BuildRequires: %{python_module flaky} BuildRequires: %{python_module ipykernel >= 6.16.1 with %python-ipykernel < 7} +BuildRequires: %{python_module jupyter_client >= 7.4.9 with %python-jupyter_client < 9} +BuildConflicts: %{python_module jupyter_client >= 8.8 with %python-jupyter_client < 8.10.1} BuildRequires: %{python_module ipython >= 7.31.1 with %python-ipython < 9} -BuildRequires: %{python_module jupyter_client >= 7.4.9 with %python-jupyter_client < 8} BuildRequires: %{python_module matplotlib} BuildRequires: %{python_module numpy} BuildRequires: %{python_module pandas} @@ -57,7 +58,8 @@ Requires: python-wurlitzer >= 1.0.3 Requires: (python-ipykernel >= 6.16.1 with python-ipykernel < 7) Requires: (python-ipython >= 7.31.1 with python-ipython < 9) -Requires: (python-jupyter_client >= 7.4.9 with python-jupyter_client < 8) +Conflicts: (python-ipython >= 8.8.0 with python-ipython < 8.10.1) +Requires: (python-jupyter_client >= 7.4.9 with python-jupyter_client < 9) BuildArch: noarch %python_subpackages @@ -86,9 +88,7 @@ %if ! %{with dasktest} donttest=("-k" "not test_dask_multiprocessing") %endif -# no xarray for python38 -python38_ignore="--ignore spyder_kernels/utils/tests/test_nsview.py" -%pytest "${donttest[@]}" ${$python_ignore} +%pytest "${donttest[@]}" %files %{python_files} %doc CHANGELOG.md README.md ++++++ spyder-kernels-2.4.2-gh.tar.gz -> spyder-kernels-2.4.3-gh.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/CHANGELOG.md new/spyder-kernels-2.4.3/CHANGELOG.md --- old/spyder-kernels-2.4.2/CHANGELOG.md 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/CHANGELOG.md 2023-04-02 20:29:23.000000000 +0200 @@ -1,5 +1,29 @@ # History of changes +## Version 2.4.3 (2023-04-02) + +### Issues Closed + +* [Issue 440](https://github.com/spyder-ide/spyder-kernels/issues/440) - distutils and LooseVersion deprecation ([PR 450](https://github.com/spyder-ide/spyder-kernels/pull/450) by [@ccordoba12](https://github.com/ccordoba12)) + +In this release 1 issue was closed. + +### Pull Requests Merged + +* [PR 452](https://github.com/spyder-ide/spyder-kernels/pull/452) - PR: Fix error when executing empty Python script, by [@rear1019](https://github.com/rear1019) +* [PR 450](https://github.com/spyder-ide/spyder-kernels/pull/450) - PR: Remove usage of `distutils.LooseVersion`, by [@ccordoba12](https://github.com/ccordoba12) ([440](https://github.com/spyder-ide/spyder-kernels/issues/440)) +* [PR 449](https://github.com/spyder-ide/spyder-kernels/pull/449) - PR: Add support for Jupyter-client 8, by [@ccordoba12](https://github.com/ccordoba12) +* [PR 448](https://github.com/spyder-ide/spyder-kernels/pull/448) - PR: Skip IPython versions that give buggy code completions, by [@ccordoba12](https://github.com/ccordoba12) +* [PR 442](https://github.com/spyder-ide/spyder-kernels/pull/442) - PR: Add FreeBSD to `test_user_sitepackages_in_pathlist`, by [@rhurlin](https://github.com/rhurlin) +* [PR 434](https://github.com/spyder-ide/spyder-kernels/pull/434) - PR: Use `allow_pickle=True` when loading Numpy arrays, by [@nkleinbaer](https://github.com/nkleinbaer) +* [PR 430](https://github.com/spyder-ide/spyder-kernels/pull/430) - PR: Inform GUI about position of exception in post mortem debugging, by [@rear1019](https://github.com/rear1019) + +In this release 7 pull requests were closed. + + +---- + + ## Version 2.4.2 (2023-01-17) ### Issues Closed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/requirements/posix.txt new/spyder-kernels-2.4.3/requirements/posix.txt --- old/spyder-kernels-2.4.2/requirements/posix.txt 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/requirements/posix.txt 2023-04-02 20:29:23.000000000 +0200 @@ -1,6 +1,6 @@ cloudpickle ipykernel>=6.16.1,<7 ipython>=7.31.1,<9 -jupyter_client>=7.4.9,<8 +jupyter_client>=7.4.9,<9 pyzmq>=22.1.0 wurlitzer>=1.0.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/requirements/python-27.txt new/spyder-kernels-2.4.3/requirements/python-27.txt --- old/spyder-kernels-2.4.2/requirements/python-27.txt 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/requirements/python-27.txt 2023-04-02 20:29:23.000000000 +0200 @@ -1,7 +1,7 @@ decorator<5 backports.functools_lru_cache cloudpickle -ipykernel<5 +ipykernel>=4.5,<5 jupyter_client>=5.3.4,<6 pyzmq>=17,<20 wurlitzer>=1.0.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/requirements/windows.txt new/spyder-kernels-2.4.3/requirements/windows.txt --- old/spyder-kernels-2.4.2/requirements/windows.txt 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/requirements/windows.txt 2023-04-02 20:29:23.000000000 +0200 @@ -1,5 +1,5 @@ cloudpickle ipykernel>=6.16.1,<7 ipython>=7.31.1,<9 -jupyter_client>=7.4.9,<8 +jupyter_client>=7.4.9,<9 pyzmq>=22.1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/setup.py new/spyder-kernels-2.4.3/setup.py --- old/spyder-kernels-2.4.2/setup.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/setup.py 2023-04-02 20:29:23.000000000 +0200 @@ -39,12 +39,12 @@ 'decorator<5; python_version<"3"', 'backports.functools-lru-cache; python_version<"3"', 'cloudpickle', - 'ipykernel<5; python_version<"3"', + 'ipykernel>=4.5,<5; python_version<"3"', 'ipykernel>=6.16.1,<7; python_version>="3"', 'ipython<6; python_version<"3"', - 'ipython>=7.31.1,<9; python_version>="3"', + 'ipython>=7.31.1,<9,!=8.8.0,!=8.9.0,!=8.10.0; python_version>="3"', 'jupyter-client>=5.3.4,<6; python_version<"3"', - 'jupyter-client>=7.4.9,<8; python_version>="3"', + 'jupyter-client>=7.4.9,<9; python_version>="3"', 'pyzmq>=17,<20; python_version<"3"', 'pyzmq>=22.1.0; python_version>="3"', 'wurlitzer>=1.0.3;platform_system!="Windows"', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/_version.py new/spyder-kernels-2.4.3/spyder_kernels/_version.py --- old/spyder-kernels-2.4.2/spyder_kernels/_version.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/_version.py 2023-04-02 20:29:23.000000000 +0200 @@ -8,5 +8,5 @@ """Version File.""" -VERSION_INFO = (2, 4, 2) +VERSION_INFO = (2, 4, 3) __version__ = '.'.join(map(str, VERSION_INFO)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/console/kernel.py new/spyder-kernels-2.4.3/spyder_kernels/console/kernel.py --- old/spyder-kernels-2.4.2/spyder_kernels/console/kernel.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/console/kernel.py 2023-04-02 20:29:23.000000000 +0200 @@ -11,14 +11,12 @@ """ # Standard library imports -from distutils.version import LooseVersion import logging import os import sys import threading # Third-party imports -import ipykernel from ipykernel.ipkernel import IPythonKernel from ipykernel import eventloops from traitlets.config.loader import LazyConfigValue @@ -450,11 +448,7 @@ def set_mpl_inline_resolution(self, resolution): """Set inline figure resolution.""" - if LooseVersion(ipykernel.__version__) < LooseVersion('4.5'): - option = 'savefig.dpi' - else: - option = 'figure.dpi' - self._set_mpl_inline_rc_config(option, resolution) + self._set_mpl_inline_rc_config('figure.dpi', resolution) def set_mpl_inline_figure_size(self, width, height): """Set inline figure size.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/console/start.py new/spyder-kernels-2.4.3/spyder_kernels/console/start.py --- old/spyder-kernels-2.4.2/spyder_kernels/console/start.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/console/start.py 2023-04-02 20:29:23.000000000 +0200 @@ -11,7 +11,6 @@ """ # Standard library imports -from distutils.version import LooseVersion import os import os.path as osp import sys @@ -73,7 +72,6 @@ def kernel_config(): """Create a config object with IPython kernel options.""" - import ipykernel from IPython.core.application import get_ipython_dir from traitlets.config.loader import Config, load_pyconfig_files @@ -149,19 +147,11 @@ # use our config system to configure the # inline backend but want to use # '%matplotlib inline' at runtime - if LooseVersion(ipykernel.__version__) < LooseVersion('4.5'): - dpi_option = 'savefig.dpi' - else: - dpi_option = 'figure.dpi' - - # The typical default figure size is too large for inline use, - # so we shrink the figure size to 6x4, and tweak fonts to - # make that fit. spy_cfg.InlineBackend.rc = { 'figure.figsize': (6.0, 4.0), # 72 dpi matches SVG/qtconsole. # This only affects PNG export, as SVG has no dpi setting. - dpi_option: 72, + 'figure.dpi': 72, # 12pt labels get cutoff on 6x4 logplots, so use 10pt. 'font.size': 10, # 10pt still needs a little more room on the xlabel @@ -190,7 +180,8 @@ # Resolution resolution_o = os.environ.get('SPY_RESOLUTION_O') if resolution_o is not None: - spy_cfg.InlineBackend.rc[dpi_option] = float(resolution_o) + spy_cfg.InlineBackend.rc['figure.dpi'] = float( + resolution_o) # Figure size width_o = float(os.environ.get('SPY_WIDTH_O')) @@ -248,8 +239,7 @@ # Disable the new mechanism to capture and forward low-level output # in IPykernel 6. For that we have Wurlitzer. - if LooseVersion(ipykernel.__version__) >= LooseVersion('6.3.0'): - spy_cfg.IPKernelApp.capture_fd_output = False + spy_cfg.IPKernelApp.capture_fd_output = False # Merge IPython and Spyder configs. Spyder prefs will have prevalence # over IPython ones diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/customize/spydercustomize.py new/spyder-kernels-2.4.3/spyder_kernels/customize/spydercustomize.py --- old/spyder-kernels-2.4.2/spyder_kernels/customize/spydercustomize.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/customize/spydercustomize.py 2023-04-02 20:29:23.000000000 +0200 @@ -353,8 +353,12 @@ _print('*' * 40) _print('Entering post mortem debugging...') _print('*' * 40) - # add ability to move between frames - p.send_initial_notification = False + + # Inform Spyder about position of exception: pdb.Pdb.interaction() calls + # cmd.Cmd.cmdloop(), which calls SpyderPdb.preloop() where + # send_initial_notification is handled. + p.send_initial_notification = True + p.reset() frame = tb.tb_next.tb_frame # wait for stdout to print @@ -458,7 +462,7 @@ else: ast_code = ast.parse(transform_cell(code)) - if code.rstrip()[-1] == ";": + if code.rstrip()[-1:] == ";": # Supress output with ; capture_last_expression = False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/customize/spyderpdb.py new/spyder-kernels-2.4.3/spyder_kernels/customize/spyderpdb.py --- old/spyder-kernels-2.4.2/spyder_kernels/customize/spyderpdb.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/customize/spyderpdb.py 2023-04-02 20:29:23.000000000 +0200 @@ -186,7 +186,7 @@ code_ast = ast.parse(line) - if line.rstrip()[-1] == ";": + if line.rstrip()[-1:] == ";": # Supress output with ; capture_last_expression = False else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/customize/tests/test_utils.py new/spyder-kernels-2.4.3/spyder_kernels/customize/tests/test_utils.py --- old/spyder-kernels-2.4.2/spyder_kernels/customize/tests/test_utils.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/customize/tests/test_utils.py 2023-04-02 20:29:23.000000000 +0200 @@ -16,7 +16,7 @@ """Test that we include user site-packages in pathlist.""" if sys.platform.startswith('linux'): user_path = 'local' - elif sys.platform == 'darwin': + elif (sys.platform == 'darwin' or sys.platform.startswith('freebsd')): user_path = os.path.expanduser('~/.local') else: user_path = 'Roaming' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/utils/iofuncs.py new/spyder-kernels-2.4.3/spyder_kernels/utils/iofuncs.py --- old/spyder-kernels-2.4.2/spyder_kernels/utils/iofuncs.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/utils/iofuncs.py 2023-04-02 20:29:23.000000000 +0200 @@ -415,7 +415,7 @@ try: saved_arrays = data.pop('__saved_arrays__') for (name, index), fname in list(saved_arrays.items()): - arr = np.load(osp.join(tmp_folder, fname)) + arr = np.load(osp.join(tmp_folder, fname), allow_pickle=True) if index is None: data[name] = arr elif isinstance(data[name], dict): Binary files old/spyder-kernels-2.4.2/spyder_kernels/utils/tests/export_data.spydata and new/spyder-kernels-2.4.3/spyder_kernels/utils/tests/export_data.spydata differ Binary files old/spyder-kernels-2.4.2/spyder_kernels/utils/tests/export_data_renamed.spydata and new/spyder-kernels-2.4.3/spyder_kernels/utils/tests/export_data_renamed.spydata differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spyder-kernels-2.4.2/spyder_kernels/utils/tests/test_iofuncs.py new/spyder-kernels-2.4.3/spyder_kernels/utils/tests/test_iofuncs.py --- old/spyder-kernels-2.4.2/spyder_kernels/utils/tests/test_iofuncs.py 2023-01-18 00:14:46.000000000 +0100 +++ new/spyder-kernels-2.4.3/spyder_kernels/utils/tests/test_iofuncs.py 2023-04-02 20:29:23.000000000 +0200 @@ -21,7 +21,7 @@ # Local imports import spyder_kernels.utils.iofuncs as iofuncs -from spyder_kernels.py3compat import is_text_string +from spyder_kernels.py3compat import is_text_string, PY2 # Full path to this file's parent directory for loading data @@ -88,7 +88,7 @@ B = 'ham' C = np.eye(3) D = {'a': True, 'b': np.eye(4, dtype=np.complex128)} - E = [np.eye(2, dtype=np.int64), 42.0, np.eye(3, dtype=np.bool_)] + E = [np.eye(2, dtype=np.int64), 42.0, np.eye(3, dtype=np.bool_), np.eye(4, dtype=object)] return {'A': A, 'B': B, 'C': C, 'D': D, 'E': E} @@ -227,6 +227,7 @@ assert valid +@pytest.mark.skipif(PY2, reason="Fails on Python 2") @pytest.mark.parametrize('spydata_file_name', ['export_data.spydata', 'export_data_renamed.spydata']) def test_spydata_import(spydata_file_name, spydata_values):