MaastrichtU-IDS / trapi-predict-kit

🧰 A package to help create and deploy Translator Reasoner APIs (TRAPI) from any prediction model exposed as a regular python function.
https://maastrichtu-ids.github.io/trapi-predict-kit
MIT License
1 stars 2 forks source link

pip install trapi_predict_kit results in error #3

Open micheldumontier opened 4 months ago

micheldumontier commented 4 months ago

pip install trapi_predict_kit Defaulting to user installation because normal site-packages is not writeable Collecting trapi_predict_kit Using cached trapi_predict_kit-0.2.3-py3-none-any.whl (21 kB) Collecting reasoner-pydantic>=3.0.1 Using cached reasoner_pydantic-5.0.3-py3-none-any.whl (15 kB) Requirement already satisfied: dvc in /home/micheldumontier/.local/lib/python3.10/site-packages (from trapi_predict_kit) (3.49.0) Collecting bmt Using cached bmt-1.4.2-py3-none-any.whl (14 kB) Collecting mlem Using cached mlem-0.4.14-py3-none-any.whl (218 kB) Requirement already satisfied: requests>=2.23.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from trapi_predict_kit) (2.31.0) Requirement already satisfied: rdflib>=6.1.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from trapi_predict_kit) (6.3.2) Requirement already satisfied: fastapi>=0.68.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from trapi_predict_kit) (0.108.0) Requirement already satisfied: pydantic>=1.9 in /home/micheldumontier/.local/lib/python3.10/site-packages (from trapi_predict_kit) (2.5.3) Requirement already satisfied: typing-extensions>=4.8.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from fastapi>=0.68.1->trapi_predict_kit) (4.9.0) Requirement already satisfied: starlette<0.33.0,>=0.29.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from fastapi>=0.68.1->trapi_predict_kit) (0.32.0.post1) Requirement already satisfied: annotated-types>=0.4.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from pydantic>=1.9->trapi_predict_kit) (0.6.0) Requirement already satisfied: pydantic-core==2.14.6 in /home/micheldumontier/.local/lib/python3.10/site-packages (from pydantic>=1.9->trapi_predict_kit) (2.14.6) Requirement already satisfied: isodate<0.7.0,>=0.6.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from rdflib>=6.1.1->trapi_predict_kit) (0.6.1) Requirement already satisfied: pyparsing<4,>=2.1.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from rdflib>=6.1.1->trapi_predict_kit) (3.1.2) Collecting pydantic>=1.9 Using cached pydantic-1.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB) Requirement already satisfied: certifi>=2017.4.17 in /home/micheldumontier/.local/lib/python3.10/site-packages (from requests>=2.23.0->trapi_predict_kit) (2024.2.2) Requirement already satisfied: idna<4,>=2.5 in /home/micheldumontier/.local/lib/python3.10/site-packages (from requests>=2.23.0->trapi_predict_kit) (3.6) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from requests>=2.23.0->trapi_predict_kit) (1.26.18) Requirement already satisfied: charset-normalizer<4,>=2 in /home/micheldumontier/.local/lib/python3.10/site-packages (from requests>=2.23.0->trapi_predict_kit) (3.3.2) Collecting stringcase<2.0.0,>=1.2.0 Using cached stringcase-1.2.0-py3-none-any.whl Requirement already satisfied: linkml-runtime<2.0.0,>=1.6.3 in /home/micheldumontier/.local/lib/python3.10/site-packages (from bmt->trapi_predict_kit) (1.6.3) Requirement already satisfied: deprecation<3.0.0,>=2.1.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from bmt->trapi_predict_kit) (2.1.0) Requirement already satisfied: dulwich in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.21.7) Requirement already satisfied: flufl.lock<8,>=5 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (7.1.1) Requirement already satisfied: tabulate>=0.8.7 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.9.0) Requirement already satisfied: configobj>=5.0.6 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (5.0.8) Requirement already satisfied: pydot>=1.2.4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (2.0.0) Requirement already satisfied: funcy>=1.14 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (2.0) Requirement already satisfied: omegaconf in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (2.3.0) Requirement already satisfied: rich>=12 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (13.7.0) Requirement already satisfied: tomlkit>=0.11.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.12.0) Requirement already satisfied: dvc-studio-client<1,>=0.20 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.20.0) Requirement already satisfied: dvc-render<2,>=1.0.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (1.0.1) Requirement already satisfied: dvc-data<3.16,>=3.15 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (3.15.1) Requirement already satisfied: gto<2,>=1.6.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (1.7.1) Requirement already satisfied: psutil>=5.8 in /usr/lib/python3/dist-packages (from dvc->trapi_predict_kit) (5.9.0) Requirement already satisfied: shtab<2,>=1.3.4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (1.7.1) Requirement already satisfied: flatten-dict<1,>=0.4.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.4.2) Requirement already satisfied: zc.lockfile>=1.2.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (3.0.post1) Requirement already satisfied: dvc-http>=2.29.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (2.32.0) Requirement already satisfied: grandalf<1,>=0.7 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.8) Requirement already satisfied: networkx>=2.5 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (3.2.1) Requirement already satisfied: kombu in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (5.3.5) Requirement already satisfied: packaging>=19 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (23.2) Requirement already satisfied: iterative-telemetry>=0.0.7 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.0.8) Requirement already satisfied: scmrepo<4,>=3 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (3.3.1) Requirement already satisfied: platformdirs<4,>=3.1.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (3.11.0) Requirement already satisfied: shortuuid>=0.5 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (1.0.13) Requirement already satisfied: ruamel.yaml>=0.17.11 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.18.5) Requirement already satisfied: colorama>=0.3.9 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.4.6) Requirement already satisfied: fsspec in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (2024.3.1) Requirement already satisfied: hydra-core>=1.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (1.3.2) Requirement already satisfied: celery in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (5.3.6) Requirement already satisfied: dvc-objects in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (5.1.0) Requirement already satisfied: distro>=1.3 in /usr/lib/python3/dist-packages (from dvc->trapi_predict_kit) (1.7.0) Requirement already satisfied: tqdm<5,>=4.63.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (4.66.2) Requirement already satisfied: dpath<3,>=2.1.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (2.1.6) Requirement already satisfied: dvc-task<1,>=0.3.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.4.0) Requirement already satisfied: pathspec>=0.10.3 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.12.1) Requirement already satisfied: voluptuous>=0.11.7 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (0.14.2) Requirement already satisfied: attrs>=22.2.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (23.2.0) Requirement already satisfied: pygtrie>=2.3.2 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc->trapi_predict_kit) (2.5.0) Requirement already satisfied: click<8.2 in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (8.1.7) Collecting python-gitlab Using cached python_gitlab-4.6.0-py3-none-any.whl (140 kB) Collecting cached-property Using cached cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB) Requirement already satisfied: dill in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (0.3.7) Requirement already satisfied: gitpython in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (3.1.40) Requirement already satisfied: Jinja2>=3 in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (3.1.2) Requirement already satisfied: aiohttp<4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (3.9.1) Requirement already satisfied: importlib-metadata in /usr/lib/python3/dist-packages (from mlem->trapi_predict_kit) (4.6.4) Collecting aiohttp-swagger<2 Using cached aiohttp_swagger-1.0.16-py3-none-any.whl (3.3 MB) Requirement already satisfied: entrypoints in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (0.4) Collecting flatdict Using cached flatdict-4.0.1-py3-none-any.whl Requirement already satisfied: typer in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (0.9.0) Collecting isort>=5.10 Using cached isort-5.13.2-py3-none-any.whl (92 kB) Requirement already satisfied: python-multipart in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (0.0.9) Requirement already satisfied: cloudpickle in /home/micheldumontier/.local/lib/python3.10/site-packages (from mlem->trapi_predict_kit) (3.0.0) Requirement already satisfied: multidict<7.0,>=4.5 in /home/micheldumontier/.local/lib/python3.10/site-packages (from aiohttp<4->mlem->trapi_predict_kit) (6.0.4) Requirement already satisfied: aiosignal>=1.1.2 in /home/micheldumontier/.local/lib/python3.10/site-packages (from aiohttp<4->mlem->trapi_predict_kit) (1.3.1) Requirement already satisfied: frozenlist>=1.1.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from aiohttp<4->mlem->trapi_predict_kit) (1.4.1) Requirement already satisfied: async-timeout<5.0,>=4.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from aiohttp<4->mlem->trapi_predict_kit) (4.0.3) Requirement already satisfied: yarl<2.0,>=1.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from aiohttp<4->mlem->trapi_predict_kit) (1.9.4) Requirement already satisfied: pyYAML>=5.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from aiohttp-swagger<2->mlem->trapi_predict_kit) (6.0.1) Requirement already satisfied: six in /usr/lib/python3/dist-packages (from configobj>=5.0.6->dvc->trapi_predict_kit) (1.16.0) Requirement already satisfied: diskcache>=5.2.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc-data<3.16,>=3.15->dvc->trapi_predict_kit) (5.6.3) Requirement already satisfied: dictdiffer>=0.8.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc-data<3.16,>=3.15->dvc->trapi_predict_kit) (0.9.0) Requirement already satisfied: sqltrie<1,>=0.11.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc-data<3.16,>=3.15->dvc->trapi_predict_kit) (0.11.0) Requirement already satisfied: aiohttp-retry>=2.5.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from dvc-http>=2.29.0->dvc->trapi_predict_kit) (2.8.3) Requirement already satisfied: click-plugins>=1.1.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from celery->dvc->trapi_predict_kit) (1.1.1) Requirement already satisfied: click-repl>=0.2.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from celery->dvc->trapi_predict_kit) (0.3.0) Requirement already satisfied: click-didyoumean>=0.3.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from celery->dvc->trapi_predict_kit) (0.3.1) Requirement already satisfied: vine<6.0,>=5.1.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from celery->dvc->trapi_predict_kit) (5.1.0) Requirement already satisfied: tzdata>=2022.7 in /home/micheldumontier/.local/lib/python3.10/site-packages (from celery->dvc->trapi_predict_kit) (2023.4) Requirement already satisfied: python-dateutil>=2.8.2 in /home/micheldumontier/.local/lib/python3.10/site-packages (from celery->dvc->trapi_predict_kit) (2.8.2) Requirement already satisfied: billiard<5.0,>=4.2.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from celery->dvc->trapi_predict_kit) (4.2.0) Requirement already satisfied: atpublic>=2.3 in /home/micheldumontier/.local/lib/python3.10/site-packages (from flufl.lock<8,>=5->dvc->trapi_predict_kit) (4.0) Requirement already satisfied: semver>=2.13.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from gto<2,>=1.6.0->dvc->trapi_predict_kit) (3.0.2) Requirement already satisfied: antlr4-python3-runtime==4.9.* in /home/micheldumontier/.local/lib/python3.10/site-packages (from hydra-core>=1.1->dvc->trapi_predict_kit) (4.9.3) Requirement already satisfied: filelock in /home/micheldumontier/.local/lib/python3.10/site-packages (from iterative-telemetry>=0.0.7->dvc->trapi_predict_kit) (3.13.1) Requirement already satisfied: appdirs in /home/micheldumontier/.local/lib/python3.10/site-packages (from iterative-telemetry>=0.0.7->dvc->trapi_predict_kit) (1.4.4) Requirement already satisfied: MarkupSafe>=2.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from Jinja2>=3->mlem->trapi_predict_kit) (2.1.3) Requirement already satisfied: amqp<6.0.0,>=5.1.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from kombu->dvc->trapi_predict_kit) (5.2.0) Requirement already satisfied: deprecated in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (1.2.14) Requirement already satisfied: jsonschema>=3.2.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (4.20.0) Requirement already satisfied: prefixmaps>=0.1.4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.2.1) Requirement already satisfied: json-flattener>=0.1.9 in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.1.9) Requirement already satisfied: hbreader in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.9.1) Requirement already satisfied: prefixcommons>=0.1.12 in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.1.12) Requirement already satisfied: curies>=0.5.4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.7.4) Requirement already satisfied: jsonasobj2<2.dev0,>=1.0.4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (1.0.4) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from rich>=12->dvc->trapi_predict_kit) (2.17.2) Requirement already satisfied: markdown-it-py>=2.2.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from rich>=12->dvc->trapi_predict_kit) (3.0.0) Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /home/micheldumontier/.local/lib/python3.10/site-packages (from ruamel.yaml>=0.17.11->dvc->trapi_predict_kit) (0.2.8) Requirement already satisfied: pygit2>=1.14.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from scmrepo<4,>=3->dvc->trapi_predict_kit) (1.14.1) Requirement already satisfied: asyncssh<3,>=2.13.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from scmrepo<4,>=3->dvc->trapi_predict_kit) (2.14.2) Requirement already satisfied: gitdb<5,>=4.0.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from gitpython->mlem->trapi_predict_kit) (4.0.11) Requirement already satisfied: anyio<5,>=3.4.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from starlette<0.33.0,>=0.29.0->fastapi>=0.68.1->trapi_predict_kit) (3.7.1) Requirement already satisfied: setuptools in /home/micheldumontier/.local/lib/python3.10/site-packages (from zc.lockfile>=1.2.1->dvc->trapi_predict_kit) (69.0.3) Collecting requests-toolbelt>=1.0.0 Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB) Collecting requests>=2.23.0 Using cached requests-2.32.3-py3-none-any.whl (64 kB) Requirement already satisfied: exceptiongroup in /home/micheldumontier/.local/lib/python3.10/site-packages (from anyio<5,>=3.4.0->starlette<0.33.0,>=0.29.0->fastapi>=0.68.1->trapi_predict_kit) (1.2.0) Requirement already satisfied: sniffio>=1.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from anyio<5,>=3.4.0->starlette<0.33.0,>=0.29.0->fastapi>=0.68.1->trapi_predict_kit) (1.3.0) Requirement already satisfied: cryptography>=39.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from asyncssh<3,>=2.13.1->scmrepo<4,>=3->dvc->trapi_predict_kit) (42.0.5) Requirement already satisfied: prompt-toolkit>=3.0.36 in /home/micheldumontier/.local/lib/python3.10/site-packages (from click-repl>=0.2.0->celery->dvc->trapi_predict_kit) (3.0.43) Requirement already satisfied: pytrie in /home/micheldumontier/.local/lib/python3.10/site-packages (from curies>=0.5.4->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.4.0) Requirement already satisfied: smmap<6,>=3.0.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from gitdb<5,>=4.0.1->gitpython->mlem->trapi_predict_kit) (5.0.1) Requirement already satisfied: referencing>=0.28.4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from jsonschema>=3.2.0->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.32.1) Requirement already satisfied: rpds-py>=0.7.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from jsonschema>=3.2.0->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (0.16.2) Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /home/micheldumontier/.local/lib/python3.10/site-packages (from jsonschema>=3.2.0->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (2023.12.1) Requirement already satisfied: mdurl~=0.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich>=12->dvc->trapi_predict_kit) (0.1.2) Requirement already satisfied: pytest-logging<2016.0.0,>=2015.11.4 in /home/micheldumontier/.local/lib/python3.10/site-packages (from prefixcommons>=0.1.12->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (2015.11.4) Collecting prefixmaps>=0.1.4 Using cached prefixmaps-0.2.4-py3-none-any.whl (746 kB) Requirement already satisfied: cffi>=1.16.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from pygit2>=1.14.0->scmrepo<4,>=3->dvc->trapi_predict_kit) (1.16.0) Requirement already satisfied: orjson in /home/micheldumontier/.local/lib/python3.10/site-packages (from sqltrie<1,>=0.11.0->dvc-data<3.16,>=3.15->dvc->trapi_predict_kit) (3.9.15) Requirement already satisfied: wrapt<2,>=1.10 in /home/micheldumontier/.local/lib/python3.10/site-packages (from deprecated->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (1.16.0) Requirement already satisfied: pycparser in /home/micheldumontier/.local/lib/python3.10/site-packages (from cffi>=1.16.0->pygit2>=1.14.0->scmrepo<4,>=3->dvc->trapi_predict_kit) (2.21) Requirement already satisfied: wcwidth in /home/micheldumontier/.local/lib/python3.10/site-packages (from prompt-toolkit>=3.0.36->click-repl>=0.2.0->celery->dvc->trapi_predict_kit) (0.2.13) Requirement already satisfied: pytest>=2.8.1 in /home/micheldumontier/.local/lib/python3.10/site-packages (from pytest-logging<2016.0.0,>=2015.11.4->prefixcommons>=0.1.12->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (7.4.4) Requirement already satisfied: sortedcontainers in /home/micheldumontier/.local/lib/python3.10/site-packages (from pytrie->curies>=0.5.4->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (2.4.0) Requirement already satisfied: tomli>=1.0.0 in /home/micheldumontier/.local/lib/python3.10/site-packages (from pytest>=2.8.1->pytest-logging<2016.0.0,>=2015.11.4->prefixcommons>=0.1.12->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (2.0.1) Requirement already satisfied: iniconfig in /home/micheldumontier/.local/lib/python3.10/site-packages (from pytest>=2.8.1->pytest-logging<2016.0.0,>=2015.11.4->prefixcommons>=0.1.12->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (2.0.0) Requirement already satisfied: pluggy<2.0,>=0.12 in /home/micheldumontier/.local/lib/python3.10/site-packages (from pytest>=2.8.1->pytest-logging<2016.0.0,>=2015.11.4->prefixcommons>=0.1.12->linkml-runtime<2.0.0,>=1.6.3->bmt->trapi_predict_kit) (1.3.0) ERROR: Exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper status = run_func(*args) File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 205, in wrapper return func(self, options, args) File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 389, in run to_install = resolver.get_installation_order(requirement_set) File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 188, in get_installation_order weights = get_topological_weights( File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 276, in get_topological_weights assert len(weights) == expected_node_count AssertionError

micheldumontier commented 4 months ago

@vemonet what do you think is going on here?

vemonet commented 4 months ago

So the error message returned by pip is:

ERROR: Exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper
status = run_func(*args)
File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
return func(self, options, args)
File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 389, in run
to_install = resolver.get_installation_order(requirement_set)
File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 188, in get_installation_order
weights = get_topological_weights(
File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 276, in get_topological_weights
assert len(weights) == expected_node_count
AssertionError

I am getting this even when creating a fresh venv. Never seen this error in the past. And this happens with a version that was previously working, so the most (only?) probable is some conflict with newer versions of some of the dependencies

Here they just say that get_topological_weights is different than expected_node_count, which seems some kind of broken pip internals.

The problem here is that pip is the worst piece of software ever written, and the biggest issue in the python ecosystem, with all due respect to its contributors, it has never been capable of returning a helpful error message, especially when facing version conflicts. Which is quite bad for such a basic tool which only job is to resolve a dependency graph and download some files...

So when you get those kind of non-sense errors from pip you need to use other tools that will help you figure out what's the actual problem:

1. Live on the edge with uv

Be on the edge, try installing with uv the replacement for pip by the same team behind ruff, the best linter/formatter tool for python, that literally saved python linting (the previous tools were so bad, and it is so good everyone is already using it). The problem is that development on uv has started only 8 month ago, so it is really living on the edge... But pip is so bad that uv might already be better

Anyway, let's give it a try:

pip install uv
uv pip install trapi-predict-kit

And it works installing trapi-predict-kit 0.2.3 in 6s. Completely humiliating pip, and showing the problem is not trapi-predict-kit it is pip

Resolved 153 packages in 3.26s
Downloaded 152 packages in 3.13s
Installed 152 packages in 49ms

2. Debug with pip-tools

git clone the trapi-predict-kit repo

pip install pip-tools
pip-compile -o requirements.txt pyproject.toml

Hopefully it should give you better feedback on what's the problem, but pip-tools is also quite bad like pip, really slow to resolve dependencies

3. Let's also try with poetry

Let's try to install it with poetry to really confirm pip is the problem

poetry new humiliate-pip
cd humiliate-pip
# Add trapi-predict-kit to dependencies in pyproject.toml
poetry install

And again, total humiliation, 5 time slower than uv though:

Updating dependencies
Resolving dependencies... (30.1s)

Package operations: 0 installs, 1 update, 0 removals

  - Updating setuptools (59.6.0 -> 70.0.0)

Writing lock file

Installing the current project: humiliate-pip (0.1.0)

Conclusion

So yeah the answer is: unfortunately the problem is pip, you should post an issue here: https://github.com/pypa/pip or just get rid of it :(

But pip is so bad and seems so doomed that even other official pypa projects are trying to move away from it as fast as they can, e.g. hatch who already integrated uv a few days after it was announced: https://hatch.pypa.io/latest/how-to/environment/dependency-resolution/#uv

micheldumontier commented 4 months ago

ok thanks - very weird bug, but uv seems to work for now...

micheldumontier commented 2 months ago

If you're trying to run the environment in visual studio, then i had to first to make sure the hatch environment is created in the local directory

hatch config set dirs.env.virtual .hatch

then make the environment hatch env create

in visual studio code, select the hatch environment with ctrl-shift-p and "select interpreter".

you should see

image

select the hatch environment. when you open the terminal, you should see "my-model" or whatever is the project name as the prefix in the prompt.