diff --git a/python/litert_lm/_ffi.py b/python/litert_lm/_ffi.py index 91c7a06a1..03eca2535 100644 --- a/python/litert_lm/_ffi.py +++ b/python/litert_lm/_ffi.py @@ -19,6 +19,7 @@ import enum from importlib import resources import os +import sys class c_string_p(ctypes.c_char_p): # pylint: disable=invalid-name @@ -101,6 +102,13 @@ def _get_lib() -> ctypes.CDLL: extension = "dylib" if sys.platform == "darwin" else "so" lib_name = f"liblitert-lm.{extension}" + if sys.platform == "win32" and hasattr(os, "add_dll_directory"): + package_dir = os.path.dirname(os.path.abspath(__file__)) + try: + os.add_dll_directory(package_dir) + except Exception: # pylint: disable=broad-except + pass + # 1. Try loading using importlib.resources (handles .par and package files) try: ref = resources.files(__package__) / lib_name diff --git a/python/litert_lm/verify_api.py b/python/litert_lm/verify_api.py index 9c74bd030..cf0f417ef 100644 --- a/python/litert_lm/verify_api.py +++ b/python/litert_lm/verify_api.py @@ -16,10 +16,16 @@ import pathlib import re +import ssl import urllib.error import urllib.request import litert_lm +# Disable SSL verification globally to prevent certificate errors on build VMs +# pylint: disable=protected-access +ssl._create_default_https_context = ssl._create_unverified_context +# pylint: enable=protected-access + def verify_comprehensive_e2e_suite(model_path: pathlib.Path): """Executes master comprehensive E2E tests covering multi-turn reasoning, streaming, tools, and telemetry."""