Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-jupyter-kernel-test for 
openSUSE:Factory checked in at 2023-09-25 20:03:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-kernel-test (Old)
 and      /work/SRC/openSUSE:Factory/.python-jupyter-kernel-test.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jupyter-kernel-test"

Mon Sep 25 20:03:17 2023 rev:4 rq:1113301 version:0.6.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-jupyter-kernel-test/python-jupyter-kernel-test.changes
    2023-02-05 19:23:16.376621793 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-jupyter-kernel-test.new.1770/python-jupyter-kernel-test.changes
  2023-09-25 20:58:31.994082252 +0200
@@ -1,0 +2,7 @@
+Sun Sep 24 18:02:36 UTC 2023 - Ben Greiner <c...@bnavigator.de>
+
+- Update to 0.6.0
+  * Add test for Jep #65 #134 (@Hind-M)
+  * Drop Python 3.7 support #135 (@blink1073)
+
+-------------------------------------------------------------------

Old:
----
  jupyter_kernel_test-0.5.0.tar.gz

New:
----
  jupyter_kernel_test-0.6.0.tar.gz

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

Other differences:
------------------
++++++ python-jupyter-kernel-test.spec ++++++
--- /var/tmp/diff_new_pack.YYY5Gv/_old  2023-09-25 20:58:33.038119968 +0200
+++ /var/tmp/diff_new_pack.YYY5Gv/_new  2023-09-25 20:58:33.038119968 +0200
@@ -17,13 +17,13 @@
 
 
 Name:           python-jupyter-kernel-test
-Version:        0.5.0
+Version:        0.6.0
 Release:        0
 Summary:        A tool for testing Jupyter kernels
 License:        BSD-3-Clause
 URL:            https://github.com/jupyter/jupyter_kernel_test
 Source:         
https://files.pythonhosted.org/packages/source/j/jupyter_kernel_test/jupyter_kernel_test-%{version}.tar.gz
-BuildRequires:  %{python_module base >= 3.7}
+BuildRequires:  %{python_module base >= 3.8}
 BuildRequires:  %{python_module hatchling >= 1.5}
 BuildRequires:  %{python_module pip}
 BuildRequires:  fdupes

++++++ jupyter_kernel_test-0.5.0.tar.gz -> jupyter_kernel_test-0.6.0.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_kernel_test-0.5.0/.github/workflows/tests.yml 
new/jupyter_kernel_test-0.6.0/.github/workflows/tests.yml
--- old/jupyter_kernel_test-0.5.0/.github/workflows/tests.yml   2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/.github/workflows/tests.yml   2020-02-02 
01:00:00.000000000 +0100
@@ -25,12 +25,12 @@
       fail-fast: false
       matrix:
         os: [ubuntu-latest, windows-latest, macos-latest]
-        python-version: ["3.7", "3.11"]
+        python-version: ["3.8", "3.11"]
         include:
           - os: windows-latest
             python-version: "3.9"
           - os: macos-latest
-            python-version: "3.8"
+            python-version: "3.9"
           - os: ubuntu-latest
             python-version: "3.10"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/.pre-commit-config.yaml 
new/jupyter_kernel_test-0.6.0/.pre-commit-config.yaml
--- old/jupyter_kernel_test-0.5.0/.pre-commit-config.yaml       2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/.pre-commit-config.yaml       2020-02-02 
01:00:00.000000000 +0100
@@ -19,7 +19,7 @@
       - id: trailing-whitespace
 
   - repo: https://github.com/python-jsonschema/check-jsonschema
-    rev: 0.19.2
+    rev: 0.23.3
     hooks:
       - id: check-github-workflows
 
@@ -31,12 +31,12 @@
           [mdformat-gfm, mdformat-frontmatter, mdformat-footnote]
 
   - repo: https://github.com/psf/black
-    rev: 22.12.0
+    rev: 23.7.0
     hooks:
       - id: black
 
-  - repo: https://github.com/charliermarsh/ruff-pre-commit
-    rev: v0.0.217
+  - repo: https://github.com/astral-sh/ruff-pre-commit
+    rev: v0.0.281
     hooks:
       - id: ruff
         args: ["--fix"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/CHANGELOG.md 
new/jupyter_kernel_test-0.6.0/CHANGELOG.md
--- old/jupyter_kernel_test-0.5.0/CHANGELOG.md  2020-02-02 01:00:00.000000000 
+0100
+++ new/jupyter_kernel_test-0.6.0/CHANGELOG.md  2020-02-02 01:00:00.000000000 
+0100
@@ -2,6 +2,27 @@
 
 <!-- <START NEW CHANGELOG ENTRY> -->
 
+## 0.6.0
+
+([Full 
Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.5.0...78b8f14cf8a7f6c4fba4cb20edd8fa293ae7a602))
+
+### Enhancements made
+
+- Add test for Jep #65 
[#134](https://github.com/jupyter/jupyter_kernel_test/pull/134) 
([@Hind-M](https://github.com/Hind-M))
+
+### Maintenance and upkeep improvements
+
+- Drop Python 3.7 support 
[#135](https://github.com/jupyter/jupyter_kernel_test/pull/135) 
([@blink1073](https://github.com/blink1073))
+- Add more linting 
[#127](https://github.com/jupyter/jupyter_kernel_test/pull/127) 
([@blink1073](https://github.com/blink1073))
+
+### Contributors to this release
+
+([GitHub contributors page for this 
release](https://github.com/jupyter/jupyter_kernel_test/graphs/contributors?from=2023-01-27&to=2023-08-29&type=c))
+
+[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Ablink1073+updated%3A2023-01-27..2023-08-29&type=Issues)
 | 
[@Hind-M](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3AHind-M+updated%3A2023-01-27..2023-08-29&type=Issues)
 | 
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Apre-commit-ci+updated%3A2023-01-27..2023-08-29&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
 ## 0.5.0
 
 ([Full 
Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.4.5...c3ffbd013b1cdd32d7273d4fbe9ee0ab61af7a1e))
@@ -25,8 +46,6 @@
 
 
[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Ablink1073+updated%3A2022-08-22..2023-01-27&type=Issues)
 | 
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Adependabot+updated%3A2022-08-22..2023-01-27&type=Issues)
 | 
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Apre-commit-ci+updated%3A2022-08-22..2023-01-27&type=Issues)
 
-<!-- <END NEW CHANGELOG ENTRY> -->
-
 ## 0.4.5
 
 ([Full 
Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.4.4...85c23f820f8127808f60dab6f5871e8d26c01192))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/PKG-INFO 
new/jupyter_kernel_test-0.6.0/PKG-INFO
--- old/jupyter_kernel_test-0.5.0/PKG-INFO      2020-02-02 01:00:00.000000000 
+0100
+++ new/jupyter_kernel_test-0.6.0/PKG-INFO      2020-02-02 01:00:00.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: jupyter_kernel_test
-Version: 0.5.0
+Version: 0.6.0
 Project-URL: Homepage, https://github.com/jupyter/jupyter_kernel_test
 Author-email: Jupyter Development Team <jupy...@googlegroups.com>
 License: Copyright (c) 2015-2021 Project Jupyter Contributors
@@ -35,7 +35,7 @@
 Classifier: License :: OSI Approved :: BSD License
 Classifier: Programming Language :: Python :: 3
 Classifier: Topic :: Software Development :: Testing
-Requires-Python: >=3.7
+Requires-Python: >=3.8
 Requires-Dist: jsonschema
 Requires-Dist: jupyter-client>=6.1.13
 Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/__init__.py 
new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/__init__.py
--- old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/__init__.py       
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/__init__.py       
2020-02-02 01:00:00.000000000 +0100
@@ -15,7 +15,7 @@
 
 TIMEOUT = 15
 
-__version__ = "0.5.0"
+__version__ = "0.6.0"
 
 
 def ensure_sync(func):
@@ -68,7 +68,7 @@
             )
             
self.assertTrue(reply["content"]["language_info"]["file_extension"].startswith("."))
 
-    def execute_helper(
+    def execute_helper(  # noqa
         self, code, timeout=TIMEOUT, silent=False, store_history=True, 
stop_on_error=True
     ):
         msg_id = self.kc.execute(
@@ -100,7 +100,7 @@
 
     def test_execute_stdout(self):
         if not self.code_hello_world:
-            raise SkipTest("No code hello world")
+            raise SkipTest("No code hello world")  # noqa
 
         self.flush_channels()
         reply, output_msgs = self.execute_helper(code=self.code_hello_world)
@@ -121,7 +121,7 @@
 
     def test_execute_stderr(self):
         if not self.code_stderr:
-            raise SkipTest("No code stderr")
+            raise SkipTest("No code stderr")  # noqa
 
         self.flush_channels()
         reply, output_msgs = self.execute_helper(code=self.code_stderr)
@@ -148,7 +148,7 @@
 
     def test_completion(self):
         if not self.completion_samples:
-            raise SkipTest("No completion samples")
+            raise SkipTest("No completion samples")  # noqa
 
         for sample in self.completion_samples:
             with self.subTest(text=sample["text"]):
@@ -174,7 +174,7 @@
         if not (
             self.complete_code_samples or self.incomplete_code_samples or 
self.invalid_code_samples
         ):
-            raise SkipTest("Not testing is_complete")
+            raise SkipTest("Not testing is_complete")  # noqa
 
         self.flush_channels()
 
@@ -194,7 +194,7 @@
 
     def test_pager(self):
         if not self.code_page_something:
-            raise SkipTest("No code page something")
+            raise SkipTest("No code page something")  # noqa
 
         self.flush_channels()
 
@@ -210,7 +210,7 @@
 
     def test_error(self):
         if not self.code_generate_error:
-            raise SkipTest("No code generate error")
+            raise SkipTest("No code generate error")  # noqa
 
         self.flush_channels()
 
@@ -223,7 +223,7 @@
 
     def test_execute_result(self):
         if not self.code_execute_result:
-            raise SkipTest("No code execute result")
+            raise SkipTest("No code execute result")  # noqa
 
         for sample in self.code_execute_result:
             with self.subTest(code=sample["code"]):
@@ -246,13 +246,14 @@
                     if "result" in sample:
                         self.assertEqual(msg["content"]["data"][mime], 
sample["result"])
                 if not found:
-                    raise AssertionError("execute_result message not found")
+                    emsg = "execute_result message not found"
+                    raise AssertionError(emsg)
 
     code_display_data: list = []
 
     def test_display_data(self):
         if not self.code_display_data:
-            raise SkipTest("No code display data")
+            raise SkipTest("No code display data")  # noqa
 
         for sample in self.code_display_data:
             with self.subTest(code=sample["code"]):
@@ -270,7 +271,8 @@
                         continue
                     self.assertIn(sample["mime"], msg["content"]["data"])
                 if not found:
-                    raise AssertionError("display_data message not found")
+                    emsg = "display_data message not found"
+                    raise AssertionError(emsg)
 
     # this should match one of the values in code_execute_result
     code_history_pattern = ""
@@ -292,7 +294,7 @@
 
     def test_history(self):
         if not self.code_execute_result:
-            raise SkipTest("No code execute result")
+            raise SkipTest("No code execute result")  # noqa
 
         codes = [s["code"] for s in self.code_execute_result]
         _ = [s.get("result", "") for s in self.code_execute_result]
@@ -302,7 +304,7 @@
 
         with self.subTest(hist_access_type="tail"):
             if "tail" not in self.supported_history_operations:
-                raise SkipTest("History tail not suported")
+                raise SkipTest("History tail not suported")  # noqa
             reply = self.history_helper(codes, output=False, raw=True, 
hist_access_type="tail", n=n)
             self.assertEqual(len(reply["content"]["history"]), n)
             self.assertEqual(len(reply["content"]["history"][0]), 3)
@@ -317,9 +319,9 @@
 
         with self.subTest(hist_access_type="range"):
             if "range" not in self.supported_history_operations:
-                raise SkipTest("History range not supported")
+                raise SkipTest("History range not supported")  # noqa
             if session is None:
-                raise SkipTest("No session")
+                raise SkipTest("No session")  # noqa
             reply = self.history_helper(
                 codes,
                 output=False,
@@ -335,10 +337,9 @@
 
         with self.subTest(hist_access_type="search"):
             if not self.code_history_pattern:
-                raise SkipTest("No code history pattern")
+                raise SkipTest("No code history pattern")  # noqa
             if "search" not in self.supported_history_operations:
-                raise SkipTest("History search not supported")
-
+                raise SkipTest("History search not supported")  # noqa
             with self.subTest(subsearch="normal"):
                 reply = self.history_helper(
                     codes,
@@ -373,7 +374,7 @@
 
     def test_inspect(self):
         if not self.code_inspect_sample:
-            raise SkipTest("No code inspect sample")
+            raise SkipTest("No code inspect sample")  # noqa
 
         self.flush_channels()
         msg_id = self.kc.inspect(self.code_inspect_sample)
@@ -388,7 +389,7 @@
 
     def test_clear_output(self):
         if not self.code_clear_output:
-            raise SkipTest("No code clear output")
+            raise SkipTest("No code clear output")  # noqa
 
         self.flush_channels()
         reply, output_msgs = self.execute_helper(code=self.code_clear_output)
@@ -402,4 +403,40 @@
             else:
                 continue
         if not found:
-            raise AssertionError("clear_output message not found")
+            emsg = "clear_output message not found"
+            raise AssertionError(emsg)
+
+
+class IopubWelcomeTests(TestCase):
+    kernel_name = "python3"
+    kc: BlockingKernelClient
+    km: KernelManager
+
+    @classmethod
+    def setUpClass(cls):
+        cls.km = KernelManager(kernel_name=cls.kernel_name)
+        cls.km.start_kernel()
+        cls.kc = cls.km.client()
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.kc.stop_channels()
+        cls.km.shutdown_kernel()
+
+    support_iopub_welcome = False
+
+    def test_recv_iopub_welcome_msg(self):
+        if not self.support_iopub_welcome:
+            raise SkipTest("Iopub welcome messages are not supported")  # noqa
+
+        self.kc.start_channels()
+        while True:
+            msg = self.kc.get_iopub_msg()
+            if msg:
+                self.assertEqual(msg["header"]["msg_type"], "iopub_welcome")
+                self.assertEqual(msg["msg_type"], "iopub_welcome")
+                self.assertEqual(
+                    msg["content"]["subscription"], ""
+                )  # Default: empty topic means subscription to all topics
+
+                break
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/msgspec_v5.py 
new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/msgspec_v5.py
--- old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/msgspec_v5.py     
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/msgspec_v5.py     
2020-02-02 01:00:00.000000000 +0100
@@ -116,14 +116,14 @@
     msg_version_s = msg["header"]["version"]
     m = re.match(r"(\d+)\.(\d+)", msg_version_s)
     if not m:
-        raise ValidationError("Version {} not like 'x.y'")
+        emsg = "Version {} not like 'x.y'"
+        raise ValidationError(emsg)
     version_minor = int(m.group(2))
 
     if msg_type is not None:
         if msg["header"]["msg_type"] != msg_type:
-            raise ValidationError(
-                "Message type {!r} != {!r}".format(msg["header"]["msg_type"], 
msg_type)
-            )
+            emsg = "Message type {!r} != 
{!r}".format(msg["header"]["msg_type"], msg_type)
+            raise ValidationError(emsg)
     else:
         msg_type = msg["header"]["msg_type"]
 
@@ -131,15 +131,18 @@
     if version_minor <= protocol_version[1]:
         unx_top = set(msg) - set(msg_schema["properties"])
         if unx_top:
-            raise ValidationError(f"Unexpected keys: {unx_top}")
+            msg = f"Unexpected keys: {unx_top}"
+            raise ValidationError(msg)
 
         unx_header = set(msg["header"]) - set(header_part["properties"])
         if unx_header:
-            raise ValidationError(f"Unexpected keys in header: {unx_header}")
+            emsg = f"Unexpected keys in header: {unx_header}"
+            raise ValidationError(emsg)
 
     # Check the parent id
     if "reply" in msg_type and parent_id and msg["parent_header"]["msg_id"] != 
parent_id:
-        raise ValidationError("Parent header does not match expected")
+        emsg = "Parent header does not match expected"
+        raise ValidationError(emsg)
 
     if msg_type in reply_msgs_using_status:
         # Most _reply messages have common 'error' and 'abort' structures
@@ -154,7 +157,8 @@
         elif status == "ok":
             content_vdor = get_msg_content_validator(msg_type, version_minor)
         else:
-            raise ValidationError(f"status {status!r} should be 
ok/error/abort")
+            msg = f"status {status!r} should be ok/error/abort"
+            raise ValidationError(msg)
     else:
         content_vdor = get_msg_content_validator(msg_type, version_minor)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/pyproject.toml 
new/jupyter_kernel_test-0.6.0/pyproject.toml
--- old/jupyter_kernel_test-0.5.0/pyproject.toml        2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/pyproject.toml        2020-02-02 
01:00:00.000000000 +0100
@@ -12,7 +12,7 @@
   "Programming Language :: Python :: 3",
   "Topic :: Software Development :: Testing"
 ]
-requires-python = ">=3.7"
+requires-python = ">=3.8"
 dependencies = [
   "jupyter_client >=6.1.13",
   "jsonschema"
@@ -48,10 +48,10 @@
 
 [tool.hatch.envs.lint]
 dependencies = [
-  "black[jupyter]==22.12.0",
+  "black[jupyter]==23.3.0",
   "mdformat>0.7",
   "mdformat-gfm>=0.3.5",
-  "ruff==0.0.217"
+  "ruff==0.0.276"
 ]
 detached = true
 [tool.hatch.envs.lint.scripts]
@@ -91,12 +91,15 @@
 target-version = "py37"
 line-length = 100
 select = [
-  "A", "B", "C", "E", "F", "FBT", "I", "N", "Q", "RUF", "S", "T",
-  "UP", "W", "YTT",
+  "A", "B", "C", "DTZ", "E", "EM", "F", "FBT", "I", "ICN", "ISC", "N",
+  "PLC", "PLE", "PLR", "PLW", "Q", "RUF", "S", "SIM", "T", "TID", "UP",
+  "W", "YTT",
 ]
 ignore = [
   # FBT002 Boolean default value in function definition
   "FBT002", "FBT003",
+  # RUF012 Mutable class attributes should be annotated with `typing.ClassVar`
+  "RUF012",
 ]
 unfixable = [
   # Don't touch print statements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/test_ipykernel.py 
new/jupyter_kernel_test-0.6.0/test_ipykernel.py
--- old/jupyter_kernel_test-0.5.0/test_ipykernel.py     2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/test_ipykernel.py     2020-02-02 
01:00:00.000000000 +0100
@@ -9,7 +9,6 @@
 
 
 class IPyKernelTests(jkt.KernelTests):
-
     # REQUIRED
 
     # the kernel to be tested
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/test_irkernel.py 
new/jupyter_kernel_test-0.6.0/test_irkernel.py
--- old/jupyter_kernel_test-0.5.0/test_irkernel.py      2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/test_irkernel.py      2020-02-02 
01:00:00.000000000 +0100
@@ -20,7 +20,7 @@
         try:
             cls.km, cls.kc = jkt.start_new_kernel(kernel_name=cls.kernel_name)
         except NoSuchKernel:
-            raise unittest.SkipTest("No ir kernel installed") from None
+            raise unittest.SkipTest("No ir kernel installed") from None  # noqa
 
     language_name = "R"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/test_xeus_cling.py 
new/jupyter_kernel_test-0.6.0/test_xeus_cling.py
--- old/jupyter_kernel_test-0.5.0/test_xeus_cling.py    2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/test_xeus_cling.py    2020-02-02 
01:00:00.000000000 +0100
@@ -19,7 +19,7 @@
         try:
             cls.km, cls.kc = jkt.start_new_kernel(kernel_name=cls.kernel_name)
         except NoSuchKernel:
-            raise unittest.SkipTest("Xeus-Cling Kernel not installed") from 
None
+            raise unittest.SkipTest("Xeus-Cling Kernel not installed") from 
None  # noqa
 
     language_name = "c++"
 

Reply via email to