Spaces:
Running on L40S
Running on L40S
File size: 1,289 Bytes
9f818c5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: OpenMDW-1.1
"""
Imaginaire4 Attention Subpackage:
Unified implementation for all Attention implementations.
Utilities: version checking helpers shared across backends.
"""
from packaging.version import Version
def parse_version(version_str: str) -> Version | None:
"""Parse a version string into a ``packaging.version.Version``, returning ``None`` on failure."""
try:
return Version(version_str)
except Exception:
return None
def version_at_least(version_str: str, min_version: str) -> bool:
"""Return ``True`` if *version_str* >= *min_version*. Returns ``False`` on parse failure."""
v = parse_version(version_str)
m = parse_version(min_version)
if v is None or m is None:
return False
return v >= m
def version_in_range(version_str: str, min_version: str, max_version: str) -> bool:
"""Return ``True`` if *min_version* <= *version_str* <= *max_version*. Returns ``False`` on parse failure."""
v = parse_version(version_str)
lo = parse_version(min_version)
hi = parse_version(max_version)
if v is None or lo is None or hi is None:
return False
return lo <= v <= hi
|