12
12
# See the License for the specific language governing permissions and
13
13
# limitations under the License.
14
14
import argparse
15
- from typing import Any , Dict , List , Tuple
15
+ from typing import Any , List , Tuple
16
16
17
17
import pkginfo
18
18
import requests
19
19
import requests_toolbelt
20
20
import setuptools
21
21
import tqdm
22
+ from importlib_metadata import entry_points
22
23
23
24
import twine
24
25
from twine import _installed
25
- from twine import importlib_metadata
26
26
27
27
args = argparse .Namespace ()
28
28
29
29
30
- def _registered_commands (
31
- group : str = "twine.registered_commands" ,
32
- ) -> Dict [str , importlib_metadata .EntryPoint ]:
33
- # todo: with python/importlib_metadata#278:
34
- # return importlib_metadata.entry_points()[group]
35
- return {ep .name : ep for ep in importlib_metadata .entry_points ()[group ]}
36
-
37
-
38
30
def list_dependencies_and_versions () -> List [Tuple [str , str ]]:
39
31
return [
40
32
("pkginfo" , _installed .Installed (pkginfo ).version ),
@@ -52,7 +44,7 @@ def dep_versions() -> str:
52
44
53
45
54
46
def dispatch (argv : List [str ]) -> Any :
55
- registered_commands = _registered_commands ( )
47
+ registered_commands = entry_points ( group = "twine.registered_commands" )
56
48
parser = argparse .ArgumentParser (prog = "twine" )
57
49
parser .add_argument (
58
50
"--version" ,
@@ -68,7 +60,7 @@ def dispatch(argv: List[str]) -> Any:
68
60
)
69
61
parser .add_argument (
70
62
"command" ,
71
- choices = registered_commands .keys () ,
63
+ choices = registered_commands .names ,
72
64
)
73
65
parser .add_argument (
74
66
"args" ,
0 commit comments