From 1c4b32878693c41843cd5f04a2c5d2ca8fd86a23 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 18 Jun 2023 16:33:30 -0400 Subject: [PATCH] Capture that _get_toplevel_name can return None. --- importlib_metadata/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/importlib_metadata/__init__.py b/importlib_metadata/__init__.py index 6f20fb63..68329964 100644 --- a/importlib_metadata/__init__.py +++ b/importlib_metadata/__init__.py @@ -981,7 +981,7 @@ def _topmost(name: PackagePath) -> Optional[str]: return top if rest else None -def _get_toplevel_name(name: PackagePath) -> str: +def _get_toplevel_name(name: PackagePath) -> Optional[str]: """ Infer a possibly importable module name from a name presumed on sys.path. @@ -992,6 +992,8 @@ def _get_toplevel_name(name: PackagePath) -> str: 'foo' >>> _get_toplevel_name(PackagePath('foo/__init__.py')) 'foo' + >>> _get_toplevel_name(PackagePath('foo.pth')) + >>> _get_toplevel_name(PackagePath('foo.dist-info')) """ return _topmost(name) or ( # python/typeshed#10328