1+ from __future__ import annotations
2+
13from pathlib import Path
24from typing import Any , Dict , List , Optional , Tuple , Union , overload
35from urllib .parse import urlparse
@@ -12,7 +14,7 @@ def install(
1214 packages : str ,
1315 ignore_installed : bool ,
1416 fallback : Optional [str ],
15- ) -> " Module" :
17+ ) -> Module :
1618 ...
1719
1820
@@ -21,30 +23,29 @@ def install(
2123 packages : Union [List [str ], Tuple [str ]],
2224 ignore_installed : bool ,
2325 fallback : Optional [str ],
24- ) -> List [" Module" ]:
26+ ) -> List [Module ]:
2527 ...
2628
2729
2830def install (
2931 packages : Union [str , List [str ], Tuple [str ]],
3032 ignore_installed : bool = False ,
3133 fallback : Optional [str ] = None ,
32- ) -> Union [" Module" , List [" Module" ]]:
34+ ) -> Union [Module , List [Module ]]:
3335 return_one = False
3436 if isinstance (packages , str ):
3537 packages = [packages ]
3638 return_one = True
3739
38- pkg_names = { _private .get_package_name (pkg ) for pkg in packages }
40+ pkg_names = [ _private .get_package_name (pkg ) for pkg in packages ]
3941
40- if ignore_installed or pkg_names .difference (manage .web_module_names ()):
42+ if ignore_installed or set ( pkg_names ) .difference (manage .web_module_names ()):
4143 manage .build (packages , clean_build = False )
4244
43- return (
44- Module (pkg_names .pop (), fallback = fallback )
45- if return_one
46- else [Module (pkg , fallback = fallback ) for pkg in pkg_names ]
47- )
45+ if return_one :
46+ return Module (pkg_names [0 ], fallback = fallback )
47+ else :
48+ return [Module (pkg , fallback = fallback ) for pkg in pkg_names ]
4849
4950
5051class Module :
0 commit comments