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.38.18,botocore==1.38.18,cachetools==5.5.2,certifi==2025.4.26,charset-normalizer==3.4.2,coverage==7.8.0,durationpy==0.10,exceptiongroup==1.3.0,google-auth==2.40.1,idna==3.10,iniconfig==2.1.0,jmespath==1.0.1,kubernetes==32.0.1,mock==5.2.0,numpy==2.2.6,oauthlib==3.2.2,packaging==25.0,pandas==2.2.3,pip==25.1.1,pluggy==1.6.0,pyasn1==0.6.1,pyasn1_modules==0.4.2,pytest==8.3.5,pytest-cov==6.1.1,python-dateutil==2.9.0.post0,pytz==2025.2,PyYAML==6.0.2,requests==2.32.3,requests-oauthlib==2.0.0,rsa==4.9.1,s3transfer==0.12.0,setuptools==80.3.1,six==1.17.0,tomli==2.2.1,typing_extensions==4.13.2,tzdata==2025.2,urllib3==2.4.0,websocket-client==1.8.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 /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master 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.2) (1.38.18) Requirement already satisfied: kubernetes in ./.tox/code/lib/python3.10/site-packages (from modelmetricsdk==0.2) (32.0.1) Requirement already satisfied: pyyaml in ./.tox/code/lib/python3.10/site-packages (from modelmetricsdk==0.2) (6.0.2) Requirement already satisfied: botocore<1.39.0,>=1.38.18 in ./.tox/code/lib/python3.10/site-packages (from boto3->modelmetricsdk==0.2) (1.38.18) Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in ./.tox/code/lib/python3.10/site-packages (from boto3->modelmetricsdk==0.2) (1.0.1) Requirement already satisfied: s3transfer<0.13.0,>=0.12.0 in ./.tox/code/lib/python3.10/site-packages (from boto3->modelmetricsdk==0.2) (0.12.0) Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in ./.tox/code/lib/python3.10/site-packages (from botocore<1.39.0,>=1.38.18->boto3->modelmetricsdk==0.2) (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.39.0,>=1.38.18->boto3->modelmetricsdk==0.2) (2.4.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.39.0,>=1.38.18->boto3->modelmetricsdk==0.2) (1.17.0) Requirement already satisfied: certifi>=14.05.14 in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.2) (2025.4.26) Requirement already satisfied: google-auth>=1.0.1 in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.2) (2.40.1) 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.2) (1.8.0) Requirement already satisfied: requests in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.2) (2.32.3) Requirement already satisfied: requests-oauthlib in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.2) (2.0.0) Requirement already satisfied: oauthlib>=3.2.2 in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.2) (3.2.2) Requirement already satisfied: durationpy>=0.7 in ./.tox/code/lib/python3.10/site-packages (from kubernetes->modelmetricsdk==0.2) (0.10) Requirement already satisfied: cachetools<6.0,>=2.0.0 in ./.tox/code/lib/python3.10/site-packages (from google-auth>=1.0.1->kubernetes->modelmetricsdk==0.2) (5.5.2) Requirement already satisfied: pyasn1-modules>=0.2.1 in ./.tox/code/lib/python3.10/site-packages (from google-auth>=1.0.1->kubernetes->modelmetricsdk==0.2) (0.4.2) Requirement already satisfied: rsa<5,>=3.1.4 in ./.tox/code/lib/python3.10/site-packages (from google-auth>=1.0.1->kubernetes->modelmetricsdk==0.2) (4.9.1) Requirement already satisfied: pyasn1>=0.1.3 in ./.tox/code/lib/python3.10/site-packages (from rsa<5,>=3.1.4->google-auth>=1.0.1->kubernetes->modelmetricsdk==0.2) (0.6.1) Requirement already satisfied: charset-normalizer<4,>=2 in ./.tox/code/lib/python3.10/site-packages (from requests->kubernetes->modelmetricsdk==0.2) (3.4.2) Requirement already satisfied: idna<4,>=2.5 in ./.tox/code/lib/python3.10/site-packages (from requests->kubernetes->modelmetricsdk==0.2) (3.10) 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.2-py3-none-any.whl size=14997 sha256=ff7a16dc1f46c7cac653658795951af296a4d36ba8de536fc2a62b6cad40f235 Stored in directory: /home/jenkins/.cache/pip/wheels/85/75/0b/63953d427445a57d586cb6006f57b4ec8c6a5e18dd367ee907 Successfully built modelmetricsdk Installing collected packages: modelmetricsdk Successfully installed modelmetricsdk-0.2 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-8.3.5, pluggy-1.6.0 cachedir: .tox/code/.pytest_cache rootdir: /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master plugins: cov-6.1.1 collected 22 items test/test_model_metrics_sdk.py ...................... [100%] =============================== warnings summary =============================== modelmetricsdk/singleton_manager.py:26 /w/workspace/aiml-fw-athp-sdk-model-storage-pypi-verify-master/modelmetricsdk/singleton_manager.py:26: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ---------------------- 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 188 7 96% 100, 157, 295, 297, 365-367 modelmetricsdk/sdk_exception.py 4 0 100% modelmetricsdk/singleton_manager.py 40 1 98% 81 modelmetricsdk/storage_factory.py 7 7 0% 18-53 ----------------------------------------------------------------------- TOTAL 337 113 66% Coverage HTML written to dir htmlcov Coverage XML written to file coverage.xml Required test coverage of 30% reached. Total coverage: 66.47% ======================== 22 passed, 1 warning in 1.25s ========================= code: commands[2]> coverage xml -i Wrote XML report to coverage.xml code: OK ✔ in 25.25 seconds docs: install_deps> python -I -m pip install lfdocs-conf recommonmark sphinx sphinx-rtd-theme sphinxcontrib-httpdomain docs: freeze> python -m pip freeze --all docs: alabaster==1.0.0,attrs==25.3.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.4.26,charset-normalizer==3.4.2,commonmark==0.9.1,contourpy==1.3.2,cycler==0.12.1,docutils==0.21.2,fonttools==4.58.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.10,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.8,lfdocs-conf==0.9.0,MarkupSafe==3.0.2,matplotlib==3.10.3,numpy==2.2.6,nwdiag==3.0.0,packaging==25.0,pillow==11.2.1,pip==25.1.1,Pygments==2.19.1,pyparsing==3.2.3,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,recommonmark==0.7.1,requests==2.32.3,requests-file==1.5.1,seqdiag==3.0.0,setuptools==80.3.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-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==1.8.1,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.30,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,tomli==2.2.1,urllib3==2.4.0,webcolors==24.11.1 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 21.47 seconds docs-linkcheck: install_deps> python -I -m pip install lfdocs-conf recommonmark sphinx sphinx-rtd-theme sphinxcontrib-httpdomain docs-linkcheck: freeze> python -m pip freeze --all docs-linkcheck: alabaster==1.0.0,attrs==25.3.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.4.26,charset-normalizer==3.4.2,commonmark==0.9.1,contourpy==1.3.2,cycler==0.12.1,docutils==0.21.2,fonttools==4.58.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.10,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.8,lfdocs-conf==0.9.0,MarkupSafe==3.0.2,matplotlib==3.10.3,numpy==2.2.6,nwdiag==3.0.0,packaging==25.0,pillow==11.2.1,pip==25.1.1,Pygments==2.19.1,pyparsing==3.2.3,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,recommonmark==0.7.1,requests==2.32.3,requests-file==1.5.1,seqdiag==3.0.0,setuptools==80.3.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-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==1.8.1,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.30,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,tomli==2.2.1,urllib3==2.4.0,webcolors==24.11.1 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: OK (25.25=setup[20.82]+cmd[2.57,1.71,0.16] seconds) docs: OK (21.47=setup[20.62]+cmd[0.85,0.01] seconds) docs-linkcheck: OK (18.55=setup[17.41]+cmd[1.15] seconds) congratulations :) (65.48 seconds)