File: remove_entrypoints.patch

package info (click to toggle)
python-papermill 2.6.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,220 kB
  • sloc: python: 4,977; makefile: 17; sh: 5
file content (93 lines) | stat: -rw-r--r-- 3,606 bytes parent folder | download | duplicates (2)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
--- a/papermill/engines.py
+++ b/papermill/engines.py
@@ -4,7 +4,7 @@
 from functools import wraps
 
 import dateutil
-import entrypoints
+from importlib.metadata import entry_points
 
 from .clientwrap import PapermillNotebookClient
 from .exceptions import PapermillException
@@ -33,7 +33,7 @@
 
         Load handlers provided by other packages
         """
-        for entrypoint in entrypoints.get_group_all("papermill.engine"):
+        for entrypoint in entry_points().select(group="papermill.engine"):
             self.register(entrypoint.name, entrypoint.load())
 
     def get_engine(self, name=None):
--- a/papermill/iorw.py
+++ b/papermill/iorw.py
@@ -5,7 +5,7 @@
 import warnings
 from contextlib import contextmanager
 
-import entrypoints
+from importlib.metadata import entry_points
 import nbformat
 import requests
 import yaml
@@ -116,7 +116,7 @@
 
     def register_entry_points(self):
         # Load handlers provided by other packages
-        for entrypoint in entrypoints.get_group_all("papermill.io"):
+        for entrypoint in entry_points().select(group="papermill.io"):
             self.register(entrypoint.name, entrypoint.load())
 
     def get_handler(self, path, extensions=None):
--- a/papermill/tests/test_engines.py
+++ b/papermill/tests/test_engines.py
@@ -489,10 +489,14 @@
         self.assertRaises(exceptions.PapermillException, self.papermill_engines.get_engine, "non-existent")
 
     def test_registering_entry_points(self):
-        fake_entrypoint = Mock(load=Mock())
+        fake_entrypoint = Mock()
         fake_entrypoint.name = "fake-engine"
+        fake_entrypoint.load.return_value = Mock()
 
-        with patch("entrypoints.get_group_all", return_value=[fake_entrypoint]) as mock_get_group_all:
+        mock_entry_points = Mock()
+        mock_entry_points.select.return_value = [fake_entrypoint]
+
+        with patch("papermill.engines.entry_points", return_value=mock_entry_points):
             self.papermill_engines.register_entry_points()
-            mock_get_group_all.assert_called_once_with("papermill.engine")
+            mock_entry_points.select.assert_called_once_with(group="papermill.engine")
             self.assertEqual(self.papermill_engines.get_engine("fake-engine"), fake_entrypoint.load.return_value)
--- a/papermill/tests/test_iorw.py
+++ b/papermill/tests/test_iorw.py
@@ -101,12 +101,16 @@
         self.assertIsInstance(self.papermill_io.get_handler(test_nb), NotebookNodeHandler)
 
     def test_entrypoint_register(self):
-        fake_entrypoint = Mock(load=Mock())
-        fake_entrypoint.name = "fake-from-entry-point://"
+        fake_entrypoint = Mock()
+        fake_entrypoint.name =  "fake-from-entry-point://"
+        fake_entrypoint.load.return_value = Mock()
 
-        with patch("entrypoints.get_group_all", return_value=[fake_entrypoint]) as mock_get_group_all:
+        mock_entry_points = Mock()
+        mock_entry_points.select.return_value = [fake_entrypoint]
+
+        with patch("papermill.iorw.entry_points", return_value=mock_entry_points):
             self.papermill_io.register_entry_points()
-            mock_get_group_all.assert_called_once_with("papermill.io")
+            mock_entry_points.select.assert_called_once_with(group="papermill.io")
             fake_ = self.papermill_io.get_handler("fake-from-entry-point://")
             assert fake_ == fake_entrypoint.load.return_value
 
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,6 @@
 nbclient >= 0.2.0
 tqdm >= 4.32.2
 requests
-entrypoints
 tenacity >= 5.0.2
 aiohttp >=3.9.0; python_version=="3.12"
 ansicolors