Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-comm for openSUSE:Factory checked in at 2023-04-04 21:27:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-comm (Old) and /work/SRC/openSUSE:Factory/.python-comm.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-comm" Tue Apr 4 21:27:16 2023 rev:2 rq:1077230 version:0.1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-comm/python-comm.changes 2022-12-26 23:27:58.832904373 +0100 +++ /work/SRC/openSUSE:Factory/.python-comm.new.19717/python-comm.changes 2023-04-04 21:27:34.787631513 +0200 @@ -1,0 +2,6 @@ +Tue Apr 4 14:56:38 UTC 2023 - Ben Greiner <c...@bnavigator.de> + +- Update to 0.1.3 + * feat: provide a default implementation #13 (@maartenbreddels) + +------------------------------------------------------------------- Old: ---- comm-0.1.2-gh.tar.gz New: ---- comm-0.1.3-gh.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-comm.spec ++++++ --- /var/tmp/diff_new_pack.xq0Ayd/_old 2023-04-04 21:27:35.479635441 +0200 +++ /var/tmp/diff_new_pack.xq0Ayd/_new 2023-04-04 21:27:35.483635463 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-comm # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,16 +16,15 @@ # -%define skip_python2 1 Name: python-comm -Version: 0.1.2 +Version: 0.1.3 Release: 0 Summary: Jupyter Python Comm implementation License: BSD-3-Clause URL: https://github.com/ipython/comm -Source: https://github.com/ipython/comm/archive/refs/tags/%{version}.tar.gz#/comm-%{version}-gh.tar.gz +Source: https://github.com/ipython/comm/archive/refs/tags/v%{version}.tar.gz#/comm-%{version}-gh.tar.gz BuildRequires: %{python_module base >= 3.6} -BuildRequires: %{python_module hatchling} +BuildRequires: %{python_module hatchling >= 1.10} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module traitlets >= 5.3} ++++++ comm-0.1.2-gh.tar.gz -> comm-0.1.3-gh.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/.github/dependabot.yml new/comm-0.1.3/.github/dependabot.yml --- old/comm-0.1.2/.github/dependabot.yml 2022-12-08 13:26:45.000000000 +0100 +++ new/comm-0.1.3/.github/dependabot.yml 2023-03-22 09:20:09.000000000 +0100 @@ -1,8 +1,10 @@ version: 2 updates: - # Set update schedule for GitHub Actions - package-ecosystem: "github-actions" directory: "/" schedule: - # Check for updates to GitHub Actions every weekday + interval: "weekly" + - package-ecosystem: "pip" + directory: "/" + schedule: interval: "weekly" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/.github/workflows/prep-release.yml new/comm-0.1.3/.github/workflows/prep-release.yml --- old/comm-0.1.2/.github/workflows/prep-release.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/comm-0.1.3/.github/workflows/prep-release.yml 2023-03-22 09:20:09.000000000 +0100 @@ -0,0 +1,42 @@ +name: "Step 1: Prep Release" +on: + workflow_dispatch: + inputs: + version_spec: + description: "New Version Specifier" + default: "next" + required: false + branch: + description: "The branch to target" + required: false + post_version_spec: + description: "Post Version Specifier" + required: false + since: + description: "Use PRs with activity since this date or git reference" + required: false + since_last_stable: + description: "Use PRs with activity since the last stable git tag" + required: false + type: boolean +jobs: + prep_release: + runs-on: ubuntu-latest + steps: + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + + - name: Prep Release + id: prep-release + uses: jupyter-server/jupyter_releaser/.github/actions/prep-release@v2 + with: + token: ${{ secrets.ADMIN_GITHUB_TOKEN }} + version_spec: ${{ github.event.inputs.version_spec }} + post_version_spec: ${{ github.event.inputs.post_version_spec }} + target: ${{ github.event.inputs.target }} + branch: ${{ github.event.inputs.branch }} + since: ${{ github.event.inputs.since }} + since_last_stable: ${{ github.event.inputs.since_last_stable }} + + - name: "** Next Step **" + run: | + echo "Optional): Review Draft Release: ${{ steps.prep-release.outputs.release_url }}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/.github/workflows/publish-release.yml new/comm-0.1.3/.github/workflows/publish-release.yml --- old/comm-0.1.2/.github/workflows/publish-release.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/comm-0.1.3/.github/workflows/publish-release.yml 2023-03-22 09:20:09.000000000 +0100 @@ -0,0 +1,54 @@ +name: "Step 2: Publish Release" +on: + workflow_dispatch: + inputs: + branch: + description: "The target branch" + required: false + release_url: + description: "The URL of the draft GitHub release" + required: false + steps_to_skip: + description: "Comma separated list of steps to skip" + required: false + +jobs: + publish_release: + runs-on: ubuntu-latest + steps: + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + + - name: Populate Release + id: populate-release + uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2 + with: + token: ${{ secrets.ADMIN_GITHUB_TOKEN }} + target: ${{ github.event.inputs.target }} + branch: ${{ github.event.inputs.branch }} + release_url: ${{ github.event.inputs.release_url }} + steps_to_skip: ${{ github.event.inputs.steps_to_skip }} + + - name: Finalize Release + id: finalize-release + env: + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + PYPI_TOKEN_MAP: ${{ secrets.PYPI_TOKEN_MAP }} + TWINE_USERNAME: __token__ + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + uses: jupyter-server/jupyter-releaser/.github/actions/finalize-release@v2 + with: + token: ${{ secrets.ADMIN_GITHUB_TOKEN }} + target: ${{ github.event.inputs.target }} + release_url: ${{ steps.populate-release.outputs.release_url }} + + - name: "** Next Step **" + if: ${{ success() }} + run: | + echo "Verify the final release" + echo ${{ steps.finalize-release.outputs.release_url }} + + - name: "** Failure Message **" + if: ${{ failure() }} + run: | + echo "Failed to Publish the Draft Release Url:" + echo ${{ steps.populate-release.outputs.release_url }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/.github/workflows/python-tests.yml new/comm-0.1.3/.github/workflows/python-tests.yml --- old/comm-0.1.2/.github/workflows/python-tests.yml 2022-12-08 13:26:45.000000000 +0100 +++ new/comm-0.1.3/.github/workflows/python-tests.yml 2023-03-22 09:20:09.000000000 +0100 @@ -14,14 +14,14 @@ fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.7", "3.10"] + python-version: ["3.7", "3.11"] include: - os: windows-latest python-version: "3.9" - os: ubuntu-latest python-version: "pypy-3.8" - os: ubuntu-latest - python-version: "3.11" + python-version: "3.10" - os: macos-latest python-version: "3.8" steps: @@ -29,7 +29,40 @@ uses: actions/checkout@v3 - name: Base Setup uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - - name: Install and test - run: - pip install -e .[test] - pytest + - name: Run test + run: hatch run test:test + + test_lint: + name: Test Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - name: Run Linters + run: | + hatch run typing:test + hatch run lint:style + pipx run 'validate-pyproject[all]' pyproject.toml + + check_release: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Base Setup + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - name: Install Dependencies + run: | + pip install -e . + - name: Check Release + uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v2 + with: + version_spec: 100.100.100 + token: ${{ secrets.GITHUB_TOKEN }} + + check_links: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/CHANGELOG.md new/comm-0.1.3/CHANGELOG.md --- old/comm-0.1.2/CHANGELOG.md 1970-01-01 01:00:00.000000000 +0100 +++ new/comm-0.1.3/CHANGELOG.md 2023-03-22 09:20:09.000000000 +0100 @@ -0,0 +1,29 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +<!-- <START NEW CHANGELOG ENTRY> --> + +## 0.1.3 + +([Full Changelog](https://github.com/ipython/comm/compare/0.1.2...309b8295ca950a9ca9bdc0daa796215d72a7cb09)) + +### Maintenance and upkeep improvements + +- Adopt linters and releaser [#12](https://github.com/ipython/comm/pull/12) ([@blink1073](https://github.com/blink1073)) + +### Other merged PRs + +- feat: provide a default implementation [#13](https://github.com/ipython/comm/pull/13) ([@maartenbreddels](https://github.com/maartenbreddels)) + +### Contributors to this release + +([GitHub contributors page for this release](https://github.com/ipython/comm/graphs/contributors?from=2022-12-08&to=2023-03-22&type=c)) + +[@blink1073](https://github.com/search?q=repo%3Aipython%2Fcomm+involves%3Ablink1073+updated%3A2022-12-08..2023-03-22&type=Issues) | [@maartenbreddels](https://github.com/search?q=repo%3Aipython%2Fcomm+involves%3Amaartenbreddels+updated%3A2022-12-08..2023-03-22&type=Issues) + +<!-- <END NEW CHANGELOG ENTRY> --> + +## 0.1.2 + +Initial release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/comm/__init__.py new/comm-0.1.3/comm/__init__.py --- old/comm-0.1.2/comm/__init__.py 2022-12-08 13:26:45.000000000 +0100 +++ new/comm-0.1.3/comm/__init__.py 2023-03-22 09:20:09.000000000 +0100 @@ -3,13 +3,14 @@ Copyright (c) IPython Development Team. Distributed under the terms of the Modified BSD License. -This package provides a way to register a Kernel Comm implementation, as per the Jupyter kernel protocol. +This package provides a way to register a Kernel Comm implementation, as per +the Jupyter kernel protocol. It also provides a base Comm implementation and a default CommManager for the IPython case. """ -from .base_comm import CommManager +from .base_comm import BaseComm, CommManager -__version__ = "0.1.2" +__version__ = "0.1.3" __all__ = [ "create_comm", "get_comm_manager", @@ -19,12 +20,17 @@ _comm_manager = None +class DummyComm(BaseComm): + def publish_msg(self, msg_type, data=None, metadata=None, buffers=None, **keys): + pass + + def _create_comm(*args, **kwargs): """Create a Comm. This method is intended to be replaced, so that it returns your Comm instance. """ - raise NotImplementedError("Cannot ") + return DummyComm(*args, **kwargs) def _get_comm_manager(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/comm/base_comm.py new/comm-0.1.3/comm/base_comm.py --- old/comm-0.1.2/comm/base_comm.py 2022-12-08 13:26:45.000000000 +0100 +++ new/comm-0.1.3/comm/base_comm.py 2023-03-22 09:20:09.000000000 +0100 @@ -4,14 +4,14 @@ # Copyright (c) IPython Development Team. # Distributed under the terms of the Modified BSD License. -import uuid import logging -import comm +import uuid from traitlets.utils.importstring import import_item -logger = logging.getLogger('Comm') +import comm +logger = logging.getLogger("Comm") class BaseComm: @@ -35,7 +35,7 @@ _close_data=None, **kwargs, ): - super(BaseComm, self).__init__(**kwargs) + super().__init__(**kwargs) self.comm_id = comm_id if comm_id else uuid.uuid4().hex self.primary = primary @@ -66,7 +66,7 @@ # publishing messages - def open(self, data=None, metadata=None, buffers=None): + def open(self, data=None, metadata=None, buffers=None): # noqa """Open the frontend-side version of this comm""" if data is None: @@ -149,7 +149,7 @@ """Handle a comm_msg message""" logger.debug("handle_msg[%s](%s)", self.comm_id, msg) if self._msg_callback: - from IPython import get_ipython + from IPython import get_ipython # type:ignore shell = get_ipython() if shell: @@ -237,9 +237,7 @@ f(comm, msg) return except Exception: - logger.error( - "Exception opening comm with target: %s", target_name, exc_info=True - ) + logger.error("Exception opening comm with target: %s", target_name, exc_info=True) # Failure. try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/pyproject.toml new/comm-0.1.3/pyproject.toml --- old/comm-0.1.2/pyproject.toml 2022-12-08 13:26:45.000000000 +0100 +++ new/comm-0.1.3/pyproject.toml 2023-03-22 09:20:09.000000000 +0100 @@ -1,5 +1,5 @@ [build-system] -requires = ["hatchling>1.10"] +requires = ["hatchling>=1.10"] build-backend = "hatchling.build" [project] @@ -22,11 +22,11 @@ "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", ] dependencies = [ "traitlets>=5.3", @@ -36,6 +36,13 @@ test = [ "pytest", ] +lint = [ + "black>=22.6.0", + "mdformat>0.7", + "mdformat-gfm>=0.3.5", + "ruff>=0.0.156" +] +typing = ["mypy>=0.990"] [project.urls] Homepage = "https://github.com/ipython/comm" @@ -48,6 +55,74 @@ "/comm", ] +[tool.hatch.envs.test] +features = ["test"] +[tool.hatch.envs.test.scripts] +test = "python -m pytest -vv {args}" +nowarn = "test -W default {args}" + +[tool.hatch.envs.typing] +features = ["typing", "test"] +[tool.hatch.envs.typing.scripts] +test = "mypy --install-types --non-interactive {args:comm tests}" + +[tool.hatch.envs.lint] +features = ["lint"] +[tool.hatch.envs.lint.scripts] +style = [ + "ruff {args:.}", + "black --check --diff {args:.}", + "mdformat --check {args:*.md}" +] +fmt = [ + "black {args:.}", + "ruff --fix {args:.}", + "mdformat {args:*.md}" +] + [tool.pytest.ini_options] addopts = "-raXs --durations 10 --color=yes" filterwarnings = ["error"] + +[tool.mypy] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_untyped_decorators = true +no_implicit_optional = true +no_implicit_reexport = true +pretty = true +show_error_context = true +show_error_codes = true +strict_equality = true +strict_optional = true +warn_unused_configs = true +warn_redundant_casts = true +warn_return_any = true +warn_unused_ignores = true + +[tool.black] +line-length = 100 +skip-string-normalization = true +target-version = ["py37"] + +[tool.ruff] +target-version = "py37" +line-length = 100 +select = [ + "A", "B", "C", "E", "F", "FBT", "I", "N", "Q", "RUF", "S", "T", + "UP", "W", "YTT", +] +ignore = [ + # FBT002 Boolean default value in function definition + "FBT002", "FBT003", +] +unfixable = [ + # Don't touch print statements + "T201", + # Don't touch noqa lines + "RUF100", +] + +[tool.ruff.per-file-ignores] +# S101 Use of `assert` detected +"tests/*" = ["S101"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/comm-0.1.2/tests/test_comm.py new/comm-0.1.3/tests/test_comm.py --- old/comm-0.1.2/tests/test_comm.py 2022-12-08 13:26:45.000000000 +0100 +++ new/comm-0.1.3/tests/test_comm.py 2023-03-22 09:20:09.000000000 +0100 @@ -1,8 +1,7 @@ -from comm.base_comm import CommManager, BaseComm +from comm.base_comm import BaseComm, CommManager class MyComm(BaseComm): - def publish_msg(self, msg_type, data=None, metadata=None, buffers=None, **keys): pass @@ -14,4 +13,4 @@ def test_base_comm(): test = MyComm() - assert test.target_name == "comm" \ No newline at end of file + assert test.target_name == "comm"