@@ -104,6 +104,7 @@ def _setup_namespace_pkg_compatibility(wheel_dir: str) -> None:
104104def _extract_wheel (
105105 wheel_file : str ,
106106 extras : Dict [str , Set [str ]],
107+ enable_pipstar : bool ,
107108 enable_implicit_namespace_pkgs : bool ,
108109 platforms : List [wheel .Platform ],
109110 installation_dir : Path = Path ("." ),
@@ -114,6 +115,7 @@ def _extract_wheel(
114115 wheel_file: the filepath of the .whl
115116 installation_dir: the destination directory for installation of the wheel.
116117 extras: a list of extras to add as dependencies for the installed wheel
118+ enable_pipstar: if true, turns off certain operations.
117119 enable_implicit_namespace_pkgs: if true, disables conversion of implicit namespace packages and will unzip as-is
118120 """
119121
@@ -123,26 +125,31 @@ def _extract_wheel(
123125 if not enable_implicit_namespace_pkgs :
124126 _setup_namespace_pkg_compatibility (installation_dir )
125127
126- extras_requested = extras [whl .name ] if whl .name in extras else set ()
127-
128- dependencies = whl .dependencies (extras_requested , platforms )
128+ metadata = {
129+ "python_version" : f"{ sys .version_info [0 ]} .{ sys .version_info [1 ]} .{ sys .version_info [2 ]} " ,
130+ "entry_points" : [
131+ {
132+ "name" : name ,
133+ "module" : module ,
134+ "attribute" : attribute ,
135+ }
136+ for name , (module , attribute ) in sorted (whl .entry_points ().items ())
137+ ],
138+ }
139+ if not enable_pipstar :
140+ extras_requested = extras [whl .name ] if whl .name in extras else set ()
141+ dependencies = whl .dependencies (extras_requested , platforms )
142+
143+ metadata .update (
144+ {
145+ "name" : whl .name ,
146+ "version" : whl .version ,
147+ "deps" : dependencies .deps ,
148+ "deps_by_platform" : dependencies .deps_select ,
149+ }
150+ )
129151
130152 with open (os .path .join (installation_dir , "metadata.json" ), "w" ) as f :
131- metadata = {
132- "name" : whl .name ,
133- "version" : whl .version ,
134- "deps" : dependencies .deps ,
135- "python_version" : f"{ sys .version_info [0 ]} .{ sys .version_info [1 ]} .{ sys .version_info [2 ]} " ,
136- "deps_by_platform" : dependencies .deps_select ,
137- "entry_points" : [
138- {
139- "name" : name ,
140- "module" : module ,
141- "attribute" : attribute ,
142- }
143- for name , (module , attribute ) in sorted (whl .entry_points ().items ())
144- ],
145- }
146153 json .dump (metadata , f )
147154
148155
@@ -161,6 +168,7 @@ def main() -> None:
161168 _extract_wheel (
162169 wheel_file = whl ,
163170 extras = extras ,
171+ enable_pipstar = args .enable_pipstar ,
164172 enable_implicit_namespace_pkgs = args .enable_implicit_namespace_pkgs ,
165173 platforms = arguments .get_platforms (args ),
166174 )
0 commit comments