diff --git a/papermill/engines.py b/papermill/engines.py index c44d548d..16764709 100644 --- a/papermill/engines.py +++ b/papermill/engines.py @@ -3,9 +3,9 @@ import datetime import sys from functools import wraps +from importlib.metadata import entry_points import dateutil -import entrypoints from .clientwrap import PapermillNotebookClient from .exceptions import PapermillException @@ -34,7 +34,7 @@ def register_entry_points(self): Load handlers provided by other packages """ - for entrypoint in entrypoints.get_group_all("papermill.engine"): + for entrypoint in entry_points(group="papermill.engine"): self.register(entrypoint.name, entrypoint.load()) def get_engine(self, name=None): diff --git a/papermill/iorw.py b/papermill/iorw.py index 14a0122c..06057142 100644 --- a/papermill/iorw.py +++ b/papermill/iorw.py @@ -4,8 +4,8 @@ import sys import warnings from contextlib import contextmanager +from importlib.metadata import entry_points -import entrypoints import nbformat import requests import yaml @@ -116,7 +116,7 @@ def register(self, scheme, handler): 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(group="papermill.io"): self.register(entrypoint.name, entrypoint.load()) def get_handler(self, path, extensions=None): diff --git a/papermill/tests/test_engines.py b/papermill/tests/test_engines.py index db5ee17c..4ea68712 100644 --- a/papermill/tests/test_engines.py +++ b/papermill/tests/test_engines.py @@ -492,7 +492,7 @@ def test_registering_entry_points(self): fake_entrypoint = Mock(load=Mock()) fake_entrypoint.name = "fake-engine" - with patch("entrypoints.get_group_all", return_value=[fake_entrypoint]) as mock_get_group_all: + with patch("papermill.engines.entry_points", return_value=[fake_entrypoint]) as mock_entry_points: self.papermill_engines.register_entry_points() - mock_get_group_all.assert_called_once_with("papermill.engine") + mock_entry_points.assert_called_once_with(group="papermill.engine") self.assertEqual(self.papermill_engines.get_engine("fake-engine"), fake_entrypoint.load.return_value) diff --git a/papermill/tests/test_iorw.py b/papermill/tests/test_iorw.py index ab09f01a..6b55cde7 100644 --- a/papermill/tests/test_iorw.py +++ b/papermill/tests/test_iorw.py @@ -104,9 +104,9 @@ def test_entrypoint_register(self): fake_entrypoint = Mock(load=Mock()) fake_entrypoint.name = "fake-from-entry-point://" - with patch("entrypoints.get_group_all", return_value=[fake_entrypoint]) as mock_get_group_all: + with patch("papermill.iorw.entry_points", return_value=[fake_entrypoint]) as mock_entry_points: self.papermill_io.register_entry_points() - mock_get_group_all.assert_called_once_with("papermill.io") + mock_entry_points.assert_called_once_with(group="papermill.io") fake_ = self.papermill_io.get_handler("fake-from-entry-point://") assert fake_ == fake_entrypoint.load.return_value diff --git a/pyproject.toml b/pyproject.toml index 99336a0a..9ca749e9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,6 @@ dynamic = [ "version" ] dependencies = [ "aiohttp>=3.9; python_version=='3.12'", "click", - "entrypoints", "nbclient>=0.2", "nbformat>=5.2", "pyyaml", diff --git a/requirements.txt b/requirements.txt index 6f8ebb8a..3bee7442 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,5 @@ nbformat >= 5.2.0 nbclient >= 0.2.0 tqdm >= 4.32.2 requests -entrypoints tenacity >= 5.0.2 aiohttp >=3.9.0; python_version=="3.12"