"""
Functions for handling version dependencies between SKA Low components.
"""
from typing import TypeVar
from ska_oso_pdm.sb_definition import SDPScript
from ska_oso_scripting.pdm_transforms.sdp import (
select_sdp_script_version_for_sdp_version,
)
VersionedObj = TypeVar("VersionedObj")
[docs]
def select_sdp_vis_receive_version(
sdp_version: str, version_specifier: str = ""
) -> str:
"""
Use the supplied `sdp_version` to determine the best version of vis-receive.
`version_specifier` is a PEP 440-compatible version specifier that optionally
restricts which vis-receive versions are eligible for selection.
"""
return select_sdp_script_version_for_sdp_version(
sdp_version=sdp_version,
script_name=SDPScript.VIS_RECEIVE,
version_specifier=version_specifier,
)