Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-ipyevents for
openSUSE:Factory checked in at 2026-02-03 21:34:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ipyevents (Old)
and /work/SRC/openSUSE:Factory/.python-ipyevents.new.1995 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ipyevents"
Tue Feb 3 21:34:14 2026 rev:9 rq:1330721 version:2.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ipyevents/python-ipyevents.changes
2024-03-06 23:05:10.962730115 +0100
+++
/work/SRC/openSUSE:Factory/.python-ipyevents.new.1995/python-ipyevents.changes
2026-02-03 21:35:09.869854036 +0100
@@ -1,0 +2,7 @@
+Mon Dec 1 21:27:51 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 2.0.4:
+ * CI fixes
+ * Fix a number of typos
+
+-------------------------------------------------------------------
Old:
----
ipyevents-2.0.2-gh.tar.gz
ipyevents-2.0.2-py3-none-any.whl
New:
----
ipyevents-2.0.4-gh.tar.gz
ipyevents-2.0.4-py3-none-any.whl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ipyevents.spec ++++++
--- /var/tmp/diff_new_pack.Tear1P/_old 2026-02-03 21:35:10.721889844 +0100
+++ /var/tmp/diff_new_pack.Tear1P/_new 2026-02-03 21:35:10.725890013 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-ipyevents
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,8 @@
#
-%define skip_python39 1
Name: python-ipyevents
-Version: 2.0.2
+Version: 2.0.4
Release: 0
Summary: A custom ipython widget for returning mouse and keyboard events
License: BSD-3-Clause
++++++ ipyevents-2.0.2-gh.tar.gz -> ipyevents-2.0.4-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/.github/workflows/binder-badge.yaml
new/ipyevents-2.0.4/.github/workflows/binder-badge.yaml
--- old/ipyevents-2.0.2/.github/workflows/binder-badge.yaml 2023-08-21
05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/.github/workflows/binder-badge.yaml 2025-09-15
16:03:50.000000000 +0200
@@ -11,13 +11,13 @@
pull-requests: write
steps:
- name: comment on PR with Binder link
- uses: actions/github-script@v6
+ uses: actions/github-script@v8
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
var PR_HEAD_USERREPO = process.env.PR_HEAD_USERREPO;
var PR_HEAD_REF = process.env.PR_HEAD_REF;
- github.issues.createComment({
+ github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/.github/workflows/ci_tests.yaml
new/ipyevents-2.0.4/.github/workflows/ci_tests.yaml
--- old/ipyevents-2.0.2/.github/workflows/ci_tests.yaml 2023-08-21
05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/.github/workflows/ci_tests.yaml 2025-09-15
16:03:50.000000000 +0200
@@ -2,26 +2,33 @@
on:
push:
+ branches:
+ - main
pull_request:
schedule:
# run every Monday at 6am UTC
- cron: '0 6 * * 1'
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
jobs:
ci-tests:
strategy:
- max-parallel: 4
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
+ python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
runs-on: ${{ matrix.platform }}
steps:
- name: Check out repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python }}
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v6
with:
- python-version: 3.9
+ python-version: ${{ matrix.python }}
- name: Install base dependencies
run: |
python -m pip install --upgrade pip
@@ -38,4 +45,3 @@
- name: Run unit ci-tests
run: |
pytest ipyevents
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/CODE_OF_CONDUCT.md
new/ipyevents-2.0.4/CODE_OF_CONDUCT.md
--- old/ipyevents-2.0.2/CODE_OF_CONDUCT.md 2023-08-21 05:26:55.000000000
+0200
+++ new/ipyevents-2.0.4/CODE_OF_CONDUCT.md 2025-09-15 16:03:50.000000000
+0200
@@ -1,3 +1,3 @@
# Code of conduct
-Contributors to this respository are expected to follow the [Python Software
Foundation Code of Conduct](https://www.python.org/psf/conduct/)in their
interactions in pull requests, issues, and other interactions related to this
package.
+Contributors to this repository are expected to follow the [Python Software
Foundation Code of Conduct](https://www.python.org/psf/conduct/)in their
interactions in pull requests, issues, and other interactions related to this
package.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/RELEASE.md
new/ipyevents-2.0.4/RELEASE.md
--- old/ipyevents-2.0.2/RELEASE.md 2023-08-21 05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/RELEASE.md 2025-09-15 16:03:50.000000000 +0200
@@ -2,8 +2,7 @@
+ Update `_version.py` (set release version, remove 'dev'), `package.json` and
`src/version.ts`
+ git add the _version.py file and git commit
-+ `python setup.py sdist`
-+ `python setup.py bdist_wheel`
++ `hatch build`
+ `twine upload dist/ipyevents*`
+ `git tag -a X.X.X -m 'comment'`
+ Update _version.py (add 'dev' and increment minor)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/docs/conf.py
new/ipyevents-2.0.4/docs/conf.py
--- old/ipyevents-2.0.2/docs/conf.py 2023-08-21 05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/docs/conf.py 2025-09-15 16:03:50.000000000 +0200
@@ -22,7 +22,7 @@
author = 'Matt Craig'
# The full version, including alpha/beta/rc tags
-release = '2.0.1'
+release = '2.0.4'
# -- General configuration ---------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/docs/events.ipynb
new/ipyevents-2.0.4/docs/events.ipynb
--- old/ipyevents-2.0.2/docs/events.ipynb 2023-08-21 05:26:55.000000000
+0200
+++ new/ipyevents-2.0.4/docs/events.ipynb 2025-09-15 16:03:50.000000000
+0200
@@ -13,7 +13,7 @@
"source": [
"## What are browser events?\n",
"\n",
- "In a nutshell, they are keyboard or mouse events in the browser. They are
also called _DOM events_, and DOM is short for *Document Object Model*, the
representation of the components of a web page displayed in a browser. When
you interact with something in a browser (like a notebook cell) events
corresponding to keypresses and mouse clicks are generated by the browser and
handled by the notebook's JavaScript. \n",
+ "In a nutshell, they are keyboard or mouse events in the browser. They are
also called _DOM events_, and DOM is short for *Document Object Model*, the
representation of the components of a web page displayed in a browser. When
you interact with something in a browser (like a notebook cell) events
corresponding to key presses and mouse clicks are generated by the browser and
handled by the notebook's JavaScript. \n",
"\n",
"## The `Event` widget\n",
"\n",
@@ -72,7 +72,7 @@
"source": [
"### If you watch keyboard events then key presses are *not* passed on to
the notebook \n",
"\n",
- "This is to prevent the user from, e.g., inadvertantly cutting a cell by
pressing `x` over a widget that is catching key events."
+ "This is to prevent the user from, e.g., inadvertently cutting a cell by
pressing `x` over a widget that is catching key events."
]
},
{
@@ -188,7 +188,7 @@
"+ `touchstart` triggers when the watched element is touched.\n",
"+ `touchend` triggers when the touch point that triggered `touchstart` is
removed from the screen or if the touch moves off the screen.\n",
"+ `touchmove` triggers when one or more of the touch points changes even
if the touch is no longer over the target widget.\n",
- "+ `touchcancel` triggers when something happens to inteerupt the touch
(e.g. a dialog box pops up or there are too many touches on the screen)."
+ "+ `touchcancel` triggers when something happens to interrupt the touch
(e.g. a dialog box pops up or there are too many touches on the screen)."
]
},
{
@@ -255,7 +255,7 @@
"A key-related event has these keys in addition to the common ones
above:\n",
"\n",
"+ `key`: `str`, the key that was pressed. Note that if the shift key was
held down when the key was pressed, and the key pressed was a letter, this will
be an upper case letter.\n",
- "+ `code`: `str`, also indicates the key pressed. the value begins with
the string `Key`. This may contain additional information about the keypress,
for example whether it was the left or right key pressed if the key appears
multiple times on the keyboard.\n",
+ "+ `code`: `str`, also indicates the key pressed. the value begins with
the string `Key`. This may contain additional information about the key press,
for example whether it was the left or right key pressed if the key appears
multiple times on the keyboard.\n",
"+ `location`: `int`, the location of the key on the device (typically
`0`).\n",
"+ `repeat`: `bool`, `True` if this event is the result of a key being
held down.\n",
"\n",
@@ -281,10 +281,10 @@
"These attributes are standard properties of HTML mouse events.\n",
"\n",
"+ `screenX`, `screenY`: Coordinates of the event relative to the user's
whole screen.\n",
- "+ `clientX`, `clientY` and `x`, `y`: Coordinates of the event relateive
to the visible part of the web page in the browser. \n",
+ "+ `clientX`, `clientY` and `x`, `y`: Coordinates of the event relative to
the visible part of the web page in the browser. \n",
"+ `pageX`, `pageY`: Coordinates of the event relative to the top of the
page currently being displayed.\n",
"+ `offsetX`, `offsetY`: Offset of this DOM element relative to its
parents.\n",
- "+ `relativeX`, `relativeY`: The location of the mouse relative to the
current element (i.e. widget). This emulates the functinoality of the
`layerX/Y` attributes implemented in many browsers but not part of any
standard.\n",
+ "+ `relativeX`, `relativeY`: The location of the mouse relative to the
current element (i.e. widget). This emulates the functionality of the
`layerX/Y` attributes implemented in many browsers but not part of any
standard.\n",
"\n",
"### Additional location for some types of widgets\n",
"\n",
@@ -309,12 +309,12 @@
"\n",
"The properties below are useful for things like computing the position of
the mouse in some set of coordinates different than that provided by default.
Using them is an alternative to writing your own widget that includes
JavaScript for computing a custom mouse position and returning it in `dataX`
and `dataY`, described above.\n",
"\n",
- "From the [MDN documentation of bounding
rectangle](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect),
the bounding rectanlge \"is the smallest rectangle which contains the entire
element\"; all values are in pixels.\n",
+ "From the [MDN documentation of bounding
rectangle](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect),
the bounding rectangle \"is the smallest rectangle which contains the entire
element\"; all values are in pixels.\n",
"\n",
"The positions are relative to the part of the page currently visible in
the browser window, which are the same coordinates as `clientX` and `clientY`
for the mouse position.\n",
"\n",
"+ `boundingRectWidth`, `boundingRectHeight`: Width and height of the
element in pixels.\n",
- "+ `boundingRectTop`, `boundingRectLeft`, `boundingRectBottom`,
`boundingRectRight`: Top, left, bottom and right positions of the upper left
and lower right corners of the element, in the same coordiinates as the mouse
position `clientX` and `clientY`."
+ "+ `boundingRectTop`, `boundingRectLeft`, `boundingRectBottom`,
`boundingRectRight`: Top, left, bottom and right positions of the upper left
and lower right corners of the element, in the same coordinates as the mouse
position `clientX` and `clientY`."
]
},
{
@@ -323,7 +323,7 @@
"source": [
"### Mouse scroll events only\n",
"\n",
- "If the event type is `wheel` then these keywords are also part of the
event dictinoary:\n",
+ "If the event type is `wheel` then these keywords are also part of the
event dictionary:\n",
"\n",
"+ `deltaX`: Horizontal scroll amount.\n",
"+ `deltaY`: Vertical scroll amount.\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/ipyevents/_version.py
new/ipyevents-2.0.4/ipyevents/_version.py
--- old/ipyevents-2.0.2/ipyevents/_version.py 2023-08-21 05:26:55.000000000
+0200
+++ new/ipyevents-2.0.4/ipyevents/_version.py 2025-09-15 16:03:50.000000000
+0200
@@ -1,7 +1,7 @@
# What a full version specifier looks like:
# version_info = (0, 0, 1, 'alpha', 0)
-version_info = (2, 0, 1, 'final', 0)
+version_info = (2, 0, 4, 'final', 0)
_specifier_ = {
'dev': 'dev',
@@ -20,4 +20,4 @@
#
# Update this value when attributes are added/removed from
# your models, or serialized format changes.
-EXTENSION_SPEC_VERSION = '2.0.2'
+EXTENSION_SPEC_VERSION = '2.0.4'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/ipyevents/events.py
new/ipyevents-2.0.4/ipyevents/events.py
--- old/ipyevents-2.0.2/ipyevents/events.py 2023-08-21 05:26:55.000000000
+0200
+++ new/ipyevents-2.0.4/ipyevents/events.py 2025-09-15 16:03:50.000000000
+0200
@@ -23,7 +23,7 @@
ignore_modifier_key_events : bool
If ``True``, ignore key presses of modifier keys
('Shift', 'Control', 'Alt', 'Meta'). Useful when keys mouse events
- with modifiers are watched but you want ot ignore the modifiers by
+ with modifiers are watched but you want to ignore the modifiers by
themselves. Default is ``False``.
prevent_default_actions : bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/ipyevents/tests/test_events.py
new/ipyevents-2.0.4/ipyevents/tests/test_events.py
--- old/ipyevents-2.0.2/ipyevents/tests/test_events.py 2023-08-21
05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/ipyevents/tests/test_events.py 2025-09-15
16:03:50.000000000 +0200
@@ -82,7 +82,7 @@
def test_floating_point_wait_raises_error():
- # A floating point value should reaise a TraitletError
+ # A floating point value should raise a TraitletError
event_widget = Event()
with pytest.raises(traitlets.traitlets.TraitError) as e:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/package.json
new/ipyevents-2.0.4/package.json
--- old/ipyevents-2.0.2/package.json 2023-08-21 05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/package.json 2025-09-15 16:03:50.000000000 +0200
@@ -1,6 +1,6 @@
{
"name": "ipyevents",
- "version": "2.0.1",
+ "version": "2.0.4",
"description": "A custom widget for returning mouse and keyboard events to
Python",
"keywords": [
"jupyter",
@@ -36,7 +36,6 @@
"build:labextension:dev": "jupyter labextension build --development True
.",
"build:lib": "tsc",
"build:nbextension": "webpack",
- "build:labextension": "jupyter labextension build .",
"prepublishOnly": "npm run build",
"clean": "npm run clean:lib && npm run clean:nbextension",
"clean:lib": "rimraf lib",
@@ -55,40 +54,40 @@
"@jupyter-widgets/base": "^1.1.10 || ^2 || ^3 || ^4 || ^5 || ^6"
},
"devDependencies": {
- "@babel/core": "^7.5.0",
- "@babel/preset-env": "^7.5.0",
- "@jupyter-widgets/base-manager": "^1.0.2",
- "@jupyterlab/builder": "^3.0.0",
- "@lumino/application": "^1.6.0",
- "@lumino/widgets": "^1.6.0",
- "@types/jest": "^26.0.0",
- "@types/expect.js": "^0.3.29",
- "@types/mocha": "^5.2.5",
- "@types/node": "^10.11.6",
- "@types/webpack-env": "^1.13.6",
+ "@babel/core": "^7.28.4",
+ "@babel/preset-env": "^7.28.3",
+ "@jupyter-widgets/base-manager": "^1.0.12",
+ "@jupyterlab/builder": "^4.4.7",
+ "@lumino/application": "^2.4.4",
+ "@lumino/widgets": "^2.7.1",
+ "@types/expect.js": "^0.3.32",
+ "@types/jest": "^30.0.0",
+ "@types/mocha": "^10.0.10",
+ "@types/node": "^24.3.2",
+ "@types/webpack-env": "^1.18.8",
+ "@typescript-eslint/eslint-plugin": "^8.43.0",
+ "@typescript-eslint/parser": "^8.43.0",
+ "acorn": "^8.15.0",
+ "css-loader": "^7.1.2",
+ "eslint": "^9.35.0",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-prettier": "^5.5.4",
"expect.js": "^0.3.1",
- "@typescript-eslint/eslint-plugin": "^3.6.0",
- "@typescript-eslint/parser": "^3.6.0",
- "acorn": "^7.2.0",
- "css-loader": "^3.2.0",
- "eslint": "^7.4.0",
- "eslint-config-prettier": "^6.11.0",
- "eslint-plugin-prettier": "^3.1.4",
- "fs-extra": "^7.0.0",
+ "fs-extra": "^11.3.1",
"identity-obj-proxy": "^3.0.0",
- "jest": "^26.0.0",
- "mkdirp": "^0.5.1",
- "mocha": "^10.2.0",
- "npm-run-all": "^4.1.3",
- "prettier": "^2.0.5",
- "rimraf": "^2.6.2",
- "source-map-loader": "^1.1.3",
- "style-loader": "^1.0.0",
- "ts-jest": "^26.0.0",
- "ts-loader": "^8.0.0",
- "typescript": "~4.1.3",
- "webpack": "^5.61.0",
- "webpack-cli": "^4.0.0"
+ "jest": "^30.1.3",
+ "mkdirp": "^3.0.1",
+ "mocha": "^11.7.2",
+ "npm-run-all": "^4.1.5",
+ "prettier": "^3.6.2",
+ "rimraf": "^6.0.1",
+ "source-map-loader": "^5.0.0",
+ "style-loader": "^4.0.0",
+ "ts-jest": "^29.4.1",
+ "ts-loader": "^9.5.4",
+ "typescript": "~5.9.2",
+ "webpack": "^5.101.3",
+ "webpack-cli": "^6.0.1"
},
"jupyterlab": {
"extension": "lib/plugin",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/pyproject.toml
new/ipyevents-2.0.4/pyproject.toml
--- old/ipyevents-2.0.2/pyproject.toml 2023-08-21 05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/pyproject.toml 2025-09-15 16:03:50.000000000 +0200
@@ -1,7 +1,7 @@
[build-system]
requires = [
"hatchling",
- "jupyterlab==3.*",
+ "jupyterlab==4.*",
]
build-backend = "hatchling.build"
@@ -10,8 +10,7 @@
description = "A custom widget for returning mouse and keyboard events to
Python"
readme = "README.md"
license = {text = "BSD 3-clause"}
-lincense_files = ["LICENSE.md"]
-requires-python = ">=3.6"
+requires-python = ">=3.9"
authors = [
{ name = "Matt Craig", email = "[email protected]" },
]
@@ -27,15 +26,16 @@
"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",
+ "Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
]
dependencies = [
"ipywidgets>=7.6.0",
]
-version = "2.0.2"
+version = "2.0.4"
[project.optional-dependencies]
docs = [
@@ -89,7 +89,7 @@
]
[tool.tbump.version]
-current = "2.0.2"
+current = "2.0.4"
regex =
"(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)((?P<channel>a|b|rc|.dev)(?P<release>\\d+))?"
[tool.tbump.git]
@@ -104,5 +104,5 @@
src = "ipyevents/_version.py"
[[tool.tbump.file]]
-src = "src/version.ts"
-version_template = "const EXTENSION_SPEC_VERSION =
'{major}.{minor}.{patch}{channel}{release}'"
+src = "package.json"
+version_template = "\"version\": \"{major}.{minor}.{patch}{channel}{release}\""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/src/version.ts
new/ipyevents-2.0.4/src/version.ts
--- old/ipyevents-2.0.2/src/version.ts 2023-08-21 05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/src/version.ts 2025-09-15 16:03:50.000000000 +0200
@@ -7,4 +7,4 @@
* your models, or serialized format changes.
*/
export
-const EXTENSION_SPEC_VERSION = '2.0.2';
+const EXTENSION_SPEC_VERSION = '2.0.4';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ipyevents-2.0.2/tsconfig.json
new/ipyevents-2.0.4/tsconfig.json
--- old/ipyevents-2.0.2/tsconfig.json 2023-08-21 05:26:55.000000000 +0200
+++ new/ipyevents-2.0.4/tsconfig.json 2025-09-15 16:03:50.000000000 +0200
@@ -2,7 +2,7 @@
"compilerOptions": {
"declaration": true,
"esModuleInterop":true,
- "lib": ["es2015", "dom"],
+ "lib": ["es2017", "dom"],
"module": "commonjs",
"moduleResolution": "node",
"noEmitOnError": true,
@@ -13,7 +13,7 @@
"skipLibCheck": true,
"sourceMap": true,
"strict": false,
- "target": "es2015"
+ "target": "es2017"
},
"include": [
"src/**/*.ts",