mirror of https://github.com/vllm-project/vllm
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import os
|
|
import zipfile
|
|
|
|
MAX_SIZE_MB = 250
|
|
|
|
|
|
def print_top_10_largest_files(zip_file):
|
|
with zipfile.ZipFile(zip_file, 'r') as z:
|
|
file_sizes = [(f, z.getinfo(f).file_size) for f in z.namelist()]
|
|
file_sizes.sort(key=lambda x: x[1], reverse=True)
|
|
for f, size in file_sizes[:10]:
|
|
print(f"{f}: {size/(1024*1024)} MBs uncompressed.")
|
|
|
|
|
|
def check_wheel_size(directory):
|
|
for root, _, files in os.walk(directory):
|
|
for f in files:
|
|
if f.endswith(".whl"):
|
|
wheel_path = os.path.join(root, f)
|
|
wheel_size = os.path.getsize(wheel_path)
|
|
wheel_size_mb = wheel_size / (1024 * 1024)
|
|
if wheel_size_mb > MAX_SIZE_MB:
|
|
print(
|
|
f"Wheel {wheel_path} is too large ({wheel_size_mb} MB) "
|
|
f"compare to the allowed size ({MAX_SIZE_MB} MB).")
|
|
print_top_10_largest_files(wheel_path)
|
|
return 1
|
|
else:
|
|
print(f"Wheel {wheel_path} is within the allowed size "
|
|
f"({wheel_size_mb} MB).")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import sys
|
|
sys.exit(check_wheel_size(sys.argv[1]))
|