Skip to content

Commit bd233fc

Browse files
committed
remove use of deprecated entrypoints
1 parent 87c1fb4 commit bd233fc

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

python_packages/jupyter_lsp/jupyter_lsp/manager.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
""" A configurable frontend for stdio-based Language Servers
22
"""
33
import os
4+
import sys
45
import traceback
56
from typing import Dict, Text, Tuple, cast
67

7-
import entrypoints
8+
# See compatibility note on `group` keyword in
9+
# https://docs.python.org/3/library/importlib.metadata.html#entry-points
10+
if sys.version_info < (3, 10): # pragma: no cover
11+
from importlib_metadata import entry_points
12+
else: # pragma: no cover
13+
from importlib.metadata import entry_points
14+
815
from jupyter_core.paths import jupyter_config_path
916
from jupyter_server.services.config import ConfigManager
1017

@@ -158,13 +165,11 @@ def init_listeners(self):
158165
for scope, trt_ep in scopes.items():
159166
listeners, entry_point = trt_ep
160167

161-
for ep_name, ept in entrypoints.get_group_named(
162-
entry_point
163-
).items(): # pragma: no cover
168+
for ept in entry_points(group=entry_point): # pragma: no cover
164169
try:
165170
listeners.append(ept.load())
166171
except Exception as err:
167-
self.log.warning("Failed to load entry point %s: %s", ep_name, err)
172+
self.log.warning("Failed to load entry point %s: %s", ept.name, err)
168173

169174
for listener in listeners:
170175
self.__class__.register_message_listener(scope=scope.value)(listener)
@@ -226,22 +231,22 @@ def unsubscribe(self, handler):
226231
session.handlers = [h for h in session.handlers if h != handler]
227232

228233
def _autodetect_language_servers(self, only_installed: bool):
229-
entry_points = {}
234+
_entry_points = None
230235

231236
try:
232-
entry_points = entrypoints.get_group_named(EP_SPEC_V1)
237+
_entry_points = entry_points(group=EP_SPEC_V1)
233238
except Exception: # pragma: no cover
234239
self.log.exception("Failed to load entry_points")
235240

236241
skipped_servers = []
237242

238-
for ep_name, ep in entry_points.items():
243+
for ep in _entry_points or []:
239244
try:
240245
spec_finder = ep.load() # type: SpecMaker
241246
except Exception as err: # pragma: no cover
242247
self.log.warning(
243248
_("Failed to load language server spec finder `{}`: \n{}").format(
244-
ep_name, err
249+
ep.name, err
245250
)
246251
)
247252
continue

python_packages/jupyter_lsp/setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ python_requires = >=3.7
3030

3131
install_requires =
3232
jupyter_server >=1.1.2
33-
entrypoints
33+
importlib_metadata >=4.8.3 ; python_version<"3.10"
3434

3535
[options.entry_points]
3636
jupyter_lsp_spec_v1 =

requirements/dev.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
# development dependencies for jupyter_lsp for qa, with lab
22
-r ./utest.txt
3+
-r ./atest.txt
34
packaging
45
pyls-black
56
pyls-isort
67
pyls-mypy
78
pytest-cov
89
ruamel.yaml
9-
robotframework-robocop
10-
robotframework-tidy
11-
robotframework >=4
1210
types-six

setup.cfg

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ ignore_missing_imports = True
6262
[mypy-jupyter_lsp.non_blocking]
6363
ignore_errors = True
6464

65-
[mypy-entrypoints]
66-
ignore_missing_imports = True
67-
6865
[mypy-grapvhiz]
6966
ignore_missing_imports = True
7067

0 commit comments

Comments
 (0)