auditwheel-emscripten 0.2.0__py3-none-any.whl → 0.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,14 @@
1
1
  from pathlib import Path
2
2
 
3
- import typer
3
+ import click
4
4
 
5
5
  from .. import function_type, get_exports, get_imports, repair, show
6
6
  from ..show import locate_dependency
7
7
  from ..wheel_utils import unpack_if_wheel
8
8
 
9
- app = typer.Typer()
10
9
 
11
-
12
- @app.callback(no_args_is_help=True)
13
- def main():
10
+ @click.group(no_args_is_help=True)
11
+ def app():
14
12
  """Auditwheel-like tool for emscripten wheels and shared libraries."""
15
13
 
16
14
 
@@ -43,19 +41,18 @@ def print_dylib(
43
41
 
44
42
 
45
43
  @app.command("show")
44
+ @click.argument("wheel_or_so_file", type=click.Path(path_type=Path))
45
+ @click.option("--with-runtime-paths", "-r", is_flag=True, help="Show runtime paths.")
46
46
  def _show(
47
- wheel_or_so_file: Path = typer.Argument(
48
- ..., help="Path to wheel or a shared library file."
49
- ),
50
- show_runtime_paths: bool = typer.Option(
51
- False,
52
- "-r",
53
- "--with-runtime-paths",
54
- help="Show runtime paths.",
55
- ),
47
+ wheel_or_so_file: Path,
48
+ show_runtime_paths: bool,
56
49
  ):
57
50
  """
58
51
  Show shared library dependencies of a wheel or a shared library file.
52
+
53
+ \b
54
+ Arguments:
55
+ WHEEL_OR_SO_FILE: Path to wheel or a shared library file. (required)
59
56
  """
60
57
  try:
61
58
  libraries = show(wheel_or_so_file)
@@ -68,25 +65,33 @@ def _show(
68
65
 
69
66
 
70
67
  @app.command("repair")
68
+ @click.argument("wheel_file", type=click.Path(path_type=Path))
69
+ @click.option(
70
+ "--libdir",
71
+ type=click.Path(path_type=Path),
72
+ default="lib",
73
+ help="Path to the directory containing the shared libraries.",
74
+ show_default=True,
75
+ )
76
+ @click.option(
77
+ "--output-dir",
78
+ type=click.Path(path_type=Path),
79
+ default=None,
80
+ help="Directory to output repaired wheel or shared library. (default: overwrite the input file)",
81
+ )
82
+ @click.option("--with-runtime-paths", "-r", is_flag=True, help="Show runtime paths.")
71
83
  def _repair(
72
- wheel_file: Path = typer.Argument(..., help="Path to wheel file."),
73
- libdir: Path = typer.Option(
74
- "lib",
75
- help="Path to the directory containing the shared libraries.",
76
- ),
77
- output_dir: Path = typer.Option(
78
- None,
79
- help="Directory to output repaired wheel or shared library. (default: overwrite the input file)",
80
- ),
81
- show_runtime_paths: bool = typer.Option(
82
- False,
83
- "-r",
84
- "--with-runtime-paths",
85
- help="Show runtime paths.",
86
- ),
84
+ wheel_file: Path,
85
+ libdir: Path,
86
+ output_dir: Path | None,
87
+ show_runtime_paths: bool,
87
88
  ):
88
89
  """
89
90
  Repair a wheel file: copy shared libraries to the wheel directory.
91
+
92
+ \b
93
+ Arguments:
94
+ WHEEL_FILE: Path to wheel file. (required)
90
95
  """
91
96
  try:
92
97
  repaired_wheel = repair(
@@ -105,35 +110,54 @@ def _repair(
105
110
 
106
111
 
107
112
  @app.command("copy")
113
+ @click.argument("wheel_file", type=click.Path(path_type=Path))
114
+ @click.option(
115
+ "--libdir",
116
+ type=click.Path(path_type=Path),
117
+ default="lib",
118
+ help="Path to the directory containing the shared libraries.",
119
+ show_default=True,
120
+ )
121
+ @click.option(
122
+ "--output-dir",
123
+ type=click.Path(path_type=Path),
124
+ default=None,
125
+ help="Directory to output repaired wheel or shared library. (default: overwrite the input file)",
126
+ )
108
127
  def _copy(
109
- wheel_file: Path = typer.Argument(..., help="Path to wheel file."),
110
- libdir: Path = typer.Option(
111
- "lib",
112
- help="Path to the directory containing the shared libraries.",
113
- ),
114
- output_dir: Path = typer.Option(
115
- None,
116
- help="Directory to output repaired wheel or shared library. (default: overwrite the input file)",
117
- ),
128
+ wheel_file: Path,
129
+ libdir: Path,
130
+ output_dir: Path | None,
118
131
  ):
119
132
  """
120
133
  [Deprecated] Copy shared libraries to the wheel directory. Works same as `repair`. Use `repair` instead.
134
+
135
+ \b
136
+ Arguments:
137
+ WHEEL_FILE: Path to wheel file. (required)
121
138
  """
122
139
  return _repair(wheel_file, libdir, output_dir)
123
140
 
124
141
 
125
142
  @app.command("exports")
143
+ @click.argument("wheel_or_so_file", type=click.Path(path_type=Path))
144
+ @click.option(
145
+ "--show-type",
146
+ is_flag=True,
147
+ help="Show function type.",
148
+ default=False,
149
+ show_default=True,
150
+ )
126
151
  def _exports(
127
- wheel_or_so_file: Path = typer.Argument(
128
- ..., help="Path to wheel or a shared library file."
129
- ),
130
- show_type: bool = typer.Option(
131
- False,
132
- help="Show function type.",
133
- ),
152
+ wheel_or_so_file: Path,
153
+ show_type: bool,
134
154
  ):
135
155
  """
136
156
  Show exports of a wheel or a shared library file.
157
+
158
+ \b
159
+ Arguments:
160
+ WHEEL_OR_SO_FILE: Path to wheel or a shared library file. (required)
137
161
  """
138
162
  try:
139
163
  exports = get_exports(wheel_or_so_file)
@@ -154,17 +178,24 @@ def _exports(
154
178
 
155
179
 
156
180
  @app.command("imports")
181
+ @click.argument("wheel_or_so_file", type=click.Path(path_type=Path))
182
+ @click.option(
183
+ "--show-type",
184
+ is_flag=True,
185
+ help="Show function type.",
186
+ default=False,
187
+ show_default=True,
188
+ )
157
189
  def _imports(
158
- wheel_or_so_file: Path = typer.Argument(
159
- ..., help="Path to wheel or a shared library file."
160
- ),
161
- show_type: bool = typer.Option(
162
- False,
163
- help="Show function type.",
164
- ),
190
+ wheel_or_so_file: Path,
191
+ show_type: bool,
165
192
  ):
166
193
  """
167
194
  Show imports of a wheel or a shared library file.
195
+
196
+ \b
197
+ Arguments:
198
+ WHEEL_OR_SO_FILE: Path to wheel or a shared library file. (required)
168
199
  """
169
200
  try:
170
201
  imports = get_imports(wheel_or_so_file)
@@ -9,12 +9,15 @@ from .show import show
9
9
  from .wheel_utils import WHEEL_INFO_RE, is_emscripten_wheel, pack, unpack
10
10
 
11
11
 
12
- def resolve_sharedlib(wheel_file: str | Path, libdir: str | Path) -> dict[str, Path]:
12
+ def resolve_sharedlib(wheel_file: str | Path, libdir: str | Path | list[str | Path]) -> dict[str, Path]:
13
13
  """
14
14
  Resolve the full path of shared libraries inside the wheel file
15
15
  """
16
+ libdirs = []
17
+ libdir = libdir if isinstance(libdir, list) else [libdir]
16
18
 
17
- libdirs = libdir_candidates(libdir)
19
+ for d in libdir:
20
+ libdirs.extend(libdir_candidates(d))
18
21
 
19
22
  dependencies = show(wheel_file)
20
23
  dep_queue = deque([lib, deps] for lib, deps in dependencies.items())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: auditwheel_emscripten
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: auditwheel-like tool for Pyodide
5
5
  Project-URL: Home, https://github.com/pyodide/auditwheel-emscripten
6
6
  Author-email: Gyeongjae Choi <def6488@gmail.com>
@@ -381,8 +381,7 @@ License-File: LICENSE
381
381
  Requires-Python: >=3.12
382
382
  Requires-Dist: leb128
383
383
  Requires-Dist: packaging
384
- Requires-Dist: pyodide-cli
385
- Requires-Dist: typer
384
+ Requires-Dist: pyodide-cli>=0.4
386
385
  Requires-Dist: wheel
387
386
  Provides-Extra: test
388
387
  Requires-Dist: pytest; extra == 'test'
@@ -5,18 +5,18 @@ auditwheel_emscripten/imports.py,sha256=YI8KItf1qujmycSLb7c7igpCBXNqJAJVUIH3H8HY
5
5
  auditwheel_emscripten/lib_utils.py,sha256=4qodvz1go0tgHZA803Q3vcIR-QQbOdqSR0p2wo7wjrA,682
6
6
  auditwheel_emscripten/module.py,sha256=wwLAzlhGKgGojNvUdommO7FGfME49rWVRZOPRp77qjU,6619
7
7
  auditwheel_emscripten/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- auditwheel_emscripten/repair.py,sha256=jTbBG085JFlUmqUu2Tn_Zl3hPJ2LOcGaMXptbdOwxwo,3760
8
+ auditwheel_emscripten/repair.py,sha256=ucqS6igx5U-wGcTcpqeQa3Gi9sZ2EyykWSrhCNl4yoI,3884
9
9
  auditwheel_emscripten/show.py,sha256=i_2bOE-IP3fghGN4Sc5qAm4rIQ7NbvPucpv3G2klE4Y,2483
10
10
  auditwheel_emscripten/wasm_utils.py,sha256=-IuAWiPPOkWmPpaW4u3tyxttpP0ZTWeKk0VMh1dj384,220
11
11
  auditwheel_emscripten/wheel_utils.py,sha256=_uh8MiKYpjtBcpOE5bG2vEfh9eXlZhz-nMMVo6-Fvl8,2995
12
12
  auditwheel_emscripten/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- auditwheel_emscripten/cli/main.py,sha256=9_yxawwpf_5A8ED3mWtZZHezMklDrp-iWE4UCs_hvsA,5334
13
+ auditwheel_emscripten/cli/main.py,sha256=G-CjBFqf4Yxpg6CNcztGjHSDO2VvlMJFsG8uvMuia14,6044
14
14
  auditwheel_emscripten/emscripten_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  auditwheel_emscripten/emscripten_tools/diagnostics.py,sha256=fG8kS7BByJKwC3JJrfJc0TB1EDV4W--LQwcf4fnN0GI,7072
16
16
  auditwheel_emscripten/emscripten_tools/utils.py,sha256=sAcW8WaxfN0lNA64y9d0_CsdfYecV_YUcN6nrDrMmMs,3316
17
17
  auditwheel_emscripten/emscripten_tools/webassembly.py,sha256=ppyx_lzgtve2hCDn8jQn1Wto_2pGv-Kk-CcOhqUB8NQ,17408
18
- auditwheel_emscripten-0.2.0.dist-info/METADATA,sha256=bLok9JVxWeMLJNo6vp5lDOSphtpefPxrU3Vtx3Jh-6M,26972
19
- auditwheel_emscripten-0.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
20
- auditwheel_emscripten-0.2.0.dist-info/entry_points.txt,sha256=Jok5wALksOWKJv8BRV2Riozxts_stW2n-ud9uHTNCB8,62
21
- auditwheel_emscripten-0.2.0.dist-info/licenses/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
22
- auditwheel_emscripten-0.2.0.dist-info/RECORD,,
18
+ auditwheel_emscripten-0.2.2.dist-info/METADATA,sha256=WOjWvK3WZvu2DSmCryCsag_HF2vvZ1Vzdp_PUJErUQI,26956
19
+ auditwheel_emscripten-0.2.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
20
+ auditwheel_emscripten-0.2.2.dist-info/entry_points.txt,sha256=Jok5wALksOWKJv8BRV2Riozxts_stW2n-ud9uHTNCB8,62
21
+ auditwheel_emscripten-0.2.2.dist-info/licenses/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
22
+ auditwheel_emscripten-0.2.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any