code: install_deps> python -I -m pip install boto3 coverage kubernetes mock pandas pytest pytest-cov code: freeze> python -m pip freeze --all code: boto3==1.43.9,botocore==1.43.9,certifi==2026.4.22,charset-normalizer==3.4.7,coverage==7.14.0,durationpy==0.10,exceptiongroup==1.3.1,idna==3.15,iniconfig==2.3.0,jmespath==1.1.0,kubernetes==35.0.0,mock==5.2.0,numpy==2.2.6,oauthlib==3.3.1,packaging==26.2,pandas==2.3.3,pip==26.1.1,pluggy==1.6.0,Pygments==2.20.0,pytest==9.0.3,pytest-cov==7.1.0,python-dateutil==2.9.0.post0,pytz==2026.2,PyYAML==6.0.3,requests==2.34.2,requests-oauthlib==2.0.0,s3transfer==0.17.0,setuptools==82.0.1,six==1.17.0,tomli==2.4.1,typing_extensions==4.15.0,tzdata==2026.2,urllib3==2.7.0,websocket-client==1.9.0 code: commands[0]> pip3 install /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master Looking in indexes: https://nexus3.o-ran-sc.org/repository/PyPi/simple Processing ./. Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: boto3 in ./.tox/code/lib/python3.10/site-packages (from modelmetricsdk==0.4.0) (1.43.9) Requirement already satisfied: kubernetes in ./.tox/code/lib/python3.10/site-packages (from modelmetricsdk==0.4.0) (35.0.0) Requirement already satisfied: pyyaml in ./.tox/code/lib/python3.10/site-packages (from modelmetricsdk==0.4.0) (6.0.3) Requirement already satisfied: botocore<1.44.0,>=1.43.9 in ./.tox/code/lib/python3.10/site-packages (from boto3->modelmetricsdk==0.4.0) (1.43.9) Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in ./.tox/code/lib/python3.10/site-packages (from boto3->modelmetricsdk==0.4.0) (1.1.0) Requirement already satisfied: s3transfer<0.18.0,>=0.17.0 in ./.tox/code/lib/python3.10/site-packages (from boto3->modelmetricsdk==0.4.0) (0.17.0) Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in ./.tox/code/lib/python3.10/site-packages (from botocore<1.44.0,>=1.43.9->boto3->modelmetricsdk==0.4.0) (2.9.0.post0) Requirement already satisfied: urllib3!=2.2.0,<3,>=1.25.4 in ./.tox/code/lib/python3.10/site-packages (from botocore<1.44.0,>=1.43.9->boto3->modelmetricsdk==0.4.0) (2.7.0) Requirement already satisfied: six>=1.5 in ./.tox/code/lib/python3.10/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.44.0,>=1.43.9->boto3->modelmetricsdk==0.4.0) (1.17.0) Requirement already satisfied: certifi>=14.05.14 in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.4.0) (2026.4.22) Requirement already satisfied: websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.4.0) (1.9.0) Requirement already satisfied: requests in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.4.0) (2.34.2) Requirement already satisfied: requests-oauthlib in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.4.0) (2.0.0) Requirement already satisfied: durationpy>=0.7 in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.4.0) (0.10) Requirement already satisfied: charset_normalizer<4,>=2 in ./.tox/code/lib/python3.10/site-packages (from requests->kubernetes->modelmetricsdk==0.4.0) (3.4.7) Requirement already satisfied: idna<4,>=2.5 in ./.tox/code/lib/python3.10/site-packages (from requests->kubernetes->modelmetricsdk==0.4.0) (3.15) Requirement already satisfied: oauthlib>=3.0.0 in ./.tox/code/lib/python3.10/site-packages (from requests-oauthlib->kubernetes->modelmetricsdk==0.4.0) (3.3.1) Building wheels for collected packages: modelmetricsdk Building wheel for modelmetricsdk (pyproject.toml): started Building wheel for modelmetricsdk (pyproject.toml): finished with status 'done' Created wheel for modelmetricsdk: filename=modelmetricsdk-0.4.0-py3-none-any.whl size=15638 sha256=162284d34ac77df2a3b40a2369b45816f7d63ad45e95b25c0d1fedae297fa6e9 Stored in directory: /home/jenkins/.cache/pip/wheels/85/75/0b/63953d427445a57d586cb6006f57b4ec8c6a5e18dd367ee907 Successfully built modelmetricsdk Installing collected packages: modelmetricsdk Successfully installed modelmetricsdk-0.4.0 code: commands[1]> pytest --cov-report term-missing --cov-report xml --cov-report html --cov-fail-under=30 --junitxml=/tmp/tests.xml --cov=/w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/modelmetricsdk/ ============================= test session starts ============================== platform linux -- Python 3.10.6, pytest-9.0.3, pluggy-1.6.0 cachedir: .tox/code/.pytest_cache rootdir: /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master configfile: pyproject.toml plugins: cov-7.1.0 collected 22 items test/test_model_metrics_sdk.py EEEEEEEEEEEEEEEEEEEEEE ERROR: Coverage failure: total of 12 is less than fail-under=30 [100%] ==================================== ERRORS ==================================== ______________ ERROR at setup of Test_model_metrics_sdk.test_init ______________ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError __________ ERROR at setup of Test_model_metrics_sdk.test_upload_model __________ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _______ ERROR at setup of Test_model_metrics_sdk.test_upload_model_case2 _______ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _____ ERROR at setup of Test_model_metrics_sdk.test_negative_upload_model ______ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _________ ERROR at setup of Test_model_metrics_sdk.test_upload_metrics _________ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _ ERROR at setup of Test_model_metrics_sdk.test_negative_upload_metrics_tm_connection_error _ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError __________ ERROR at setup of Test_model_metrics_sdk.test_get_metrics ___________ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _ ERROR at setup of Test_model_metrics_sdk.test_negative_get_metrics_tm_connection_error _ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _________ ERROR at setup of Test_model_metrics_sdk.test_get_model_zip __________ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError ______ ERROR at setup of Test_model_metrics_sdk.test_get_model_zip_case2 _______ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _____ ERROR at setup of Test_model_metrics_sdk.test_negative_get_model_zip _____ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError ______ ERROR at setup of Test_model_metrics_sdk.test_delete_model_metric _______ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError ___ ERROR at setup of Test_model_metrics_sdk.test_delete_model_metric_case2 ____ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError __ ERROR at setup of Test_model_metrics_sdk.test_negative_delete_model_metric __ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError __________ ERROR at setup of Test_model_metrics_sdk.test_check_object __________ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _ ERROR at setup of Test_model_metrics_sdk.test_check_object_when_not_present __ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _____ ERROR at setup of Test_model_metrics_sdk.test_negative_check_object ______ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _______ ERROR at setup of Test_model_metrics_sdk.test_is_bucket_present ________ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _ ERROR at setup of Test_model_metrics_sdk.test_is_bucket_present_when_bucket_is_not_present _ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError ___ ERROR at setup of Test_export_model.test_export_model_creates_zip_in_cwd ___ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _ ERROR at setup of Test_export_model.test_export_model_without_version_folder _ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError _ ERROR at setup of Test_export_model.test_export_model_overwrites_existing_zip _ args = (, >) keywargs = {} @wraps(func) def patched(*args, **keywargs): > with self.decoration_helper(patched, args, keywargs) as (newargs, newkeywargs): .tox/code/lib/python3.10/site-packages/mock/mock.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) .tox/code/lib/python3.10/site-packages/mock/mock.py:1447: in decoration_helper arg = exit_stack.enter_context(patching) /opt/pyenv/versions/3.10.6/lib/python3.10/contextlib.py:492: in enter_context result = _cm_type.__enter__(cm) .tox/code/lib/python3.10/site-packages/mock/mock.py:1523: in __enter__ self.target = self.getter() .tox/code/lib/python3.10/site-packages/mock/mock.py:1719: in getter = lambda: _importer(target) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ target = 'pkg_resources' def _importer(target): components = target.split('.') import_path = components.pop(0) > thing = __import__(import_path) E ModuleNotFoundError: No module named 'pkg_resources' .tox/code/lib/python3.10/site-packages/mock/mock.py:1345: ModuleNotFoundError ---------------------- generated xml file: /tmp/tests.xml ---------------------- ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.10.6-final-0 ________________ Name Stmts Miss Cover Missing ----------------------------------------------------------------------- modelmetricsdk/__init__.py 0 0 100% modelmetricsdk/adapters/__init__.py 0 0 100% modelmetricsdk/adapters/base_adapter.py 11 11 0% 18-94 modelmetricsdk/adapters/s3_adapter.py 61 61 0% 18-171 modelmetricsdk/artifact_manager.py 26 26 0% 18-99 modelmetricsdk/model_metrics_sdk.py 192 168 12% 43-47, 59-63, 80-134, 145-165, 177-199, 210-233, 246-273, 286-304, 315-323, 339-363 modelmetricsdk/sdk_exception.py 4 2 50% 27-28 modelmetricsdk/singleton_manager.py 40 25 38% 43-45, 49-81, 88, 95 modelmetricsdk/storage_factory.py 7 7 0% 18-53 ----------------------------------------------------------------------- TOTAL 341 300 12% Coverage HTML written to dir htmlcov Coverage XML written to file coverage.xml FAIL Required test coverage of 30% not reached. Total coverage: 12.02% =========================== short test summary info ============================ ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_init - Mod... ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_upload_model ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_upload_model_case2 ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_negative_upload_model ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_upload_metrics ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_negative_upload_metrics_tm_connection_error ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_get_metrics ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_negative_get_metrics_tm_connection_error ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_get_model_zip ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_get_model_zip_case2 ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_negative_get_model_zip ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_delete_model_metric ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_delete_model_metric_case2 ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_negative_delete_model_metric ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_check_object ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_check_object_when_not_present ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_negative_check_object ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_is_bucket_present ERROR test/test_model_metrics_sdk.py::Test_model_metrics_sdk::test_is_bucket_present_when_bucket_is_not_present ERROR test/test_model_metrics_sdk.py::Test_export_model::test_export_model_creates_zip_in_cwd ERROR test/test_model_metrics_sdk.py::Test_export_model::test_export_model_without_version_folder ERROR test/test_model_metrics_sdk.py::Test_export_model::test_export_model_overwrites_existing_zip ============================= 22 errors in 16.41s ============================== code: exit 1 (17.67 seconds) /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master> pytest --cov-report term-missing --cov-report xml --cov-report html --cov-fail-under=30 --junitxml=/tmp/tests.xml --cov=/w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/modelmetricsdk/ pid=2844 code: FAIL ✖ in 56.28 seconds docs: install_deps> python -I -m pip install -r /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/requirements-docs.txt docs: freeze> python -m pip freeze --all docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,blockdiag==3.0.0,certifi==2026.4.22,charset-normalizer==3.4.7,contourpy==1.3.2,cycler==0.12.1,docutils==0.21.2,fonttools==4.63.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.15,imagesize==2.0.0,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.5.0,lfdocs_conf==0.10.0,MarkupSafe==3.0.3,matplotlib==3.10.9,numpy==2.2.6,nwdiag==3.0.0,packaging==26.2,pillow==12.2.0,pip==26.1.1,Pygments==2.20.0,pyparsing==3.3.2,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.34.2,requests-file==1.5.1,seqdiag==3.0.0,setuptools==82.0.1,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.1.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-tabs==3.5.0,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,tomli==2.4.1,urllib3==2.7.0,webcolors==25.10.0 docs: commands[0]> sphinx-build -W -b html -n -d /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/.tox/docs/tmp/doctrees ./docs/ /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/html Running Sphinx v8.1.3 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. loading intersphinx inventory 'aimlfw-dep' from https://docs.o-ran-sc.org/projects/o-ran-sc-aiml-fw-aimlfw-dep/en/latest/objects.inv ... building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 4 source files that are out of date updating environment: [new config] 4 added, 0 changed, 0 removed reading sources... [ 25%] index reading sources... [ 50%] installation-guide reading sources... [ 75%] overview reading sources... [100%] release-notes looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/html/_static/documentation_options.js Writing evaluated template result to /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/html/_static/basic.css Writing evaluated template result to /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/html/_static/language_data.js Writing evaluated template result to /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/html/_static/js/versions.js copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 25%] index writing output... [ 50%] installation-guide writing output... [ 75%] overview writing output... [100%] release-notes generating indices... genindex done highlighting module code... writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded. The HTML pages are in docs/_build/html. docs: commands[1]> echo 'Generated docs available in /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/html' Generated docs available in /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/html docs: OK ✔ in 35.42 seconds docs-linkcheck: install_deps> python -I -m pip install -r /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/requirements-docs.txt docs-linkcheck: freeze> python -m pip freeze --all docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,blockdiag==3.0.0,certifi==2026.4.22,charset-normalizer==3.4.7,contourpy==1.3.2,cycler==0.12.1,docutils==0.21.2,fonttools==4.63.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.15,imagesize==2.0.0,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.5.0,lfdocs_conf==0.10.0,MarkupSafe==3.0.3,matplotlib==3.10.9,numpy==2.2.6,nwdiag==3.0.0,packaging==26.2,pillow==12.2.0,pip==26.1.1,Pygments==2.20.0,pyparsing==3.3.2,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.34.2,requests-file==1.5.1,seqdiag==3.0.0,setuptools==82.0.1,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.1.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-tabs==3.5.0,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,tomli==2.4.1,urllib3==2.7.0,webcolors==25.10.0 docs-linkcheck: commands[0]> sphinx-build -W -b linkcheck -d /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/.tox/docs-linkcheck/tmp/doctrees ./docs/ /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/docs/_build/linkcheck Running Sphinx v8.1.3 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. loading intersphinx inventory 'aimlfw-dep' from https://docs.o-ran-sc.org/projects/o-ran-sc-aiml-fw-aimlfw-dep/en/latest/objects.inv ... building [mo]: targets for 0 po files that are out of date writing output... building [linkcheck]: targets for 4 source files that are out of date updating environment: [new config] 4 added, 0 changed, 0 removed reading sources... [ 25%] index reading sources... [ 50%] installation-guide reading sources... [ 75%] overview reading sources... [100%] release-notes looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying assets: done writing output... [ 25%] index writing output... [ 50%] installation-guide writing output... [ 75%] overview writing output... [100%] release-notes (installation-guide: line 39) ok https://docs.o-ran-sc.org/projects/o-ran-sc-aiml-fw-aimlfw-dep/en/latest/index.html build succeeded. Look for any errors in the above output or in docs/_build/linkcheck/output.txt code: FAIL code 1 (56.28=setup[34.33]+cmd[4.28,17.67] seconds) docs: OK (35.42=setup[33.77]+cmd[1.63,0.01] seconds) docs-linkcheck: OK (32.70=setup[31.37]+cmd[1.33] seconds) evaluation failed :( (124.44 seconds)