commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2026-02-24 18:31:30
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.1977 (New)
Package is "python-evdev"
Tue Feb 24 18:31:30 2026 rev:20 rq:1334799 version:1.9.3
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2025-05-09 18:51:45.206062114 +0200
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.1977/python-evdev.changes
2026-02-24 18:31:50.725360604 +0100
@@ -1,0 +2,9 @@
+Tue Feb 24 13:43:09 UTC 2026 - John Paul Adrian Glaubitz
+
+- Update to 1.9.3
+ * Fix several memory leaks in ``input.c``.
+ * Raise the minimum supported Python version to 3.9
+and the setuptools version to 77.0.
+- Update BuildRequires from pyproject.toml
+
+---
Old:
python-evdev-1.9.2.tar.gz
New:
python-evdev-1.9.3.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.OHDa6X/_old 2026-02-24 18:31:51.477391922 +0100
+++ /var/tmp/diff_new_pack.OHDa6X/_new 2026-02-24 18:31:51.481392088 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-evdev
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 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
@@ -19,7 +19,7 @@
%define modname evdev
%{?sle15_python_module_pythons}
Name: python-evdev
-Version:1.9.2
+Version:1.9.3
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
@@ -30,7 +30,7 @@
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module setuptools >= 61.0}
+BuildRequires: %{python_module setuptools >= 77.0}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++ python-evdev-1.9.2.tar.gz -> python-evdev-1.9.3.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.9.2/.github/workflows/install.yaml
new/python-evdev-1.9.3/.github/workflows/install.yaml
--- old/python-evdev-1.9.2/.github/workflows/install.yaml 2025-05-01
21:15:19.0 +0200
+++ new/python-evdev-1.9.3/.github/workflows/install.yaml 2026-02-05
22:46:48.0 +0100
@@ -11,15 +11,15 @@
fail-fast: false
matrix:
os: [ubuntu-latest]
-python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
+python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
include:
- os: ubuntu-latest
-python-version: "3.8"
+python-version: "3.9"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
-uses: actions/setup-python@v5
+uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.9.2/.github/workflows/lint.yml
new/python-evdev-1.9.3/.github/workflows/lint.yml
--- old/python-evdev-1.9.2/.github/workflows/lint.yml 2025-05-01
21:15:19.0 +0200
+++ new/python-evdev-1.9.3/.github/workflows/lint.yml 2026-02-05
22:46:48.0 +0100
@@ -11,12 +11,12 @@
fail-fast: false
matrix:
os: [ubuntu-latest]
-python-version: ["3.12"]
+python-version: ["3.14"]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
-uses: actions/setup-python@v5
+uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.9.2/.github/workflows/test.yml
new/python-evdev-1.9.3/.github/workflows/test.yml
--- old/python-evdev-1.9.2/.github/workflows/test.yml 2025-05-01
21:15:19.0 +0200
+++ new/python-evdev-1.9.3/.github/workflows/test.yml 2026-02-05
22:46:48.0 +0100
@@ -11,12 +11,12 @@
fail-fast: false
matrix:
os: [ubuntu-latest]
-python-version: ["3.12"]
+python-version: ["3.14"]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- name: Set up Python ${{ matrix.p
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2025-05-09 18:48:49
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.30101 (New)
Package is "python-evdev"
Fri May 9 18:48:49 2025 rev:19 rq:1275919 version:1.9.2
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2025-02-22 19:06:25.078452532 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.30101/python-evdev.changes
2025-05-09 18:51:45.206062114 +0200
@@ -1,0 +2,7 @@
+Thu May 1 20:11:01 UTC 2025 - Matthias Bach - 1.9.2
+
+- Update to 1.9.2
+ * Use Generic to set precise type for InputDevice.path.
+ * Allow supressing build-dependent information in ecodes.c.
+
+---
Old:
python-evdev-1.9.1.tar.gz
New:
python-evdev-1.9.2.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.Mmhz2J/_old 2025-05-09 18:51:45.646080507 +0200
+++ /var/tmp/diff_new_pack.Mmhz2J/_new 2025-05-09 18:51:45.650080674 +0200
@@ -19,7 +19,7 @@
%define modname evdev
%{?sle15_python_module_pythons}
Name: python-evdev
-Version:1.9.1
+Version:1.9.2
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
++ python-evdev-1.9.1.tar.gz -> python-evdev-1.9.2.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.9.1/docs/changelog.rst
new/python-evdev-1.9.2/docs/changelog.rst
--- old/python-evdev-1.9.1/docs/changelog.rst 2025-02-22 12:04:37.0
+0100
+++ new/python-evdev-1.9.2/docs/changelog.rst 2025-05-01 21:15:19.0
+0200
@@ -1,8 +1,28 @@
Changelog
-
+
+1.9.2 (May 01, 2025)
+
+
+- Add the "--reproducible" build option which removes the build date and used
headers from the
+ generated ``ecodes.c``. Example usage::
+
+python -m build --config-setting=--build-option='build_ecodes
--reproducible' -n
+
+- Use ``Generic`` to set precise type for ``InputDevice.path``.
+
+
+1.9.1 (Feb 22, 2025)
+
+
+- Fix fox missing ``UI_FF`` constants in generated ``ecodes.py``.
+
+- More type annotations.
+
+
1.9.0 (Feb 08, 2025)
-==
+
- Fix for ``CPATH/C_INCLUDE_PATH`` being ignored during build.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.9.1/docs/conf.py
new/python-evdev-1.9.2/docs/conf.py
--- old/python-evdev-1.9.1/docs/conf.py 2025-02-22 12:04:37.0 +0100
+++ new/python-evdev-1.9.2/docs/conf.py 2025-05-01 21:15:19.0 +0200
@@ -65,7 +65,7 @@
# built documents.
#
# The full version, including alpha/beta/rc tags.
-release = "1.9.1"
+release = "1.9.2"
# The short X.Y version.
version = release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.9.1/pyproject.toml
new/python-evdev-1.9.2/pyproject.toml
--- old/python-evdev-1.9.1/pyproject.toml 2025-02-22 12:04:37.0
+0100
+++ new/python-evdev-1.9.2/pyproject.toml 2025-05-01 21:15:19.0
+0200
@@ -4,7 +4,7 @@
[project]
name = "evdev"
-version = "1.9.1"
+version = "1.9.2"
description = "Bindings to the Linux input handling subsystem"
keywords = ["evdev", "input", "uinput"]
readme = "README.md"
@@ -36,7 +36,7 @@
ignore = ["E265", "E241", "F403", "F401", "E401", "E731"]
[tool.bumpversion]
-current_version = "1.9.1"
+current_version = "1.9.2"
commit = true
tag = true
allow_dirty = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.9.1/setup.py
new/python-evdev-1.9.2/setup.py
--- old/python-evdev-1.9.1/setup.py 2025-02-22 12:04:37.0 +0100
+++ new/python-evdev-1.9.2/setup.py 2025-05-01 21:15:19.0 +0200
@@ -14,7 +14,7 @@
ecodes_c_path = curdir / "src/evdev/ecodes.c"
-def create_ecodes(headers=None):
+def create_ecodes(headers=None, reproducible=False):
if not headers:
include_paths = set()
cpath = os.environ.get("CPATH", "").strip()
@@ -65,7 +65,10 @@
print("writing %s (using %s)" % (ecodes_c_path, " ".join(headers)))
with ecodes_c_path.open("w") as fh:
-cmd = [sys.executable, "src/evdev/genecodes_c.py", "--ecodes",
*headers]
+cmd = [sys.executable, "src/evdev/genecodes_c.py"]
+if reproducible:
+cmd.append("--reproducible")
+cmd.extend(["--ecodes", *headers])
run(cmd, chec
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2025-02-11 21:23:26
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.19470 (New)
Package is "python-evdev"
Tue Feb 11 21:23:26 2025 rev:17 rq:1244849 version:1.9.0
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2025-01-30 14:52:22.156328810 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.19470/python-evdev.changes
2025-02-11 21:24:49.742758703 +0100
@@ -1,0 +2,10 @@
+Mon Feb 10 19:03:30 UTC 2025 - Matthias Bach - 1.9.0
+
+- Update to 1.9.0
+ * Slightly faster reading of events in device.read() and
+device.read_one().
+ * Drop deprecated InputDevice.fn (use InputDevice.path instead).
+ * Improve type hint coverage and add a py.typed file.
+- Remove fix-tests.patch as it was included upstream.
+
+---
Old:
fix-tests.patch
python-evdev-1.8.0.tar.gz
New:
python-evdev-1.9.0.tar.gz
BETA DEBUG BEGIN:
Old: * Improve type hint coverage and add a py.typed file.
- Remove fix-tests.patch as it was included upstream.
BETA DEBUG END:
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.KfNQVu/_old 2025-02-11 21:24:52.194860081 +0100
+++ /var/tmp/diff_new_pack.KfNQVu/_new 2025-02-11 21:24:52.194860081 +0100
@@ -19,7 +19,7 @@
%define modname evdev
%{?sle15_python_module_pythons}
Name: python-evdev
-Version:1.8.0
+Version:1.9.0
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
@@ -27,7 +27,6 @@
URL:https://github.com/gvalkov/python-evdev
# Source needs to be pulled form Github as the source distribution on PyPI
lacks the test directory
Source:
https://github.com/gvalkov/python-evdev/archive/refs/tags/v%{version}.tar.gz#/python-evdev-%{version}.tar.gz
-Patch0: fix-tests.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
++ python-evdev-1.8.0.tar.gz -> python-evdev-1.9.0.tar.gz ++
6605 lines of diff (skipped)
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2025-01-30 14:52:15
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.2316 (New)
Package is "python-evdev"
Thu Jan 30 14:52:15 2025 rev:16 rq:1241259 version:1.8.0
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2024-05-10 12:06:32.748557642 +0200
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.2316/python-evdev.changes
2025-01-30 14:52:22.156328810 +0100
@@ -1,0 +2,18 @@
+Wed Jan 29 19:36:45 UTC 2025 - Matthias Bach - 1.8.0
+
+- Update to 1.8.0
+ * The evdev.ecodes module is now generated at install time and
+contains only constants. This allows type checking and
+introspection of the evdev.ecodes module, without having to
+execute it first. The old module is available as
+evdev.ecodes_runtime.
+ * Reverse mappings in evdev.ecodes that point to more than one
+value are now tuples instead of lists.
+ * Fix keyboard delay and repeat being swapped.
+ * Move the syn() convenience method from InputDevice to EventIO.
+- Add fix-tests.patch to pull in test fixes that upstream only
+ included after tagging their release.
+- Switch source download during packaging from disabledrun to
+ manualrun.
+
+---
Old:
python-evdev-1.7.1.tar.gz
New:
fix-tests.patch
python-evdev-1.8.0.tar.gz
BETA DEBUG BEGIN:
New: * Move the syn() convenience method from InputDevice to EventIO.
- Add fix-tests.patch to pull in test fixes that upstream only
included after tagging their release.
BETA DEBUG END:
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.TwN701/_old 2025-01-30 14:52:23.120368575 +0100
+++ /var/tmp/diff_new_pack.TwN701/_new 2025-01-30 14:52:23.124368740 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-evdev
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define modname evdev
%{?sle15_python_module_pythons}
Name: python-evdev
-Version:1.7.1
+Version:1.8.0
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
@@ -27,6 +27,7 @@
URL:https://github.com/gvalkov/python-evdev
# Source needs to be pulled form Github as the source distribution on PyPI
lacks the test directory
Source:
https://github.com/gvalkov/python-evdev/archive/refs/tags/v%{version}.tar.gz#/python-evdev-%{version}.tar.gz
+Patch0: fix-tests.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
++ _service ++
--- /var/tmp/diff_new_pack.TwN701/_old 2025-01-30 14:52:23.152369895 +0100
+++ /var/tmp/diff_new_pack.TwN701/_new 2025-01-30 14:52:23.156370060 +0100
@@ -1,4 +1,4 @@
-
+
++ fix-tests.patch ++
From: Georgi Valkov
Date: Sat, 25 Jan 2025 18:04:39 +0100
Subject: [PATCH] Fix tests
Upstream: merged
This is pulled from upstream main branch where it was committed right after the
release.
---
tests/test_util.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_util.py b/tests/test_util.py
index 5a979df..7112927 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -6,7 +6,7 @@ def test_match_ecodes_a():
assert res == {1: [372, 418, 419, 420]}
assert dict(util.resolve_ecodes_dict(res)) == {
("EV_KEY", 1): [
-(["KEY_FULL_SCREEN", "KEY_ZOOM"], 372),
+(("KEY_FULL_SCREEN", "KEY_ZOOM"), 372),
("KEY_ZOOMIN", 418),
("KEY_ZOOMOUT", 419),
("KEY_ZOOMRESET", 420),
++ python-evdev-1.7.1.tar.gz -> python-evdev-1.8.0.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.7.1/.github/workflows/install.yaml
new/python-evdev-1.8.0/.github/workflows/install.yaml
--- old/python-evdev-1.7.1/.github/workflows/install.yaml 2024-05-08
01:01:20.0 +0200
+++ new/python-evdev-1.8.0/.github/workflows/install.yaml 2025-01-25
17:37:33.0 +0100
@@ -11,10 +11,10 @@
fail-fast: false
matrix:
os: [ubuntu-latest]
-python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
+python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
include:
- os: ubuntu-latest
-
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2024-05-10 12:05:23
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.1880 (New)
Package is "python-evdev"
Fri May 10 12:05:23 2024 rev:15 rq:1172973 version:1.7.1
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2024-02-20 21:15:08.447630768 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.1880/python-evdev.changes
2024-05-10 12:06:32.748557642 +0200
@@ -1,0 +2,6 @@
+Thu May 9 09:18:42 UTC 2024 - Matthias Bach - 1.7.1
+
+- Update to 1.7.1
+ * Wait up to two seconds for uinput devices to appear.
+
+---
Old:
python-evdev-1.7.0.tar.gz
New:
python-evdev-1.7.1.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.DZ218Y/_old 2024-05-10 12:06:33.320578485 +0200
+++ /var/tmp/diff_new_pack.DZ218Y/_new 2024-05-10 12:06:33.320578485 +0200
@@ -19,7 +19,7 @@
%define modname evdev
%{?sle15_python_module_pythons}
Name: python-evdev
-Version:1.7.0
+Version:1.7.1
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
++ python-evdev-1.7.0.tar.gz -> python-evdev-1.7.1.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.7.0/README.md
new/python-evdev-1.7.1/README.md
--- old/python-evdev-1.7.0/README.md1970-01-01 01:00:00.0 +0100
+++ new/python-evdev-1.7.1/README.md2024-05-08 01:01:20.0 +0200
@@ -0,0 +1,27 @@
+# evdev
+
+
+https://pypi.python.org/pypi/evdev";>https://img.shields.io/pypi/v/evdev.svg";>
+https://github.com/gvalkov/python-evdev/blob/main/LICENSE";>https://img.shields.io/pypi/l/evdev";>
+
+
+This package provides bindings to the generic input event interface in Linux.
+The *evdev* interface serves the purpose of passing events generated in the
+kernel directly to userspace through character devices that are typically
+located in `/dev/input/`.
+
+This package also comes with bindings to *uinput*, the userspace input
+subsystem. *Uinput* allows userspace programs to create and handle input
devices
+that can inject events directly into the input subsystem.
+
+***Documentation:***
+https://python-evdev.readthedocs.io/en/latest/
+
+***Development:***
+https://github.com/gvalkov/python-evdev
+
+***Package:***
+https://pypi.python.org/pypi/evdev
+
+***Changelog:***
+https://python-evdev.readthedocs.io/en/latest/changelog.html
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.7.0/README.rst
new/python-evdev-1.7.1/README.rst
--- old/python-evdev-1.7.0/README.rst 2024-02-18 22:15:40.0 +0100
+++ new/python-evdev-1.7.1/README.rst 1970-01-01 01:00:00.0 +0100
@@ -1,24 +0,0 @@
-*evdev*
-
-This package provides bindings to the generic input event interface in
-Linux. The *evdev* interface serves the purpose of passing events
-generated in the kernel directly to userspace through character
-devices that are typically located in ``/dev/input/``.
-
-This package also comes with bindings to *uinput*, the userspace input
-subsystem. *Uinput* allows userspace programs to create and handle
-input devices that can inject events directly into the input
-subsystem.
-
-Documentation:
-https://python-evdev.readthedocs.io/en/latest/
-
-Development:
-https://github.com/gvalkov/python-evdev
-
-Package:
-https://pypi.python.org/pypi/evdev
-
-Changelog:
-https://python-evdev.readthedocs.io/en/latest/changelog.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.7.0/docs/changelog.rst
new/python-evdev-1.7.1/docs/changelog.rst
--- old/python-evdev-1.7.0/docs/changelog.rst 2024-02-18 22:15:40.0
+0100
+++ new/python-evdev-1.7.1/docs/changelog.rst 2024-05-08 01:01:20.0
+0200
@@ -1,6 +1,16 @@
Changelog
-
+1.7.1 (May 8, 2024)
+
+
+- Provide fallback value for ``FF_MAX_EFFECTS``, which fixes the build on EL 7
(#219).
+
+- Add ``#ifdef`` guards around ``UI_GET_SYSNAME`` to improve kernel
compatibility (#218) .
+
+- Wait up to two seconds for uinput devices to appear. (#215)
+
+
1.7.0 (Feb 18, 2024)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.7.0/docs/conf.py
new/python-evdev-1.7.1/docs/conf.py
---
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2024-02-20 21:14:54
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.1706 (New)
Package is "python-evdev"
Tue Feb 20 21:14:54 2024 rev:14 rq:1147703 version:1.7.0
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2023-07-13 17:17:42.964822533 +0200
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.1706/python-evdev.changes
2024-02-20 21:15:08.447630768 +0100
@@ -1,0 +2,10 @@
+Mon Feb 19 18:59:44 UTC 2024 - Matthias Bach - 1.7.0
+
+- Update to 1.7.0
+ * Add the uniq address to the string representation of InputDevice.
+ * Improved method for finding the device node corresponding to a
+uinput device
+- Adjust package build to upstream's switch to pyproject.toml.
+- Drop obsolete Leap 15.3 compatiblity handling in spec file.
+
+---
Old:
python-evdev-1.6.1.tar.gz
New:
python-evdev-1.7.0.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.6TcJxU/_old 2024-02-20 21:15:08.919649084 +0100
+++ /var/tmp/diff_new_pack.6TcJxU/_new 2024-02-20 21:15:08.919649084 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-evdev
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define modname evdev
%{?sle15_python_module_pythons}
Name: python-evdev
-Version:1.6.1
+Version:1.7.0
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
@@ -28,8 +28,10 @@
# Source needs to be pulled form Github as the source distribution on PyPI
lacks the test directory
Source:
https://github.com/gvalkov/python-evdev/archive/refs/tags/v%{version}.tar.gz#/python-evdev-%{version}.tar.gz
BuildRequires: %{python_module devel}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module setuptools >= 61.0}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%python_subpackages
@@ -49,17 +51,14 @@
%autosetup -p1
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}/%{$python_sitearch}
+%python_expand rm %{buildroot}/%{$python_sitearch}/%{modname}/*.c
%check
-%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
-# Work around broken pytest macro on Leap 15.3
-PYTHONPATH=dummy
-%endif
%pytest_arch tests -k 'not test_uinput'
%files %{python_files}
++ python-evdev-1.6.1.tar.gz -> python-evdev-1.7.0.tar.gz ++
3246 lines of diff (skipped)
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2023-07-13 17:17:42
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.8922 (New)
Package is "python-evdev"
Thu Jul 13 17:17:42 2023 rev:13 rq:1098387 version:1.6.1
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2023-01-24 20:31:30.976115932 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.8922/python-evdev.changes
2023-07-13 17:17:42.964822533 +0200
@@ -1,0 +2,5 @@
+Wed Jul 12 12:35:05 UTC 2023 - ecsos
+
+- Add %{?sle15_python_module_pythons}
+
+---
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.HNPQfC/_old 2023-07-13 17:17:43.508825743 +0200
+++ /var/tmp/diff_new_pack.HNPQfC/_new 2023-07-13 17:17:43.512825767 +0200
@@ -17,7 +17,7 @@
%define modname evdev
-%define skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-evdev
Version:1.6.1
Release:0
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2023-01-24 19:42:52
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.32243 (New)
Package is "python-evdev"
Tue Jan 24 19:42:52 2023 rev:12 rq:1060464 version:1.6.1
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2022-07-21 11:35:37.123079370 +0200
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.32243/python-evdev.changes
2023-01-24 20:31:30.976115932 +0100
@@ -1,0 +2,9 @@
+Mon Jan 23 14:25:52 UTC 2023 - Matthias Bach - 1.6.1
+
+- Update to 1.6.1
+ * No changelog was made available.
+- Fix source URL as upstream no longer creates Github releases but
+ only tags.
+- Add a _service file for easier source download.
+
+---
Old:
python-evdev-1.6.0.tar.gz
New:
_service
python-evdev-1.6.1.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.Kjt5hS/_old 2023-01-24 20:31:31.672119615 +0100
+++ /var/tmp/diff_new_pack.Kjt5hS/_new 2023-01-24 20:31:31.676119637 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-evdev
#
-# 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
@@ -19,14 +19,14 @@
%define modname evdev
%define skip_python2 1
Name: python-evdev
-Version:1.6.0
+Version:1.6.1
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
Group: Development/Languages/Python
URL:https://github.com/gvalkov/python-evdev
# Source needs to be pulled form Github as the source distribution on PyPI
lacks the test directory
-Source:
https://github.com/gvalkov/python-evdev/archive/v%{version}.tar.gz#/python-evdev-%{version}.tar.gz
+Source:
https://github.com/gvalkov/python-evdev/archive/refs/tags/v%{version}.tar.gz#/python-evdev-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
++ _service ++
++ python-evdev-1.6.0.tar.gz -> python-evdev-1.6.1.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.6.0/LICENSE
new/python-evdev-1.6.1/LICENSE
--- old/python-evdev-1.6.0/LICENSE 2022-07-17 23:22:58.0 +0200
+++ new/python-evdev-1.6.1/LICENSE 2023-01-20 16:15:19.0 +0100
@@ -1,4 +1,4 @@
-Copyright (c) 2012-2016 Georgi Valkov. All rights reserved.
+Copyright (c) 2012-2023 Georgi Valkov. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.6.0/docs/changelog.rst
new/python-evdev-1.6.1/docs/changelog.rst
--- old/python-evdev-1.6.0/docs/changelog.rst 2022-07-17 23:22:58.0
+0200
+++ new/python-evdev-1.6.1/docs/changelog.rst 2023-01-20 16:15:19.0
+0100
@@ -1,6 +1,12 @@
Changelog
-
+1.6.1 (Jan 20, 2023)
+==
+
+- Fix generation of ``ecodes.c`` when the path to sys.executable``
contains spaces.
+
+
1.6.0 (Jul 17, 2022)
==
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.6.0/docs/conf.py
new/python-evdev-1.6.1/docs/conf.py
--- old/python-evdev-1.6.0/docs/conf.py 2022-07-17 23:22:58.0 +0200
+++ new/python-evdev-1.6.1/docs/conf.py 2023-01-20 16:15:19.0 +0100
@@ -61,7 +61,7 @@
# built documents.
#
# The full version, including alpha/beta/rc tags.
-release = '1.6.0'
+release = '1.6.1'
# The short X.Y version.
version = release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.6.0/docs/tutorial.rst
new/python-evdev-1.6.1/docs/tutorial.rst
--- old/python-evdev-1.6.0/docs/tutorial.rst2022-07-17 23:22:58.0
+0200
+++ new/python-evdev-1.6.1/docs/tutorial.rst2023-01-20 16:15:19.0
+0100
@@ -445,7 +445,7 @@
ecodes.FF_RUMBLE, -1, 0,
ff.Trigger(0, 0),
ff.Replay(duration_ms, 0),
-ff.EffectType(ff_rumble_effect=rumble)
+effect_type
)
repeat_count = 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/p
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2022-07-21 11:35:20
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.1523 (New)
Package is "python-evdev"
Thu Jul 21 11:35:20 2022 rev:11 rq:990453 version:1.6.0
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2022-03-26 22:31:20.313976028 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.1523/python-evdev.changes
2022-07-21 11:35:37.123079370 +0200
@@ -1,0 +2,7 @@
+Wed Jul 20 20:11:21 UTC 2022 - Matthias Bach - 1.6.0
+
+- Update to 1.6.0
+ * Fix Python 3.11 compatibility
+- Drop packaging for Python 2
+
+---
Old:
v1.5.0.tar.gz
New:
python-evdev-1.6.0.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.Tvn6Ts/_old 2022-07-21 11:35:37.599079839 +0200
+++ /var/tmp/diff_new_pack.Tvn6Ts/_new 2022-07-21 11:35:37.599079839 +0200
@@ -17,15 +17,16 @@
%define modname evdev
+%define skip_python2 1
Name: python-evdev
-Version:1.5.0
+Version:1.6.0
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
Group: Development/Languages/Python
URL:https://github.com/gvalkov/python-evdev
# Source needs to be pulled form Github as the source distribution on PyPI
lacks the test directory
-Source:
https://github.com/gvalkov/python-evdev/archive/v%{version}.tar.gz
+Source:
https://github.com/gvalkov/python-evdev/archive/v%{version}.tar.gz#/python-evdev-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2022-03-26 22:31:07
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.1900 (New)
Package is "python-evdev"
Sat Mar 26 22:31:07 2022 rev:10 rq:965009 version:1.5.0
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2022-01-17 22:35:30.782302024 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.1900/python-evdev.changes
2022-03-26 22:31:20.313976028 +0100
@@ -1,0 +2,9 @@
+Sat Mar 26 11:04:09 UTC 2022 - Matthias Bach - 1.5.0
+
+- Update to 1.5.0
+ * Input device is now closed from main thread in
+InputDevice.close()
+ * util.find_ecodes_by_regex now works across all Python versions
+- Drop evdev-re-Pattern.patch now included upstream
+
+---
Old:
evdev-re-Pattern.patch
v1.4.0.tar.gz
New:
v1.5.0.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.lJHlFQ/_old 2022-03-26 22:31:20.941976888 +0100
+++ /var/tmp/diff_new_pack.lJHlFQ/_new 2022-03-26 22:31:20.945976894 +0100
@@ -18,7 +18,7 @@
%define modname evdev
Name: python-evdev
-Version:1.4.0
+Version:1.5.0
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
@@ -26,8 +26,6 @@
URL:https://github.com/gvalkov/python-evdev
# Source needs to be pulled form Github as the source distribution on PyPI
lacks the test directory
Source:
https://github.com/gvalkov/python-evdev/archive/v%{version}.tar.gz
-# PATCH-FIX-UPSTREAM evdev-re-Pattern.patch -- gh#gvalkov/python-evdev#152
-Patch1: evdev-re-Pattern.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
++ v1.4.0.tar.gz -> v1.5.0.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.4.0/docs/changelog.rst
new/python-evdev-1.5.0/docs/changelog.rst
--- old/python-evdev-1.4.0/docs/changelog.rst 2021-01-16 14:50:51.0
+0100
+++ new/python-evdev-1.5.0/docs/changelog.rst 2022-03-24 01:29:19.0
+0100
@@ -1,6 +1,22 @@
Changelog
-
+1.5.0 (Mar 24, 2022)
+==
+
+- Fix documentation (`#163
`_, `#160
`_).
+
+- Re-enable TTY echo at evtest exit (`#155
`_).
+
+- Fix ``ImportError: sys.meta_path is None, Python is likely shutting down``
(`#154 `_).
+
+- Closing the input device file descriptor in ``InputDevice.close()`` now
+ happens in the main thread, instead of in a new thread (reverts `#146
+ `_).
+
+- Fix ``util.find_ecodes_by_regex`` not working across all supported Python
versions (`#152 `_).
+
+
1.4.0 (Jan 16, 2021)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.4.0/docs/conf.py
new/python-evdev-1.5.0/docs/conf.py
--- old/python-evdev-1.4.0/docs/conf.py 2021-01-16 14:50:51.0 +0100
+++ new/python-evdev-1.5.0/docs/conf.py 2022-03-24 01:29:19.0 +0100
@@ -31,10 +31,11 @@
# Add any Sphinx extension module names here, as strings. They can be
extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
- 'sphinx.ext.autodoc',
- 'sphinx.ext.viewcode',
- 'sphinx.ext.intersphinx',
- 'sphinx.ext.napoleon',
+'sphinx.ext.autodoc',
+'sphinx.ext.viewcode',
+'sphinx.ext.intersphinx',
+'sphinx.ext.napoleon',
+'sphinx_copybutton',
]
autodoc_member_order = 'bysource'
@@ -53,14 +54,14 @@
# General information about the project.
project = u'python-evdev'
-copyright = u'2012-2016, Georgi Valkov'
+copyright = u'2012-2022, Georgi Valkov'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The full version, including alpha/beta/rc tags.
-release = '1.4.0'
+release = '1.5.0'
# The short X.Y version.
version = release
@@ -258,3 +259,8 @@
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
+
+# Copybutton config
+#copybutton_prompt_text = r">>> "
+#cop
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2022-01-17 22:34:32
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.1892 (New)
Package is "python-evdev"
Mon Jan 17 22:34:32 2022 rev:9 rq:947059 version:1.4.0
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2021-04-12 12:39:48.169539341 +0200
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.1892/python-evdev.changes
2022-01-17 22:35:30.782302024 +0100
@@ -1,0 +2,5 @@
+Mon Jan 10 20:16:20 UTC 2022 - Matthias Bach
+
+- Work around broken pytest macro on Leap 15.3
+
+---
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.6heKeC/_old 2022-01-17 22:35:31.118302247 +0100
+++ /var/tmp/diff_new_pack.6heKeC/_new 2022-01-17 22:35:31.122302249 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-evdev
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -57,6 +57,10 @@
%python_expand %fdupes %{buildroot}/%{$python_sitearch}
%check
+%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
+# Work around broken pytest macro on Leap 15.3
+PYTHONPATH=dummy
+%endif
%pytest_arch tests -k 'not test_uinput'
%files %{python_files}
commit python-evdev for openSUSE:Factory
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-evdev for openSUSE:Factory
checked in at 2021-04-12 12:36:56
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
and /work/SRC/openSUSE:Factory/.python-evdev.new.2401 (New)
Package is "python-evdev"
Mon Apr 12 12:36:56 2021 rev:8 rq:884194 version:1.4.0
Changes:
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes
2021-01-01 21:14:07.735414066 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.2401/python-evdev.changes
2021-04-12 12:39:48.169539341 +0200
@@ -1,0 +2,19 @@
+Fri Apr 9 20:28:30 UTC 2021 - Ben Greiner
+
+- Add evdev-re-Pattern.patch -- gh#gvalkov/python-evdev#152
+
+---
+Sat Jan 23 01:05:35 UTC 2021 - Dirk M??ller
+
+- update to 1.4.0:
+- Fix ``InputDevice.set_absinfo`` to allow setting parameters to zero.
+- Fix off-by-one in ``ioctl_EVIOCG_bits``, which causes value at the end of the
+ list to not be reported back
+- Fix ``set_absinfo`` to allow setting parameters to zero
+- Fix leak when returning ``BlockingIOError`` from a read
+- Fix "There is no current event loop in thread" error for non asyncio code
+- Prevent ``InputDevice`` destructor from blocking
+- Add missing return codes to ``os.strerror()`` calls and fix force feedback
+- Add the ``util.find_ecodes_by_regex()`` helper function.
+
+---
Old:
v1.3.0.tar.gz
New:
evdev-re-Pattern.patch
v1.4.0.tar.gz
Other differences:
--
++ python-evdev.spec ++
--- /var/tmp/diff_new_pack.KKk83r/_old 2021-04-12 12:39:48.669539922 +0200
+++ /var/tmp/diff_new_pack.KKk83r/_new 2021-04-12 12:39:48.673539927 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-evdev
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define modname evdev
Name: python-evdev
-Version:1.3.0
+Version:1.4.0
Release:0
Summary:Python bindings to the Linux input handling subsystem
License:BSD-3-Clause
@@ -26,6 +26,8 @@
URL:https://github.com/gvalkov/python-evdev
# Source needs to be pulled form Github as the source distribution on PyPI
lacks the test directory
Source:
https://github.com/gvalkov/python-evdev/archive/v%{version}.tar.gz
+# PATCH-FIX-UPSTREAM evdev-re-Pattern.patch -- gh#gvalkov/python-evdev#152
+Patch1: evdev-re-Pattern.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
@@ -45,7 +47,7 @@
subsystem.
%prep
-%autosetup
+%autosetup -p1
%build
%python_build
++ evdev-re-Pattern.patch ++
diff --git a/evdev/util.py b/evdev/util.py
index 818be69..e8009f7 100644
--- a/evdev/util.py
+++ b/evdev/util.py
@@ -118,6 +118,8 @@ def find_ecodes_by_regex(regex):
'''
Find ecodes matching a regex and return a mapping of event type to event
codes.
+regex can be a pattern string or a compiled regular expression object.
+
Example
---
>>> find_ecodes_by_regex(r'(ABS|KEY)_BR(AKE|EAK)')
@@ -130,7 +132,7 @@ def find_ecodes_by_regex(regex):
}
'''
-regex = regex if isinstance(regex, re.Pattern) else re.compile(regex)
+regex = re.compile(regex) # re.compile is idempotent
result = collections.defaultdict(list)
for type_code, codes in ecodes.bytype.items():
++ v1.3.0.tar.gz -> v1.4.0.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-evdev-1.3.0/docs/changelog.rst
new/python-evdev-1.4.0/docs/changelog.rst
--- old/python-evdev-1.3.0/docs/changelog.rst 2020-01-12 00:41:29.0
+0100
+++ new/python-evdev-1.4.0/docs/changelog.rst 2021-01-16 14:50:51.0
+0100
@@ -1,6 +1,31 @@
Changelog
-
+
+1.4.0 (Jan 16, 2021)
+
+
+- Fix ``InputDevice.set_absinfo`` to allow setting parameters to zero.
+
+- Fix off-by-one in ``ioctl_EVIOCG_bits``, which causes value at the end of the
+ list to not be reported back (`#131
`_).
+
+- Fix ``set_absinfo`` to allow setting parameters to zero (`#128
`_).
+
+- Fix leak when returning ``BlockingIOError`` from a read (`#143
`_).
+
+- Fix "There is no current event loop in thread" error for non asyncio code
+ (`#146
