diff --git a/check_missing_packages.py b/check_missing_packages.py index 840fc9d..7c93985 100644 --- a/check_missing_packages.py +++ b/check_missing_packages.py @@ -25,49 +25,23 @@ from rich.table import Table from rich.text import Text from common import parse_wheel_filename -from create_matrix import ( - EXCLUDE, - LINUX_ARM64_MATRIX, - LINUX_ARM64_SELF_HOSTED_MATRIX, - LINUX_MATRIX, - LINUX_SELF_HOSTED_MATRIX, - WINDOWS_CODEBUILD_MATRIX, - WINDOWS_MATRIX, - WINDOWS_SELF_HOSTED_MATRIX, -) +from coverage_matrix import LINUX_ARM64_MATRIX, LINUX_MATRIX, WINDOWS_MATRIX +from create_matrix import EXCLUDE # Comprehensive matrix combining all platform-specific matrices def get_comprehensive_matrix(platform: str) -> dict: - """Get comprehensive matrix for a platform by merging all related matrices.""" + """Get comprehensive matrix for a platform.""" if platform == "linux": - # Merge LINUX_MATRIX and LINUX_SELF_HOSTED_MATRIX - return merge_matrices([LINUX_MATRIX, LINUX_SELF_HOSTED_MATRIX]) + return LINUX_MATRIX elif platform == "linux_arm64": - return merge_matrices([LINUX_ARM64_MATRIX, LINUX_ARM64_SELF_HOSTED_MATRIX]) + return LINUX_ARM64_MATRIX elif platform == "windows": - return merge_matrices( - [WINDOWS_MATRIX, WINDOWS_SELF_HOSTED_MATRIX, WINDOWS_CODEBUILD_MATRIX] - ) + return WINDOWS_MATRIX else: return {} -def merge_matrices(matrices: list[dict]) -> dict: - """Merge multiple matrices by combining their version lists.""" - merged = { - "flash-attn-version": set(), - "python-version": set(), - "torch-version": set(), - "cuda-version": set(), - } - for matrix in matrices: - for key in merged: - merged[key].update(matrix.get(key, [])) - # Convert sets to sorted lists - return {key: sorted(vals, key=parse_version_tuple) for key, vals in merged.items()} - - def parse_version_tuple(version: str) -> tuple: """Parse version string to tuple for sorting.""" parts = version.replace("post", ".").split(".") diff --git a/coverage_matrix.py b/coverage_matrix.py new file mode 100644 index 0000000..19ae8b1 --- /dev/null +++ b/coverage_matrix.py @@ -0,0 +1,74 @@ +"""Coverage matrix definitions for wheel availability checks.""" + +LINUX_MATRIX = { + "flash-attn-version": [ + "2.6.3", + "2.7.4", + "2.8.3", + ], + "python-version": [ + "3.10", + "3.11", + "3.12", + "3.13", + "3.14", + ], + "torch-version": [ + "2.5.1", + "2.6.0", + "2.7.1", + "2.8.0", + "2.9.1", + "2.10.0", + ], + "cuda-version": [ + "12.4", + "12.6", + "12.8", + "13.0", + ], +} + +LINUX_ARM64_MATRIX = { + "flash-attn-version": [ + "2.8.3", + ], + "python-version": [ + "3.10", + "3.11", + "3.12", + "3.13", + "3.14", + ], + "torch-version": [ + "2.9.1", + "2.10.0", + ], + "cuda-version": [ + "12.6", + "12.8", + "13.0", + ], +} + +WINDOWS_MATRIX = { + "flash-attn-version": [ + "2.8.3", + ], + "python-version": [ + "3.10", + "3.11", + "3.12", + "3.13", + "3.14", + ], + "torch-version": [ + "2.9.1", + "2.10.0", + ], + "cuda-version": [ + "12.6", + "12.8", + "13.0", + ], +}