File: remove-setuptools-dependency.patch

package info (click to toggle)
python-stopit 1.1.2-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 172 kB
  • sloc: python: 184; makefile: 5
file content (49 lines) | stat: -rw-r--r-- 1,787 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
From: Antti Kajander <kajaste@users.noreply.github.com>
Date: Fri, 17 Nov 2023 22:21:00 +0200
Subject: Remove runtime setuptools dependency

Prefer importlib.metadata core library on Python >= 3.8

This gets rid of setuptools dependency from stopit users. Recent
setuptools versions output a massive deprecation warning about
pkg_resources usage:
DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html

Origin: other, https://github.com/glenfant/stopit/pull/30
Bug-Debian: https://bugs.debian.org/1083713
Last-Update: 2026-01-27
---
 src/stopit/__init__.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/stopit/__init__.py b/src/stopit/__init__.py
index 6ca0180..c75e5e3 100644
--- a/src/stopit/__init__.py
+++ b/src/stopit/__init__.py
@@ -7,18 +7,21 @@ stopit
 Public resources from ``stopit``
 """
 
-import pkg_resources
-
 from .utils import LOG, TimeoutException
 from .threadstop import ThreadingTimeout, async_raise, threading_timeoutable
 from .signalstop import SignalTimeout, signal_timeoutable
 
 # PEP 396 style version marker
 try:
-    __version__ = pkg_resources.get_distribution(__name__).version
+    from importlib.metadata import version  # Python >=3.8
+    __version__ = version(__name__)
 except:
-    LOG.warning("Could not get the package version from pkg_resources")
-    __version__ = 'unknown'
+    try:
+        import pkg_resources  # Deprecated in recent setuptools
+        __version__ = pkg_resources.get_distribution(__name__).version
+    except:
+        LOG.warning("Could not get the package version from importlib or pkg_resources")
+        __version__ = 'unknown'
 
 __all__ = (
     'ThreadingTimeout', 'async_raise', 'threading_timeoutable',