Skip to content

Commit 9424ff0

Browse files
committed
Rely on importlib_metadata 3.6 for nicer protocol.
1 parent c1807fa commit 9424ff0

File tree

3 files changed

+6
-13
lines changed

3 files changed

+6
-13
lines changed

changelog/732.feature.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Rely on importlib_metadata 3.6 for nicer entry point processing.

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ install_requires=
4040
requests-toolbelt >= 0.8.0, != 0.9.0
4141
setuptools >= 0.7.0
4242
tqdm >= 4.14
43-
importlib_metadata; python_version < "3.8"
43+
importlib_metadata >= 3.6
4444
keyring >= 15.1
4545
rfc3986 >= 1.4.0
4646
colorama >= 0.4.3

twine/cli.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,21 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414
import argparse
15-
from typing import Any, Dict, List, Tuple
15+
from typing import Any, List, Tuple
1616

1717
import pkginfo
1818
import requests
1919
import requests_toolbelt
2020
import setuptools
2121
import tqdm
22+
from importlib_metadata import entry_points
2223

2324
import twine
2425
from twine import _installed
25-
from twine import importlib_metadata
2626

2727
args = argparse.Namespace()
2828

2929

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-
3830
def list_dependencies_and_versions() -> List[Tuple[str, str]]:
3931
return [
4032
("pkginfo", _installed.Installed(pkginfo).version),
@@ -52,7 +44,7 @@ def dep_versions() -> str:
5244

5345

5446
def dispatch(argv: List[str]) -> Any:
55-
registered_commands = _registered_commands()
47+
registered_commands = entry_points(group="twine.registered_commands")
5648
parser = argparse.ArgumentParser(prog="twine")
5749
parser.add_argument(
5850
"--version",
@@ -68,7 +60,7 @@ def dispatch(argv: List[str]) -> Any:
6860
)
6961
parser.add_argument(
7062
"command",
71-
choices=registered_commands.keys(),
63+
choices=registered_commands.names,
7264
)
7365
parser.add_argument(
7466
"args",

0 commit comments

Comments
 (0)