commit python-rpyc for openSUSE:Factory

2024-03-13 Thread Source-Sync
Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-rpyc for openSUSE:Factory 
checked in at 2024-03-13 22:20:54

Comparing /work/SRC/openSUSE:Factory/python-rpyc (Old)
 and  /work/SRC/openSUSE:Factory/.python-rpyc.new.1770 (New)


Package is "python-rpyc"

Wed Mar 13 22:20:54 2024 rev:14 rq:1157613 version:6.0.0

Changes:

--- /work/SRC/openSUSE:Factory/python-rpyc/python-rpyc.changes  2024-01-03 
12:24:13.041787825 +0100
+++ /work/SRC/openSUSE:Factory/.python-rpyc.new.1770/python-rpyc.changes
2024-03-13 22:22:15.200402899 +0100
@@ -1,0 +2,11 @@
+Wed Mar 13 13:13:19 UTC 2024 - Daniel Garcia 
+
+- Update to 6.0.0 (bsc#1221331, CVE-2024-27758):
+  * #551 Resolves security issue that results in RCE. The fix breaks
+backwards compatibility for those that rely on the __array__
+attribute used by numpy. This RCE is only exploitable when the
+server-side gets the attribute __array__ and calls it (e.g.,
+np.array(x)). This issues effects all versions since major release
+4.
+
+---

Old:

  5.3.1.tar.gz

New:

  6.0.0.tar.gz



Other differences:
--
++ python-rpyc.spec ++
--- /var/tmp/diff_new_pack.9p2S6J/_old  2024-03-13 22:22:15.640419140 +0100
+++ /var/tmp/diff_new_pack.9p2S6J/_new  2024-03-13 22:22:15.640419140 +0100
@@ -1,7 +1,7 @@
 #
-# spec file
+# spec file for package python-rpyc
 #
-# 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
@@ -26,7 +26,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:   python-rpyc%{psuffix}
-Version:5.3.1
+Version:6.0.0
 Release:0
 Summary:Remote Python Call (RPyC), a RPC library
 License:MIT
@@ -40,7 +40,7 @@
 BuildRequires:  python-rpm-macros
 Requires:   python-plumbum >= 1.2
 Requires(post): update-alternatives
-Requires(postun):update-alternatives
+Requires(postun): update-alternatives
 BuildArch:  noarch
 %if %{with test}
 BuildRequires:  %{python_module gevent}
@@ -81,10 +81,13 @@
 
 %if %{with test}
 %check
-donttest="TestDeploy or Test_Ssh or TestUdpRegistry or win32pipes or 
test_server_stops or test_immutable_object_return or 
test_return_of_modified_parameter or test_return_of_unmodified_parameter or 
test_dataframe_pickling or test_ssl_conenction or test_connection"
+export PYTEST_ADDOPTS="--import-mode=importlib" PYTHONPATH="."
+pushd tests
+donttest="TestDeploy or TestUdpRegistry"
 # Fails with python 3.11
 donttest+=" or test_gdb"
 %pytest -k "not ($donttest)"
+popd
 %endif
 
 %if !%{with test}

++ 5.3.1.tar.gz -> 6.0.0.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-5.3.1/.github/workflows/codespell.yml 
new/rpyc-6.0.0/.github/workflows/codespell.yml
--- old/rpyc-5.3.1/.github/workflows/codespell.yml  1970-01-01 
01:00:00.0 +0100
+++ new/rpyc-6.0.0/.github/workflows/codespell.yml  2024-02-24 
00:30:15.0 +0100
@@ -0,0 +1,22 @@
+---
+name: Codespell
+
+on:
+  push:
+branches: [master]
+  pull_request:
+branches: [master]
+
+permissions:
+  contents: read
+
+jobs:
+  codespell:
+name: Check for spelling errors
+runs-on: ubuntu-latest
+
+steps:
+  - name: Checkout
+uses: actions/checkout@v3
+  - name: Codespell
+uses: codespell-project/actions-codespell@v2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-5.3.1/.github/workflows/python-app.yml 
new/rpyc-6.0.0/.github/workflows/python-app.yml
--- old/rpyc-5.3.1/.github/workflows/python-app.yml 2023-02-22 
04:42:03.0 +0100
+++ new/rpyc-6.0.0/.github/workflows/python-app.yml 2024-02-24 
00:30:15.0 +0100
@@ -16,7 +16,7 @@
 
 strategy:
   matrix:
-python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12.0-alpha.1"]
+python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
 
 steps:
   - uses: actions/checkout@v3
@@ -46,6 +46,9 @@
   ssh-keygen -q -f ~/.ssh/id_rsa -N ''
   cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
   uname -a
-  - name: Test with unittest
+  - name: Bind threads tests with unittest 
 run: |
-  python -m unittest discover -v -s ./rpyc ./tests
+  RPYC_BIND_THREADS="true" python -m unittest discover -v
+  - name: Default tests with unittest
+run: |
+  python -m unittest discover -v
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnig

commit python-rpyc for openSUSE:Factory

2024-01-03 Thread Source-Sync
Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-rpyc for openSUSE:Factory 
checked in at 2024-01-03 12:24:07

Comparing /work/SRC/openSUSE:Factory/python-rpyc (Old)
 and  /work/SRC/openSUSE:Factory/.python-rpyc.new.28375 (New)


Package is "python-rpyc"

Wed Jan  3 12:24:07 2024 rev:13 rq:1135621 version:5.3.1

Changes:

--- /work/SRC/openSUSE:Factory/python-rpyc/python-rpyc.changes  2023-02-28 
12:49:43.772868522 +0100
+++ /work/SRC/openSUSE:Factory/.python-rpyc.new.28375/python-rpyc.changes   
2024-01-03 12:24:13.041787825 +0100
@@ -1,0 +2,11 @@
+Fri Dec 29 09:53:28 UTC 2023 - Dirk Müller 
+
+- update to 5.3.1:
+  * `#527`_ Resolved timeout issue that was introduced in 5.2.1
+  * `#525`_ and `#524`_ Fixed experimental thread binding struct
+for platforms where unsigned long is 8-bits
+While the fix for thread binding is not backwards compatible,
+it only impacts people using an experimental feature. Hence,
+I did a patch version bump.
+
+---

Old:

  5.3.0.tar.gz

New:

  5.3.1.tar.gz



Other differences:
--
++ python-rpyc.spec ++
--- /var/tmp/diff_new_pack.Jb2zIt/_old  2024-01-03 12:24:13.681811209 +0100
+++ /var/tmp/diff_new_pack.Jb2zIt/_new  2024-01-03 12:24:13.681811209 +0100
@@ -24,9 +24,9 @@
 %define psuffix %{nil}
 %bcond_with test
 %endif
-%global skip_python2 1
+%{?sle15_python_module_pythons}
 Name:   python-rpyc%{psuffix}
-Version:5.3.0
+Version:5.3.1
 Release:0
 Summary:Remote Python Call (RPyC), a RPC library
 License:MIT
@@ -100,6 +100,6 @@
 %python_alternative %{_bindir}/rpyc_classic
 %python_alternative %{_bindir}/rpyc_registry
 %{python_sitelib}/rpyc
-%{python_sitelib}/rpyc-%{version}*-info
+%{python_sitelib}/rpyc-%{version}.dist-info
 %endif
 

++ 5.3.0.tar.gz -> 5.3.1.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-5.3.0/CHANGELOG.rst new/rpyc-5.3.1/CHANGELOG.rst
--- old/rpyc-5.3.0/CHANGELOG.rst2022-11-26 07:09:01.0 +0100
+++ new/rpyc-5.3.1/CHANGELOG.rst2023-02-22 04:42:03.0 +0100
@@ -1,3 +1,17 @@
+5.3.1
+=
+Date: 2023-02-21
+
+- `#527`_ Resolved timeout issue that was introduced in 5.2.1
+- `#525`_ and `#524`_ Fixed experimental thread binding struct for platforms 
where unsigned long is 8-bits
+
+  - While the fix for thread binding is not backwards compatible, it only 
impacts people using an experimental feature. Hence, I did a patch version bump.
+
+.. _#525: https://github.com/tomerfiliba-org/rpyc/pull/525
+.. _#524: https://github.com/tomerfiliba-org/rpyc/issues/524
+.. _#527: https://github.com/tomerfiliba-org/rpyc/issues/527
+
+
 5.3.0
 =
 Date: 2022-11-25
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-5.3.0/docs/conf.py new/rpyc-5.3.1/docs/conf.py
--- old/rpyc-5.3.0/docs/conf.py 2022-11-26 07:09:01.0 +0100
+++ new/rpyc-5.3.1/docs/conf.py 2023-02-22 04:42:03.0 +0100
@@ -11,7 +11,6 @@
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
-from rpyc.version import __version__, release_date
 import sys
 import os
 import time
@@ -52,6 +51,7 @@
 # built documents.
 #
 # The short X.Y version.
+from rpyc.version import __version__, release_date
 version = __version__
 # The full version, including alpha/beta/rc tags.
 release = __version__ + "/" + release_date
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-5.3.0/rpyc/core/brine.py 
new/rpyc-5.3.1/rpyc/core/brine.py
--- old/rpyc-5.3.0/rpyc/core/brine.py   2022-11-26 07:09:01.0 +0100
+++ new/rpyc-5.3.1/rpyc/core/brine.py   2023-02-22 04:42:03.0 +0100
@@ -56,9 +56,13 @@
 C16 = Struct("!dd")  # Successive floats (complex numbers)
 I1 = Struct("!B")  # Python type int w/ size [1] (ctype unsigned char)
 I4 = Struct("!L")  # Python type int w/ size [4] (ctype unsigned long)
-# I4I4 is successive ints w/ size 4 and was introduced to pack local thread id 
and remote thread id
-# Since PyThread_get_thread_ident returns a type of unsigned long, !LL can 
store both thread IDs.
-I4I4 = Struct("!LL")
+# I8I8 is successive ints w/ size 8 and was introduced to pack local thread id 
and remote thread id. Since
+# PyThread_get_thread_ident returns a type of unsigned long, a platform 
dependent size, we
+# need 8 bytes of length to support LP64/64-bit platforms. See
+#  - https://unix.org/whitepapers/64bit.html
+#  - https://en.wikipedia.org/wiki/Integer_(computer_science)#Long_integer
+# TODO: Switch to native_id w

commit python-rpyc for openSUSE:Factory

2023-02-28 Thread Source-Sync
Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-rpyc for openSUSE:Factory 
checked in at 2023-02-28 12:49:34

Comparing /work/SRC/openSUSE:Factory/python-rpyc (Old)
 and  /work/SRC/openSUSE:Factory/.python-rpyc.new.31432 (New)


Package is "python-rpyc"

Tue Feb 28 12:49:34 2023 rev:12 rq:1068126 version:5.3.0

Changes:

--- /work/SRC/openSUSE:Factory/python-rpyc/python-rpyc.changes  2022-12-07 
17:36:27.049027264 +0100
+++ /work/SRC/openSUSE:Factory/.python-rpyc.new.31432/python-rpyc.changes   
2023-02-28 12:49:43.772868522 +0100
@@ -1,0 +2,5 @@
+Tue Feb 21 08:31:28 UTC 2023 - Daniel Garcia 
+
+- Disable broken test for python 3.11
+
+---



Other differences:
--
++ python-rpyc.spec ++
--- /var/tmp/diff_new_pack.W4zBPi/_old  2023-02-28 12:49:44.324871553 +0100
+++ /var/tmp/diff_new_pack.W4zBPi/_new  2023-02-28 12:49:44.328871575 +0100
@@ -1,7 +1,7 @@
 #
 # spec file
 #
-# 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,7 +16,6 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %global flavor @BUILD_FLAVOR@%{nil}
 %if "%{flavor}" == "test"
 %define psuffix -test
@@ -82,7 +81,10 @@
 
 %if %{with test}
 %check
-%pytest -k 'not (TestDeploy or Test_Ssh or TestUdpRegistry or win32pipes or 
test_server_stops or test_immutable_object_return or 
test_return_of_modified_parameter or test_return_of_unmodified_parameter or 
test_dataframe_pickling or test_ssl_conenction or test_connection)'
+donttest="TestDeploy or Test_Ssh or TestUdpRegistry or win32pipes or 
test_server_stops or test_immutable_object_return or 
test_return_of_modified_parameter or test_return_of_unmodified_parameter or 
test_dataframe_pickling or test_ssl_conenction or test_connection"
+# Fails with python 3.11
+donttest+=" or test_gdb"
+%pytest -k "not ($donttest)"
 %endif
 
 %if !%{with test}
@@ -97,7 +99,8 @@
 %license LICENSE
 %python_alternative %{_bindir}/rpyc_classic
 %python_alternative %{_bindir}/rpyc_registry
-%{python_sitelib}/*
+%{python_sitelib}/rpyc
+%{python_sitelib}/rpyc-%{version}*-info
 %endif
 
 %changelog


commit python-rpyc for openSUSE:Factory

2022-12-07 Thread Source-Sync
Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-rpyc for openSUSE:Factory 
checked in at 2022-12-07 17:35:07

Comparing /work/SRC/openSUSE:Factory/python-rpyc (Old)
 and  /work/SRC/openSUSE:Factory/.python-rpyc.new.1835 (New)


Package is "python-rpyc"

Wed Dec  7 17:35:07 2022 rev:11 rq:1040778 version:5.3.0

Changes:

--- /work/SRC/openSUSE:Factory/python-rpyc/python-rpyc.changes  2022-09-26 
18:47:53.940019703 +0200
+++ /work/SRC/openSUSE:Factory/.python-rpyc.new.1835/python-rpyc.changes
2022-12-07 17:36:27.049027264 +0100
@@ -1,0 +2,9 @@
+Tue Dec  6 15:32:20 UTC 2022 - Yogalakshmi Arunachalam 
+
+- Update to version 5.3.0 
+  #515 Support for Python 3.11 is available after teleportation bug fix
+  #507 Experimental support for threading is added (default is disabled for 
now)
+  #516 Resolved server-side exceptions due to the logic for checking if a name 
is in ModuleNamespace
+  #511 Improved documentation on the life-cycle of a netref/proxy-object
+
+---

Old:

  5.2.3.tar.gz

New:

  5.3.0.tar.gz



Other differences:
--
++ python-rpyc.spec ++
--- /var/tmp/diff_new_pack.0abjiV/_old  2022-12-07 17:36:27.521029849 +0100
+++ /var/tmp/diff_new_pack.0abjiV/_new  2022-12-07 17:36:27.525029871 +0100
@@ -27,7 +27,7 @@
 %endif
 %global skip_python2 1
 Name:   python-rpyc%{psuffix}
-Version:5.2.3
+Version:5.3.0
 Release:0
 Summary:Remote Python Call (RPyC), a RPC library
 License:MIT

++ 5.2.3.tar.gz -> 5.3.0.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-5.2.3/.github/workflows/python-app.yml 
new/rpyc-5.3.0/.github/workflows/python-app.yml
--- old/rpyc-5.2.3/.github/workflows/python-app.yml 2022-08-04 
05:46:31.0 +0200
+++ new/rpyc-5.3.0/.github/workflows/python-app.yml 2022-11-26 
07:09:01.0 +0100
@@ -10,36 +10,42 @@
 branches: [ master ]
 
 jobs:
-  unittest-3-10:
+  python-unittest-all-versions:
 
 runs-on: ubuntu-latest
 
+strategy:
+  matrix:
+python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12.0-alpha.1"]
+
 steps:
-- uses: actions/checkout@v2
-- name: Set up Python 3.10
-  uses: actions/setup-python@v2
-  with:
-python-version: "3.10"
-- name: Install dependencies
-  run: |
-python -m pip install --upgrade pip setuptools flake8
-if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
-echo "PYTHONPATH=${PYTHONPATH}:/home/runner/work/rpyc" >> $GITHUB_ENV
-- name: Lint with flake8
-  run: |
-# stop the build if there are Python syntax errors or undefined names
-flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
-# exit-zero treats all errors as warnings. The GitHub editor is 127 
chars wide
-flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 
--statistics
-- name: Init ssh settings
-  run: |
-mkdir -pv ~/.ssh
-chmod 700 ~/.ssh
-echo NoHostAuthenticationForLocalhost yes >> ~/.ssh/config
-echo StrictHostKeyChecking no >> ~/.ssh/config
-ssh-keygen -q -f ~/.ssh/id_rsa -N ''
-cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-uname -a
-- name: Test with unittest
-  run: |
-python -m unittest discover -s ./rpyc ./tests
+  - uses: actions/checkout@v3
+
+  - name: Set up Python ${{ matrix.python-version }}
+uses: actions/setup-python@v4
+
+with:
+  python-version: ${{ matrix.python-version }}
+  - name: Install dependencies
+run: |
+  python -m pip install --upgrade pip setuptools flake8
+  if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
+  echo "PYTHONPATH=${PYTHONPATH}:/home/runner/work/rpyc" >> $GITHUB_ENV
+  - name: Lint with flake8
+run: |
+  # stop the build if there are Python syntax errors or undefined names
+  flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
+  # exit-zero treats all errors as warnings. The GitHub editor is 127 
chars wide
+  flake8 . --count --exit-zero --max-complexity=10 
--max-line-length=127 --statistics
+  - name: Init ssh settings
+run: |
+  mkdir -pv ~/.ssh
+  chmod 700 ~/.ssh
+  echo NoHostAuthenticationForLocalhost yes >> ~/.ssh/config
+  echo StrictHostKeyChecking no >> ~/.ssh/config
+  ssh-keygen -q -f ~/.ssh/id_rsa -N ''
+  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
+  uname -

commit python-rpyc for openSUSE:Factory

2022-09-26 Thread Source-Sync
Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-rpyc for openSUSE:Factory 
checked in at 2022-09-26 18:47:53

Comparing /work/SRC/openSUSE:Factory/python-rpyc (Old)
 and  /work/SRC/openSUSE:Factory/.python-rpyc.new.2275 (New)


Package is "python-rpyc"

Mon Sep 26 18:47:53 2022 rev:10 rq:1006027 version:5.2.3

Changes:

--- /work/SRC/openSUSE:Factory/python-rpyc/python-rpyc.changes  2020-06-12 
21:39:39.283950758 +0200
+++ /work/SRC/openSUSE:Factory/.python-rpyc.new.2275/python-rpyc.changes
2022-09-26 18:47:53.940019703 +0200
@@ -1,0 +2,55 @@
+Mon Sep 26 08:17:17 UTC 2022 - Daniel Garcia 
+
+- Remove some failing tests because they where failing for some deadlock
+  reason.
+- Add gcc-c++ required dependency for tests
+
+---
+Wed Sep 21 07:46:06 UTC 2022 - Daniel Garcia 
+
+- Fix multibuild with flavor global
+
+---
+Tue Sep 20 16:44:42 UTC 2022 - Daniel Garcia 
+
+- update to 5.2.3:
+  * #503 rpyc_classic.py and rpyc_registry.py are tracked by pyproject.toml and
+should resolve now. Moreover, they can now be resolved without their file
+suffixes as well.
+  * Release 5.2.0
+* Added support for using decorators to expose methods (see #292)
+* Allow BgServingThread serve and sleep intervals to be customized
+* Avoid redefining hasattr_static on every check_attr` call
+* Updated SSL context usage to avoid deprecated aspects and changes
+* Add a configurable timeout on the zero deploy close method
+* Fixed --mode CLI argument for rpyc_registry
+* Fixed propagation of AttributeErrors raised by exposed descriptors
+* Allow filtering by host on list_services
+* and #502 Improved documentation and fixed typos
+* Some work around race conditions but proper fix is rather involved (see 
#491)
+  * Release 5.1.0
+* Added types.MappingProxyType to builtin_types #470
+* Updated documentation #469
+* Fixed spradic dealock issues from wait within AsyncResult #463 and #455
+* Fixed chained Classic RPyC connections #460
+* Added ability to list Registry services #452
+* Fixed bug that prevented RPyC from running on systems without SSL #451
+* Fixed unexpected behavior with respect to auto_register #445
+* Fixed propagation of chunk_size parameter for download_dir #433
+
+---
+Mon Nov  8 20:22:29 UTC 2021 - Dirk M??ller 
+
+- update to 5.0.1:
+  *  Fixed unexpected behavior when using inspect.isfunction
+  *  Now prevents installation of RPyC on unsupported versions of python
+  *  RPyC 5.0.0 cannot teleport functions to earlier versions
+  *  Deprecated Python 2 support to coincide with it's EOL
+  *  Server hostname default supports IPv4 and IPv6 by using the wildcard 
address
+  *  Fixed pickle failure on windows for ``connect_multiprocess`` and 
``connect_thread``
+  *  Fixed teleport function behavior for keyword-only arguments with default
+  *  Improved documentation on custom exception handling
+  *  Fixed IPv6 support for server
+  *  Added a simple asynchrounous service example
+
+---

Old:

  4.1.5.tar.gz

New:

  5.2.3.tar.gz



Other differences:
--
++ python-rpyc.spec ++
--- /var/tmp/diff_new_pack.XBRgZ7/_old  2022-09-26 18:47:54.432020633 +0200
+++ /var/tmp/diff_new_pack.XBRgZ7/_new  2022-09-26 18:47:54.436020640 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package python-rpyc
+# spec file
 #
-# Copyright (c) 2020 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
@@ -25,26 +25,30 @@
 %define psuffix %{nil}
 %bcond_with test
 %endif
+%global skip_python2 1
 Name:   python-rpyc%{psuffix}
-Version:4.1.5
+Version:5.2.3
 Release:0
 Summary:Remote Python Call (RPyC), a RPC library
 License:MIT
 Group:  Development/Languages/Python
 URL:https://github.com/tomerfiliba/rpyc
 Source: https://github.com/tomerfiliba/rpyc/archive/%{version}.tar.gz
-BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module hatchling}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:   python-plumbum >= 1.2
 Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Requires(postun):update-alternatives
 BuildArch:  noarch
 %if %{with test}