mirror of
https://github.com/headroomlabs-ai/headroom.git
synced 2026-08-27 14:17:10 -04:00
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
|
|
"""Dependency contract between Rust ort API 24 and pip ONNX Runtime."""
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
import tomllib
|
||
|
|
from packaging.requirements import Requirement
|
||
|
|
|
||
|
|
ROOT = Path(__file__).resolve().parents[1]
|
||
|
|
|
||
|
|
|
||
|
|
def test_shipping_ort_dependencies_require_api24_where_wheels_exist() -> None:
|
||
|
|
project = tomllib.loads((ROOT / "pyproject.toml").read_text())["project"]
|
||
|
|
optional = project["optional-dependencies"]
|
||
|
|
|
||
|
|
for extra in ("proxy", "voice"):
|
||
|
|
requirements = [
|
||
|
|
Requirement(value)
|
||
|
|
for value in optional[extra]
|
||
|
|
if Requirement(value).name == "onnxruntime"
|
||
|
|
]
|
||
|
|
assert len(requirements) == 2
|
||
|
|
modern = next(
|
||
|
|
req
|
||
|
|
for req in requirements
|
||
|
|
if req.marker and req.marker.evaluate({"python_version": "3.11"})
|
||
|
|
)
|
||
|
|
legacy = next(
|
||
|
|
req
|
||
|
|
for req in requirements
|
||
|
|
if req.marker and req.marker.evaluate({"python_version": "3.10"})
|
||
|
|
)
|
||
|
|
assert modern.specifier.contains("1.24.0")
|
||
|
|
assert not legacy.specifier.contains("1.24.0")
|