Skip to content

Commit 38e72c5

Browse files
committed
hybridize usage of importlib.metadata for Python3.10+
1 parent 2786e08 commit 38e72c5

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

streamz/plugins.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,18 @@ def try_register(cls, entry_point, *modifier):
1313
)
1414

1515

16+
def get_entry_point(eps, group):
17+
if hasattr(eps, "select"): # Python 3.10+ / importlib_metadata >= 3.9.0
18+
return eps.select(group=group)
19+
else:
20+
return eps.get(group, [])
21+
1622
def load_plugins(cls):
1723
eps = importlib.metadata.entry_points()
18-
for entry_point in eps.get("streamz.sources", []):
24+
25+
for entry_point in get_entry_point(eps, "streamz.sources"):
1926
try_register(cls, entry_point, staticmethod)
20-
for entry_point in eps.get("streamz.nodes", []):
27+
for entry_point in get_entry_point(eps, "streamz.nodes"):
2128
try_register(cls, entry_point)
22-
for entry_point in eps.get("streamz.sinks", []):
29+
for entry_point in get_entry_point(eps, "streamz.sinks"):
2330
try_register(cls, entry_point)

0 commit comments

Comments
 (0)