pipeline/common/__init__.py (8 lines of code) (raw):

import math # Avoid circular dependencies by placing this in this file. def format_bytes(bytes: int) -> str: """Convert bytes into a human readable string.""" if bytes == 0: return "0 B" size_name = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"] size_index = int(math.floor(math.log(abs(bytes), 1000))) rounded_size = round(bytes / math.pow(1000, size_index), 1) return f"{rounded_size} {size_name[size_index]}"