From b48ec752b9e12eefbb838cd9daa01401b7e4569e Mon Sep 17 00:00:00 2001 From: Sri Roopa Ramesh Babu Date: Thu, 23 Apr 2026 17:11:34 -0400 Subject: [PATCH] RHOAI wheel build for pytorch dependency. --- .tekton/lightspeed-ocp-rag-pull-request.yaml | 37 +- .tekton/lightspeed-ocp-rag-push.yaml | 37 +- .tekton/lightspeed-rag-tool-pull-request.yaml | 47 +- .tekton/lightspeed-rag-tool-push.yaml | 47 +- ...p-lightspeed-rag-content-pull-request.yaml | 47 +- .../own-app-lightspeed-rag-content-push.yaml | 47 +- Containerfile | 39 +- Makefile | 61 +- README.md | 23 +- byok/Containerfile.tool | 31 +- lsc/Containerfile.konflux | 22 +- lsc/pyproject.toml | 2 +- lsc/requirements.hashes.source.txt | 962 ++++++++++++++++++ lsc/requirements.hashes.wheel.txt | 210 ++++ lsc/requirements.overrides.txt | 24 + pyproject.toml | 8 +- requirements-build.cpu.txt | 42 + requirements-build.txt | 16 - requirements.hashes.source.cpu.txt | 136 +++ requirements.hashes.source.gpu.txt | 198 ++++ requirements.hashes.wheel.cpu.txt | 223 ++++ requirements.hashes.wheel.gpu.txt | 173 ++++ requirements.hermetic.txt | 3 + requirements.overrides.gpu.txt | 22 + requirements.overrides.txt | 19 + rpms.in.yaml | 2 +- rpms.lock.yaml | 287 +++--- scripts/generate_packages_to_prefetch.py | 22 +- scripts/konflux_requirements.sh | 311 ++++++ 29 files changed, 2849 insertions(+), 249 deletions(-) create mode 100644 lsc/requirements.hashes.source.txt create mode 100644 lsc/requirements.hashes.wheel.txt create mode 100644 lsc/requirements.overrides.txt create mode 100644 requirements-build.cpu.txt delete mode 100644 requirements-build.txt create mode 100644 requirements.hashes.source.cpu.txt create mode 100644 requirements.hashes.source.gpu.txt create mode 100644 requirements.hashes.wheel.cpu.txt create mode 100644 requirements.hashes.wheel.gpu.txt create mode 100644 requirements.hermetic.txt create mode 100644 requirements.overrides.gpu.txt create mode 100644 requirements.overrides.txt create mode 100755 scripts/konflux_requirements.sh diff --git a/.tekton/lightspeed-ocp-rag-pull-request.yaml b/.tekton/lightspeed-ocp-rag-pull-request.yaml index caeaa055b..4143efcc2 100644 --- a/.tekton/lightspeed-ocp-rag-pull-request.yaml +++ b/.tekton/lightspeed-ocp-rag-pull-request.yaml @@ -33,12 +33,31 @@ spec: - name: build-source-image value: "true" - name: prefetch-input - value: '[{"type": "generic", "path": "."}, {"type": "rpm", "path": "lsc"}, {"type": "pip", "path": ".", "allow_binary": "true", "requirements_files": ["lsc/requirements.txt"]}]' + value: | + [ + {"type": "generic", "path": "."}, + {"type": "rpm", "path": "lsc"}, + { + "type": "pip", + "path": ".", + "requirements_files": [ + "lsc/requirements.hashes.wheel.txt", + "lsc/requirements.hashes.source.txt", + "requirements.hermetic.txt" + ], + "binary": { + "packages": "aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-doc,annotated-types,anyio,asyncpg,attrs,beautifulsoup4,certifi,cffi,colorama,dataclasses-json,defusedxml,deprecated,distro,faiss-cpu,filetype,fire,frozenlist,h11,hf-xet,httpcore,httpx,huggingface-hub,importlib-metadata,jinja2,jiter,joblib,jsonschema,jsonschema-specifications,markdown-it-py,marshmallow,mdurl,mpmath,multidict,mypy-extensions,nest-asyncio,networkx,numpy,pandas,pillow,prompt-toolkit,propcache,pycparser,pydantic-core,python-dateutil,referencing,rpds-py,safetensors,scikit-learn,scipy,setuptools,shellingham,six,sniffio,sympy,termcolor,threadpoolctl,tiktoken,tokenizers,tomlkit,torch,tqdm,transformers,triton,typing-extensions,typing-inspect,typing-inspection,urllib3,yarl,uv,uv-build,pip,maturin,griffe,griffecli,griffelib,sqlite-vec,cryptography,banks,chardet,charset-normalizer,click,dirtyjson,fastapi,filelock,fsspec,googleapis-common-protos,greenlet,idna,llama-index,llama-index-core,llama-index-embeddings-huggingface,llama-index-embeddings-openai,llama-index-instrumentation,llama-index-llms-openai,llama-index-readers-file,llama-index-vector-stores-faiss,llama-index-vector-stores-postgres,llama-index-workflows,llama-stack,llama-stack-api,llama-stack-client,nltk,openai,opentelemetry-api,opentelemetry-exporter-otlp-proto-common,opentelemetry-exporter-otlp-proto-http,opentelemetry-proto,opentelemetry-sdk,opentelemetry-semantic-conventions,packaging,pgvector,platformdirs,protobuf,psycopg2-binary,pyaml,pydantic,pygments,pyjwt,pypdf,python-dotenv,python-multipart,pytz,pyyaml,regex,requests,rich,sentence-transformers,soupsieve,sqlalchemy,starlette,striprtf,tenacity,tinytag,tornado,typer,typer-slim,tzdata,uvicorn,wcwidth,wrapt,zipp", + "os": "linux", + "arch": "x86_64", + "py_version": 312 + } + } + ] + - name: hermetic value: "true" - name: build-args value: - - FLAVOR=gpu - HERMETIC=true - name: build-image-index value: "false" @@ -248,6 +267,10 @@ spec: params: - name: IMAGE value: $(params.output-image) + - name: COMMIT_SHA + value: $(tasks.clone-repository.results.commit) + - name: IMAGE_EXPIRES_AFTER + value: $(params.image-expires-after) - name: ALWAYS_BUILD_INDEX value: $(params.build-image-index) - name: IMAGES @@ -379,7 +402,7 @@ spec: - name: name value: sast-snyk-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb + value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:ba3eff8f97a7cfc5341f3138c8a13e532238298d9a0fb94401c0971d30eb115a - name: kind value: task resolver: bundles @@ -448,7 +471,7 @@ spec: - name: name value: sast-coverity-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75 + value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:47f4e2d0881ac8c43a1ea1e2375bb2591dff34b5aa8c7366a043652d1eed499c - name: kind value: task resolver: bundles @@ -469,7 +492,7 @@ spec: - name: name value: coverity-availability-check - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de + value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:de35caf2f090e3275cfd1019ea50d9662422e904fb4aebd6ea29fb53a1ad57f5 - name: kind value: task resolver: bundles @@ -496,7 +519,7 @@ spec: - name: name value: sast-shell-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57 + value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c89a2bcf408ede50b161005859c76868f8007bb2a5daa06c1effe979b02145d7 - name: kind value: task resolver: bundles @@ -523,7 +546,7 @@ spec: - name: name value: sast-unicode-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29 + value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:92552dddd259cd4cc2ac9a19a02e6649cadfdbb8cd66b61b8c9748d94f2166a5 - name: kind value: task resolver: bundles diff --git a/.tekton/lightspeed-ocp-rag-push.yaml b/.tekton/lightspeed-ocp-rag-push.yaml index b6c6ed29c..ac1cb2fbf 100644 --- a/.tekton/lightspeed-ocp-rag-push.yaml +++ b/.tekton/lightspeed-ocp-rag-push.yaml @@ -30,12 +30,31 @@ spec: - name: build-source-image value: "true" - name: prefetch-input - value: '[{"type": "generic", "path": "."}, {"type": "rpm", "path": "lsc"}, {"type": "pip", "path": ".", "allow_binary": "true", "requirements_files": ["lsc/requirements.txt"]}]' + value: | + [ + {"type": "generic", "path": "."}, + {"type": "rpm", "path": "lsc"}, + { + "type": "pip", + "path": ".", + "requirements_files": [ + "lsc/requirements.hashes.wheel.txt", + "lsc/requirements.hashes.source.txt", + "requirements.hermetic.txt" + ], + "binary": { + "packages": "aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-doc,annotated-types,anyio,asyncpg,attrs,beautifulsoup4,certifi,cffi,colorama,dataclasses-json,defusedxml,deprecated,distro,faiss-cpu,filetype,fire,frozenlist,h11,hf-xet,httpcore,httpx,huggingface-hub,importlib-metadata,jinja2,jiter,joblib,jsonschema,jsonschema-specifications,markdown-it-py,marshmallow,mdurl,mpmath,multidict,mypy-extensions,nest-asyncio,networkx,numpy,pandas,pillow,prompt-toolkit,propcache,pycparser,pydantic-core,python-dateutil,referencing,rpds-py,safetensors,scikit-learn,scipy,setuptools,shellingham,six,sniffio,sympy,termcolor,threadpoolctl,tiktoken,tokenizers,tomlkit,torch,tqdm,transformers,triton,typing-extensions,typing-inspect,typing-inspection,urllib3,yarl,uv,uv-build,pip,maturin,griffe,griffecli,griffelib,sqlite-vec,cryptography,banks,chardet,charset-normalizer,click,dirtyjson,fastapi,filelock,fsspec,googleapis-common-protos,greenlet,idna,llama-index,llama-index-core,llama-index-embeddings-huggingface,llama-index-embeddings-openai,llama-index-instrumentation,llama-index-llms-openai,llama-index-readers-file,llama-index-vector-stores-faiss,llama-index-vector-stores-postgres,llama-index-workflows,llama-stack,llama-stack-api,llama-stack-client,nltk,openai,opentelemetry-api,opentelemetry-exporter-otlp-proto-common,opentelemetry-exporter-otlp-proto-http,opentelemetry-proto,opentelemetry-sdk,opentelemetry-semantic-conventions,packaging,pgvector,platformdirs,protobuf,psycopg2-binary,pyaml,pydantic,pygments,pyjwt,pypdf,python-dotenv,python-multipart,pytz,pyyaml,regex,requests,rich,sentence-transformers,soupsieve,sqlalchemy,starlette,striprtf,tenacity,tinytag,tornado,typer,typer-slim,tzdata,uvicorn,wcwidth,wrapt,zipp", + "os": "linux", + "arch": "x86_64", + "py_version": 312 + } + } + ] + - name: hermetic value: "true" - name: build-args value: - - FLAVOR=gpu - HERMETIC=true - name: build-image-index value: "false" @@ -234,6 +253,10 @@ spec: params: - name: IMAGE value: $(params.output-image) + - name: COMMIT_SHA + value: $(tasks.clone-repository.results.commit) + - name: IMAGE_EXPIRES_AFTER + value: $(params.image-expires-after) - name: ALWAYS_BUILD_INDEX value: $(params.build-image-index) - name: IMAGES @@ -365,7 +388,7 @@ spec: - name: name value: sast-snyk-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb + value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:ba3eff8f97a7cfc5341f3138c8a13e532238298d9a0fb94401c0971d30eb115a - name: kind value: task resolver: bundles @@ -434,7 +457,7 @@ spec: - name: name value: sast-coverity-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75 + value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:47f4e2d0881ac8c43a1ea1e2375bb2591dff34b5aa8c7366a043652d1eed499c - name: kind value: task resolver: bundles @@ -455,7 +478,7 @@ spec: - name: name value: coverity-availability-check - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de + value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:de35caf2f090e3275cfd1019ea50d9662422e904fb4aebd6ea29fb53a1ad57f5 - name: kind value: task resolver: bundles @@ -482,7 +505,7 @@ spec: - name: name value: sast-shell-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57 + value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c89a2bcf408ede50b161005859c76868f8007bb2a5daa06c1effe979b02145d7 - name: kind value: task resolver: bundles @@ -509,7 +532,7 @@ spec: - name: name value: sast-unicode-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29 + value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:92552dddd259cd4cc2ac9a19a02e6649cadfdbb8cd66b61b8c9748d94f2166a5 - name: kind value: task resolver: bundles diff --git a/.tekton/lightspeed-rag-tool-pull-request.yaml b/.tekton/lightspeed-rag-tool-pull-request.yaml index e74bb8cea..6fb8af898 100644 --- a/.tekton/lightspeed-rag-tool-pull-request.yaml +++ b/.tekton/lightspeed-rag-tool-pull-request.yaml @@ -39,7 +39,36 @@ spec: - name: build-source-image value: "true" - name: prefetch-input - value: '[{"type": "generic", "path": "."}, {"type": "rpm", "path": "."}, {"type": "pip", "path": ".", "allow_binary": "true", "requirements_files": ["requirements.cpu.txt"]}]' + value: |- + [ + { + "type": "generic", + "path": "." + }, + { + "type": "rpm", + "path": "." + }, + { + "type": "pip", + "path": ".", + "requirements_files": [ + "requirements.hashes.wheel.cpu.txt", + "requirements.hashes.source.cpu.txt", + "requirements.hermetic.txt" + ], + "requirements_build_files": [ + "requirements-build.cpu.txt" + ], + "binary": { + "packages": "accelerate,aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-types,anyio,attrs,beautifulsoup4,certifi,charset-normalizer,click,colorama,dataclasses-json,defusedxml,deprecated,faiss-cpu,filelock,filetype,frozenlist,fsspec,greenlet,h11,hf-xet,httpcore,httpx,huggingface-hub,idna,jinja2,joblib,marshmallow,mpmath,multidict,mypy-extensions,nest-asyncio,networkx,nltk,numpy,packaging,pandas,pillow,platformdirs,propcache,psutil,pydantic,pydantic-core,pypdf,python-dateutil,pytz,pyyaml,regex,requests,safetensors,scikit-learn,scipy,sentence-transformers,setuptools,six,soupsieve,sqlalchemy,sympy,tenacity,threadpoolctl,tiktoken,tokenizers,torch,tqdm,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,urllib3,wrapt,yarl,uv,uv-build,pip,maturin,griffe,griffecli,griffelib", + "os": "linux", + "arch": "x86_64", + "py_version": 312 + } + } + ] + pipelineSpec: description: | This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization. @@ -56,7 +85,7 @@ spec: - name: name value: show-sbom - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:a7346ed61237db4f82ff782e0c9e8b30536e0e67b907ad600341a6d192e80012 + value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:04994df487ee886adbe60a8a5866647fbdfd53cc26f7b2554272ba51bf7af29e - name: kind value: task resolver: bundles @@ -244,6 +273,10 @@ spec: params: - name: IMAGE value: $(params.output-image) + - name: COMMIT_SHA + value: $(tasks.clone-repository.results.commit) + - name: IMAGE_EXPIRES_AFTER + value: $(params.image-expires-after) - name: ALWAYS_BUILD_INDEX value: $(params.build-image-index) - name: IMAGES @@ -369,7 +402,7 @@ spec: - name: name value: sast-snyk-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb + value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:ba3eff8f97a7cfc5341f3138c8a13e532238298d9a0fb94401c0971d30eb115a - name: kind value: task resolver: bundles @@ -436,7 +469,7 @@ spec: - name: name value: sast-coverity-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75 + value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:47f4e2d0881ac8c43a1ea1e2375bb2591dff34b5aa8c7366a043652d1eed499c - name: kind value: task resolver: bundles @@ -457,7 +490,7 @@ spec: - name: name value: coverity-availability-check - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de + value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:de35caf2f090e3275cfd1019ea50d9662422e904fb4aebd6ea29fb53a1ad57f5 - name: kind value: task resolver: bundles @@ -483,7 +516,7 @@ spec: - name: name value: sast-shell-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57 + value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c89a2bcf408ede50b161005859c76868f8007bb2a5daa06c1effe979b02145d7 - name: kind value: task resolver: bundles @@ -509,7 +542,7 @@ spec: - name: name value: sast-unicode-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29 + value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:92552dddd259cd4cc2ac9a19a02e6649cadfdbb8cd66b61b8c9748d94f2166a5 - name: kind value: task resolver: bundles diff --git a/.tekton/lightspeed-rag-tool-push.yaml b/.tekton/lightspeed-rag-tool-push.yaml index ddc4028c1..79bc2b4b0 100644 --- a/.tekton/lightspeed-rag-tool-push.yaml +++ b/.tekton/lightspeed-rag-tool-push.yaml @@ -36,7 +36,36 @@ spec: - name: build-source-image value: "true" - name: prefetch-input - value: '[{"type": "generic", "path": "."}, {"type": "rpm", "path": "."}, {"type": "pip", "path": ".", "allow_binary": "true", "requirements_files": ["requirements.cpu.txt"]}]' + value: |- + [ + { + "type": "generic", + "path": "." + }, + { + "type": "rpm", + "path": "." + }, + { + "type": "pip", + "path": ".", + "requirements_files": [ + "requirements.hashes.wheel.cpu.txt", + "requirements.hashes.source.cpu.txt", + "requirements.hermetic.txt" + ], + "requirements_build_files": [ + "requirements-build.cpu.txt" + ], + "binary": { + "packages": "accelerate,aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-types,anyio,attrs,beautifulsoup4,certifi,charset-normalizer,click,colorama,dataclasses-json,defusedxml,deprecated,faiss-cpu,filelock,filetype,frozenlist,fsspec,greenlet,h11,hf-xet,httpcore,httpx,huggingface-hub,idna,jinja2,joblib,marshmallow,mpmath,multidict,mypy-extensions,nest-asyncio,networkx,nltk,numpy,packaging,pandas,pillow,platformdirs,propcache,psutil,pydantic,pydantic-core,pypdf,python-dateutil,pytz,pyyaml,regex,requests,safetensors,scikit-learn,scipy,sentence-transformers,setuptools,six,soupsieve,sqlalchemy,sympy,tenacity,threadpoolctl,tiktoken,tokenizers,torch,tqdm,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,urllib3,wrapt,yarl,uv,uv-build,pip,maturin,griffe,griffecli,griffelib", + "os": "linux", + "arch": "x86_64", + "py_version": 312 + } + } + ] + pipelineSpec: description: | This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization. @@ -53,7 +82,7 @@ spec: - name: name value: show-sbom - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:a7346ed61237db4f82ff782e0c9e8b30536e0e67b907ad600341a6d192e80012 + value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:04994df487ee886adbe60a8a5866647fbdfd53cc26f7b2554272ba51bf7af29e - name: kind value: task resolver: bundles @@ -241,6 +270,10 @@ spec: params: - name: IMAGE value: $(params.output-image) + - name: COMMIT_SHA + value: $(tasks.clone-repository.results.commit) + - name: IMAGE_EXPIRES_AFTER + value: $(params.image-expires-after) - name: ALWAYS_BUILD_INDEX value: $(params.build-image-index) - name: IMAGES @@ -366,7 +399,7 @@ spec: - name: name value: sast-snyk-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb + value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:ba3eff8f97a7cfc5341f3138c8a13e532238298d9a0fb94401c0971d30eb115a - name: kind value: task resolver: bundles @@ -433,7 +466,7 @@ spec: - name: name value: sast-coverity-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75 + value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:47f4e2d0881ac8c43a1ea1e2375bb2591dff34b5aa8c7366a043652d1eed499c - name: kind value: task resolver: bundles @@ -454,7 +487,7 @@ spec: - name: name value: coverity-availability-check - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de + value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:de35caf2f090e3275cfd1019ea50d9662422e904fb4aebd6ea29fb53a1ad57f5 - name: kind value: task resolver: bundles @@ -480,7 +513,7 @@ spec: - name: name value: sast-shell-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57 + value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c89a2bcf408ede50b161005859c76868f8007bb2a5daa06c1effe979b02145d7 - name: kind value: task resolver: bundles @@ -506,7 +539,7 @@ spec: - name: name value: sast-unicode-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29 + value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:92552dddd259cd4cc2ac9a19a02e6649cadfdbb8cd66b61b8c9748d94f2166a5 - name: kind value: task resolver: bundles diff --git a/.tekton/own-app-lightspeed-rag-content-pull-request.yaml b/.tekton/own-app-lightspeed-rag-content-pull-request.yaml index 7cd810a0d..bd4b3cdcb 100644 --- a/.tekton/own-app-lightspeed-rag-content-pull-request.yaml +++ b/.tekton/own-app-lightspeed-rag-content-pull-request.yaml @@ -33,7 +33,36 @@ spec: - name: build-source-image value: "true" - name: prefetch-input - value: '[{"type": "generic", "path": "."}, {"type": "rpm", "path": "."}, {"type": "pip", "path": ".", "allow_binary": "true", "requirements_files": ["requirements.gpu.txt"]}]' + value: |- + [ + { + "type": "generic", + "path": "." + }, + { + "type": "rpm", + "path": "." + }, + { + "type": "pip", + "path": ".", + "requirements_files": [ + "requirements.hashes.wheel.gpu.txt", + "requirements.hashes.source.gpu.txt", + "requirements.hermetic.txt" + ], + "requirements_build_files": [ + "requirements-build.cpu.txt" + ], + "binary": { + "packages": "accelerate,aiohappyeyeballs,aiohttp,aiosignal,annotated-types,anyio,attrs,beautifulsoup4,certifi,charset-normalizer,click,colorama,dataclasses-json,defusedxml,deprecated,filelock,filetype,frozenlist,fsspec,greenlet,h11,hf-xet,httpcore,httpx,huggingface-hub,idna,jinja2,joblib,marshmallow,mpmath,multidict,mypy-extensions,nest-asyncio,networkx,nltk,numpy,packaging,pandas,pillow,platformdirs,propcache,psutil,pydantic,pydantic-core,python-dateutil,pytz,pyyaml,regex,requests,safetensors,scikit-learn,scipy,sentence-transformers,setuptools,six,soupsieve,sqlalchemy,sympy,tenacity,threadpoolctl,tiktoken,tokenizers,torch,tqdm,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,urllib3,wrapt,yarl,uv,uv-build,pip,maturin,griffe,griffecli,griffelib,faiss-cpu,aiosqlite,banks,dirtyjson,llama-index-core,llama-index-embeddings-huggingface,llama-index-instrumentation,llama-index-readers-file,llama-index-vector-stores-faiss,llama-index-workflows,pypdf,python-frontmatter,striprtf,tinytag", + "os": "linux", + "arch": "x86_64", + "py_version": 312 + } + } + ] + - name: hermetic value: "true" - name: build-args @@ -58,7 +87,7 @@ spec: - name: name value: show-sbom - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:a7346ed61237db4f82ff782e0c9e8b30536e0e67b907ad600341a6d192e80012 + value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:04994df487ee886adbe60a8a5866647fbdfd53cc26f7b2554272ba51bf7af29e - name: kind value: task resolver: bundles @@ -242,6 +271,10 @@ spec: params: - name: IMAGE value: $(params.output-image) + - name: COMMIT_SHA + value: $(tasks.clone-repository.results.commit) + - name: IMAGE_EXPIRES_AFTER + value: $(params.image-expires-after) - name: ALWAYS_BUILD_INDEX value: $(params.build-image-index) - name: IMAGES @@ -373,7 +406,7 @@ spec: - name: name value: sast-snyk-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb + value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:ba3eff8f97a7cfc5341f3138c8a13e532238298d9a0fb94401c0971d30eb115a - name: kind value: task resolver: bundles @@ -442,7 +475,7 @@ spec: - name: name value: sast-coverity-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75 + value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:47f4e2d0881ac8c43a1ea1e2375bb2591dff34b5aa8c7366a043652d1eed499c - name: kind value: task resolver: bundles @@ -463,7 +496,7 @@ spec: - name: name value: coverity-availability-check - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de + value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:de35caf2f090e3275cfd1019ea50d9662422e904fb4aebd6ea29fb53a1ad57f5 - name: kind value: task resolver: bundles @@ -490,7 +523,7 @@ spec: - name: name value: sast-shell-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57 + value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c89a2bcf408ede50b161005859c76868f8007bb2a5daa06c1effe979b02145d7 - name: kind value: task resolver: bundles @@ -517,7 +550,7 @@ spec: - name: name value: sast-unicode-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29 + value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:92552dddd259cd4cc2ac9a19a02e6649cadfdbb8cd66b61b8c9748d94f2166a5 - name: kind value: task resolver: bundles diff --git a/.tekton/own-app-lightspeed-rag-content-push.yaml b/.tekton/own-app-lightspeed-rag-content-push.yaml index 9729e0bf6..f5829138e 100644 --- a/.tekton/own-app-lightspeed-rag-content-push.yaml +++ b/.tekton/own-app-lightspeed-rag-content-push.yaml @@ -30,7 +30,36 @@ spec: - name: build-source-image value: "true" - name: prefetch-input - value: '[{"type": "generic", "path": "."}, {"type": "rpm", "path": "."}, {"type": "pip", "path": ".", "allow_binary": "true", "requirements_files": ["requirements.gpu.txt"]}]' + value: |- + [ + { + "type": "generic", + "path": "." + }, + { + "type": "rpm", + "path": "." + }, + { + "type": "pip", + "path": ".", + "requirements_files": [ + "requirements.hashes.wheel.gpu.txt", + "requirements.hashes.source.gpu.txt", + "requirements.hermetic.txt" + ], + "requirements_build_files": [ + "requirements-build.cpu.txt" + ], + "binary": { + "packages": "accelerate,aiohappyeyeballs,aiohttp,aiosignal,annotated-types,anyio,attrs,beautifulsoup4,certifi,charset-normalizer,click,colorama,dataclasses-json,defusedxml,deprecated,filelock,filetype,frozenlist,fsspec,greenlet,h11,hf-xet,httpcore,httpx,huggingface-hub,idna,jinja2,joblib,marshmallow,mpmath,multidict,mypy-extensions,nest-asyncio,networkx,nltk,numpy,packaging,pandas,pillow,platformdirs,propcache,psutil,pydantic,pydantic-core,python-dateutil,pytz,pyyaml,regex,requests,safetensors,scikit-learn,scipy,sentence-transformers,setuptools,six,soupsieve,sqlalchemy,sympy,tenacity,threadpoolctl,tiktoken,tokenizers,torch,tqdm,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,urllib3,wrapt,yarl,uv,uv-build,pip,maturin,griffe,griffecli,griffelib,faiss-cpu,aiosqlite,banks,dirtyjson,llama-index-core,llama-index-embeddings-huggingface,llama-index-instrumentation,llama-index-readers-file,llama-index-vector-stores-faiss,llama-index-workflows,pypdf,python-frontmatter,striprtf,tinytag", + "os": "linux", + "arch": "x86_64", + "py_version": 312 + } + } + ] + - name: hermetic value: "true" - name: build-args @@ -55,7 +84,7 @@ spec: - name: name value: show-sbom - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:a7346ed61237db4f82ff782e0c9e8b30536e0e67b907ad600341a6d192e80012 + value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:04994df487ee886adbe60a8a5866647fbdfd53cc26f7b2554272ba51bf7af29e - name: kind value: task resolver: bundles @@ -239,6 +268,10 @@ spec: params: - name: IMAGE value: $(params.output-image) + - name: COMMIT_SHA + value: $(tasks.clone-repository.results.commit) + - name: IMAGE_EXPIRES_AFTER + value: $(params.image-expires-after) - name: ALWAYS_BUILD_INDEX value: $(params.build-image-index) - name: IMAGES @@ -370,7 +403,7 @@ spec: - name: name value: sast-snyk-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb + value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:ba3eff8f97a7cfc5341f3138c8a13e532238298d9a0fb94401c0971d30eb115a - name: kind value: task resolver: bundles @@ -439,7 +472,7 @@ spec: - name: name value: sast-coverity-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75 + value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:47f4e2d0881ac8c43a1ea1e2375bb2591dff34b5aa8c7366a043652d1eed499c - name: kind value: task resolver: bundles @@ -460,7 +493,7 @@ spec: - name: name value: coverity-availability-check - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de + value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:de35caf2f090e3275cfd1019ea50d9662422e904fb4aebd6ea29fb53a1ad57f5 - name: kind value: task resolver: bundles @@ -487,7 +520,7 @@ spec: - name: name value: sast-shell-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57 + value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c89a2bcf408ede50b161005859c76868f8007bb2a5daa06c1effe979b02145d7 - name: kind value: task resolver: bundles @@ -514,7 +547,7 @@ spec: - name: name value: sast-unicode-check-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29 + value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:92552dddd259cd4cc2ac9a19a02e6649cadfdbb8cd66b61b8c9748d94f2166a5 - name: kind value: task resolver: bundles diff --git a/Containerfile b/Containerfile index c2d49def9..09937155e 100644 --- a/Containerfile +++ b/Containerfile @@ -2,14 +2,18 @@ ARG EMBEDDING_MODEL=sentence-transformers/all-mpnet-base-v2 ARG FLAVOR=cpu ARG HERMETIC=false -FROM registry.access.redhat.com/ubi9/python-311 as cpu-base +FROM registry.access.redhat.com/ubi9/python-312 as cpu-base ARG EMBEDDING_MODEL ARG FLAVOR FROM nvcr.io/nvidia/cuda:12.9.1-devel-ubi9 as gpu-base ARG EMBEDDING_MODEL ARG FLAVOR -RUN dnf install -y python3.11 python3.11-pip libcudnn9 libnccl libcusparselt0 +# Suppress GPU device requests during image build: the CUDA base image sets +# NVIDIA_VISIBLE_DEVICES=all which causes CDI setup to fail on non-GPU build hosts. +# "void" tells the NVIDIA container toolkit to skip device setup entirely. +ENV NVIDIA_VISIBLE_DEVICES=void +RUN dnf install -y python3.12 python3.12-pip libcudnn9 libnccl libcusparselt0 && dnf clean all FROM ${FLAVOR}-base as lightspeed-rag-builder ARG EMBEDDING_MODEL @@ -19,8 +23,31 @@ ARG HERMETIC USER 0 WORKDIR /workdir -COPY requirements.gpu.txt . -RUN pip3.11 install --no-cache-dir -r requirements.gpu.txt && ln -s /usr/local/lib/python3.11/site-packages/llama_index/core/_static/nltk_cache /root/nltk_data +# Konflux hermetic: Cachi2 vendor layout (PIP_FIND_LINKS) + hashed split lockfiles +COPY \ + requirements.hashes.wheel.cpu.txt \ + requirements.hashes.wheel.gpu.txt \ + requirements.hashes.source.cpu.txt \ + requirements.hashes.source.gpu.txt \ + requirements-build.cpu.txt \ + requirements.hermetic.txt \ + pyproject.toml \ + LICENSE \ + /workdir/ + +# Upgrade pip first (pip==25.3 is prefetched in requirements.hermetic.txt). +# cachi2.env sets PIP_FIND_LINKS so the upgrade resolves from the prefetch cache in hermetic builds. +RUN /usr/bin/python3.12 -m pip install --upgrade pip && \ + if [ -f /cachi2/cachi2.env ]; then \ + . /cachi2/cachi2.env && \ + /usr/bin/python3.12 -m pip install --no-cache-dir --no-deps --ignore-installed \ + --no-index --find-links "${PIP_FIND_LINKS}" \ + -r "requirements.hashes.wheel.${FLAVOR}.txt" \ + -r "requirements.hashes.source.${FLAVOR}.txt"; \ + else \ + /usr/bin/python3.12 -m pip install --no-cache-dir -e ".[${FLAVOR}]"; \ + fi +RUN ln -s "/usr/local/lib/python3.12/site-packages/llama_index/core/_static/nltk_cache" /root/nltk_data COPY ocp-product-docs-plaintext ./ocp-product-docs-plaintext COPY runbooks ./runbooks @@ -34,13 +61,13 @@ RUN cd embeddings_model; if [ "$HERMETIC" == "true" ]; then \ RUN if [ "$FLAVOR" == "gpu" ]; then \ export LD_LIBRARY_PATH=/usr/local/cuda-12/compat:$LD_LIBRARY_PATH; \ - python3.11 -c "import torch; print(torch.version.cuda); print(torch.cuda.is_available());"; \ + python3.12 -c "import torch; print(torch.version.cuda); print(torch.cuda.is_available());"; \ fi COPY scripts/generate_embeddings.py . RUN export LD_LIBRARY_PATH=/usr/local/cuda-12/compat:$LD_LIBRARY_PATH; \ set -e && for OCP_VERSION in $(ls -1 ocp-product-docs-plaintext); do \ - python3.11 generate_embeddings.py -f ocp-product-docs-plaintext/${OCP_VERSION} -r runbooks/alerts -md embeddings_model \ + python3.12 generate_embeddings.py -f ocp-product-docs-plaintext/${OCP_VERSION} -r runbooks/alerts -md embeddings_model \ -mn ${EMBEDDING_MODEL} -o vector_db/ocp_product_docs/${OCP_VERSION} \ -i ocp-product-docs-$(echo $OCP_VERSION | sed 's/\./_/g') -v ${OCP_VERSION} -hb $HERMETIC; \ done diff --git a/Makefile b/Makefile index ecffd186e..352fec56a 100644 --- a/Makefile +++ b/Makefile @@ -10,34 +10,45 @@ else $(error Unsupported FLAVOR $(FLAVOR), must be 'cpu' or 'gpu') endif -install-tools: ## Install required utilities/tools - @command -v pdm > /dev/null || { echo >&2 "pdm is not installed. Installing..."; pip3.11 install --no-cache-dir --upgrade pip pdm; } +install-tools: ## Install uv (Python 3.12) for local development + @command -v uv > /dev/null || { echo >&2 "uv is not installed. Install: https://docs.astral.sh/uv/"; exit 1; } + @command -v python3.12 > /dev/null || { echo >&2 "Python 3.12 is required."; exit 1; } -pdm-lock-check: ## Check that the pdm.lock file is in a good shape - pdm lock --check --group cpu --lockfile pdm.lock.cpu - pdm lock --check --group gpu --lockfile pdm.lock.gpu +.venv: + uv venv -p 3.12 -install-deps: install-tools pdm-lock-check ## Install all required dependencies, according to pdm.lock - pdm sync --group $(TORCH_GROUP) --lockfile pdm.lock.$(TORCH_GROUP) +install-deps: install-tools .venv ## Install app dependencies (matches pyproject extra) + uv pip install --python .venv/bin/python -e ".[$(TORCH_GROUP)]" -install-deps-test: install-tools pdm-lock-check ## Install all required dev dependencies, according to pdm.lock - pdm sync --dev --group $(TORCH_GROUP) --lockfile pdm.lock.$(TORCH_GROUP) +install-deps-test: install-tools .venv ## Install with dev tools (Ruff, mypy, etc.) + uv pip install --python .venv/bin/python -e ".[$(TORCH_GROUP)]" black mypy ruff "types-requests" -update-deps: ## Check pyproject.toml for changes, update the lock file if needed, then sync. - pdm update --update-all --group $(TORCH_GROUP) --lockfile pdm.lock.$(TORCH_GROUP) - pdm update --update-all --dev --group $(TORCH_GROUP) --lockfile pdm.lock.$(TORCH_GROUP) - pdm export --group $(TORCH_GROUP) --lockfile pdm.lock.$(TORCH_GROUP) -o requirements.$(TORCH_GROUP).txt +# Regenerate Cachi2/Konflux lockfiles; commit outputs + update .tekton `binary.packages` if the wheel set changes +update-konflux-deps: install-tools + ./scripts/konflux_requirements.sh cpu + ./scripts/konflux_requirements.sh gpu + @echo "If pip.binary packages changed, update the prefetch block in the matching .tekton/* files" + @echo "Note: gpu flavor reuses requirements-build.cpu.txt; cpu must run before gpu in this target." -check-types: ## Checks type hints in sources - mypy --explicit-package-bases --disallow-untyped-calls --disallow-untyped-defs --disallow-incomplete-defs scripts +update-konflux-deps-lsc: install-tools ## Regenerate RHOAI-sourced hermetic requirements for the LSC component + ./scripts/konflux_requirements.sh lsc -format: ## Format the code into unified format - black scripts - ruff check scripts --fix --per-file-ignores=scripts/*:S101 +# Regenerate rpms.lock.yaml (subscription + rpm-lockfile-prototype / Konflux tooling; not scripted in-repo). +update-rpm-lock: + @echo "From repo root, with Red Hat repo auth configured, run your org's rpm-lock workflow, e.g.:" + @echo " rpm-lockfile-prototype rpms.in.yaml --outfile rpms.lock.yaml" + @echo "Adjust paths if you maintain a separate lockfile (e.g. lsc/rpms.in.yaml)." -verify: ## Verify the code using various linters - black --check scripts - ruff check scripts --per-file-ignores=scripts/*:S101 +check-types: install-tools .venv ## Checks type hints in sources + .venv/bin/mypy --explicit-package-bases --disallow-untyped-calls --disallow-untyped-defs --disallow-incomplete-defs scripts + +format: install-tools .venv + .venv/bin/black scripts + .venv/bin/ruff check scripts --fix --per-file-ignores=scripts/*:S101 + +verify: install-tools .venv + .venv/bin/black --check scripts + .venv/bin/ruff check scripts --per-file-ignores=scripts/*:S101 update-docs: ## Update the plaintext OCP docs in ocp-product-docs-plaintext/ @set -e && for OCP_VERSION in $$(ls -1 ocp-product-docs-plaintext); do \ @@ -45,11 +56,11 @@ update-docs: ## Update the plaintext OCP docs in ocp-product-docs-plaintext/ done scripts/get_runbooks.sh -update-model: ## Update the local copy of the embedding model +update-model: install-tools .venv ## Update the local copy of the embedding model @rm -rf ./embeddings_model - @python scripts/download_embeddings_model.py -l ./embeddings_model -r sentence-transformers/all-mpnet-base-v2 + @.venv/bin/python scripts/download_embeddings_model.py -l ./embeddings_model -r sentence-transformers/all-mpnet-base-v2 -build-image: ## Build a rag-content container image. +build-image: ## Build a rag-content container image podman build -t rag-content . help: ## Show this help screen @@ -60,7 +71,7 @@ help: ## Show this help screen @grep -E '^[ a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-25s\033[0m %s\n", $$1, $$2}' @echo '' - + model-safetensors: ## Download model.safetensors to embeddings_model @if [ ! -f embeddings_model/model.safetensors ]; then \ echo "Downloading model.safetensors..."; \ diff --git a/README.md b/README.md index 11f006dec..58d4b3cf4 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,18 @@ -# OpenShift Lighspeed RAG content +# OpenShift Lightspeed RAG content -## `requirements*` files generation +## Hermetic / Konflux dependency lockfiles -In order to generate all requirements files: +Cachi2 prefetch uses split hashed requirements (RHOAI wheels vs PyPI source) and optional build-dependency lockfiles. Regenerate them with **uv** and Python **3.12** after changing `pyproject.toml`, `lsc/pyproject.toml`, or `requirements.overrides*.txt`: -``` -requirements-build.in -requirements-build.txt -requirements.txt +```bash +make update-konflux-deps # root: cpu + gpu (run together; gpu reuses requirements-build.cpu.txt) +make update-konflux-deps-lsc # LSC image: lsc/* lockfiles + lightspeed-ocp-rag pip.binary.packages ``` -it is neede to start the following command: +Implementation: `scripts/konflux_requirements.sh`. If the set of wheels or sdists changes, review the `prefetch-input` blocks in `.tekton/*.yaml` (the script updates `pip.binary.packages` where it finds a matching JSON line). -```bash -scripts/generate_packages_to_prefetch.py -``` +RPM lockfiles (`rpms.lock.yaml`, `lsc/rpms.lock.yaml`) are maintained with your org’s **rpm-lockfile** workflow; see `make update-rpm-lock` for a short pointer. + +## Legacy + +`scripts/generate_packages_to_prefetch.py` is **obsolete** (Cachito-era); it exits with an error and points to the targets above. diff --git a/byok/Containerfile.tool b/byok/Containerfile.tool index ec261c2a4..9fe0c5bda 100644 --- a/byok/Containerfile.tool +++ b/byok/Containerfile.tool @@ -8,18 +8,39 @@ ARG VECTOR_DB_INDEX=vector_db_index ARG BYOK_TOOL_IMAGE ARG UBI_BASE_IMAGE ARG HERMETIC -RUN dnf install -y buildah python3.11 python3.11-pip && dnf clean all +RUN dnf install -y buildah python3.12 python3.12-pip && dnf clean all USER 0 WORKDIR /workdir -COPY requirements.cpu.txt . -RUN pip3.11 install --no-cache-dir --no-deps -r requirements.cpu.txt +# Same CPU lockfiles as the lightspeed-rag-tool image (repo root; see scripts/konflux_requirements.sh) +COPY \ + requirements.hashes.wheel.cpu.txt \ + requirements.hashes.source.cpu.txt \ + requirements-build.cpu.txt \ + requirements.hermetic.txt \ + pyproject.toml \ + LICENSE \ + /workdir/ + +# Upgrade pip first (pip==25.3 is prefetched in requirements.hermetic.txt). +# cachi2.env sets PIP_FIND_LINKS so the upgrade resolves from the prefetch cache in hermetic builds. +RUN /usr/bin/python3.12 -m pip install --upgrade pip && \ + if [ -f /cachi2/cachi2.env ]; then \ + . /cachi2/cachi2.env && \ + /usr/bin/python3.12 -m pip install --no-cache-dir --no-deps --ignore-installed \ + --no-index --find-links "${PIP_FIND_LINKS}" \ + -r requirements.hashes.wheel.cpu.txt \ + -r requirements.hashes.source.cpu.txt; \ + else \ + /usr/bin/python3.12 -m pip install --no-cache-dir -e ".[cpu]"; \ + fi +RUN ln -sf "/usr/local/lib/python3.12/site-packages/llama_index/core/_static/nltk_cache" /root/nltk_data COPY embeddings_model ./embeddings_model ENV HERMETIC=$HERMETIC -RUN cd embeddings_model; \ - if [ ! -f embeddings_model/model.safetensors ]; then \ +RUN cd embeddings_model && \ + if [ ! -f model.safetensors ]; then \ if [ "$HERMETIC" == "true" ]; then \ cp /cachi2/output/deps/generic/model.safetensors model.safetensors; \ else \ diff --git a/lsc/Containerfile.konflux b/lsc/Containerfile.konflux index d45a1ef13..9b51e7510 100644 --- a/lsc/Containerfile.konflux +++ b/lsc/Containerfile.konflux @@ -4,14 +4,30 @@ ARG HERMETIC=false FROM nvcr.io/nvidia/cuda:12.9.1-devel-ubi9 as lightspeed-rag-builder ARG EMBEDDING_MODEL ARG HERMETIC +# Suppress GPU device requests during image build: the CUDA base image sets +# NVIDIA_VISIBLE_DEVICES=all which causes CDI setup to fail on non-GPU build hosts. +# "void" tells the NVIDIA container toolkit to skip device setup entirely. +ENV NVIDIA_VISIBLE_DEVICES=void -RUN dnf install -y python3.12 python3.12-pip libcudnn9 libnccl libcusparselt0 +RUN dnf install -y python3.12 python3.12-pip libcudnn9 libnccl libcusparselt0 && dnf clean all USER 0 WORKDIR /workdir -COPY lsc/requirements.txt . -RUN pip3.12 install --upgrade pip && pip3.12 install --no-cache-dir -r requirements.txt && ln -s /usr/local/lib/python3.12/site-packages/llama_index/core/_static/nltk_cache /root/nltk_data +COPY lsc/requirements.hashes.wheel.txt lsc/requirements.hashes.source.txt requirements.hermetic.txt ./ +# Source cachi2 environment for hermetic builds if available, otherwise use normal installation. +# cachi2.env sets PIP_FIND_LINKS and PIP_NO_INDEX so pip resolves from prefetched deps. +RUN /usr/bin/python3.12 -m pip install --upgrade pip && \ + if [ -f /cachi2/cachi2.env ]; then \ + . /cachi2/cachi2.env && \ + /usr/bin/python3.12 -m pip install --no-cache-dir --no-deps --ignore-installed \ + --no-index --find-links "${PIP_FIND_LINKS}" \ + -r requirements.hashes.wheel.txt -r requirements.hashes.source.txt; \ + else \ + /usr/bin/python3.12 -m pip install --no-cache-dir --no-deps \ + -r requirements.hashes.wheel.txt -r requirements.hashes.source.txt; \ + fi && \ + ln -s /usr/local/lib/python3.12/site-packages/llama_index/core/_static/nltk_cache /root/nltk_data COPY ocp-product-docs-plaintext ./ocp-product-docs-plaintext COPY runbooks ./runbooks diff --git a/lsc/pyproject.toml b/lsc/pyproject.toml index 08aa75c16..a98c87027 100644 --- a/lsc/pyproject.toml +++ b/lsc/pyproject.toml @@ -41,7 +41,7 @@ dependencies = [ "llama-index-readers-file>=0.4.11", "faiss-cpu>=1.11.0.post1", "llama-index-vector-stores-postgres>=0.5.4", - "torch==2.6.0", + "torch", "llama-stack==0.4.3", "llama-stack-api==0.4.3", # 0.5.0 has ImportError: nullable_openai_style missing from schema_utils "llama-stack-client==0.4.3", diff --git a/lsc/requirements.hashes.source.txt b/lsc/requirements.hashes.source.txt new file mode 100644 index 000000000..9b1034235 --- /dev/null +++ b/lsc/requirements.hashes.source.txt @@ -0,0 +1,962 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile lsc/requirements.source.txt --refresh --generate-hashes --python-version 3.12 --python-platform x86_64-unknown-linux-gnu --emit-index-url --no-deps --no-annotate +--index-url https://pypi.org/simple + +banks==2.4.1 \ + --hash=sha256:40e6d9b6e9b69fb403fa31f2853b3297e4919c1b6f2179b2119d2d4473c6ed13 \ + --hash=sha256:8cbf1553f14c44d4f7e9c2064ad9212ce53ee4da000b2f8308d548b60db56655 +chardet==7.4.3 \ + --hash=sha256:0ac3bf11c645734a1701a3804e43eabd98851838192267d08c353a834ab79fea \ + --hash=sha256:1173b74051570cf08099d7429d92e4882d375ad4217f92a6e5240ccfb26f231e \ + --hash=sha256:23163921dccf3103ce59540b0443c106d2c0a0ff2e0503e05196f5e6fdea453f \ + --hash=sha256:25a862cddc6a9ac07023e808aedd297115345fbaabc2690479481ddc0f980e09 \ + --hash=sha256:27cc23da03630cdecc9aa81a895aa86629c211f995cd57651f0fbc280717bf93 \ + --hash=sha256:29af5999f654e8729d251f1724a62b538b1262d9292cccaefddf8a02aae1ef6a \ + --hash=sha256:365135eaf37ba65a828f8e668eb0a8c38c479dcbec724dc25f4dfd781049c357 \ + --hash=sha256:3990fffcc6a6045f2234ab72752ad037e3b2d48c72037f244d42738db397eb75 \ + --hash=sha256:457f619882ba66327d4d8d14c6c342269bdb1e4e1c38e8117df941d14d351b04 \ + --hash=sha256:4b2799bd58e7245cfa8d4ab2e8ad1d76a5c3a5b1f32318eb6acca4c69a3e7101 \ + --hash=sha256:4c3da294de1a681097848ab58bd3f2771a674f8039d2d87a5538b28856b815e9 \ + --hash=sha256:4fbff1907925b0c5a1064cffb5e040cd5e338585c9c552625f30de6bc2f3107a \ + --hash=sha256:5d2879598bc220689e8ce509fe9c3f37ad2fca53a36be9c9bd91abdd91dd364f \ + --hash=sha256:626f00299ad62dfe937058a09572beed442ccc7b58f87aa667949b20fd3db235 \ + --hash=sha256:6e3bd9f936e04bae89c254262af08d9e5b98f805175ba1e29d454e6cba3107b7 \ + --hash=sha256:7005c88da26fd95d8abb8acbe6281d833e9a9181b03cf49b4546c4555389bd97 \ + --hash=sha256:75d3c65cc16bddf40b8da1fd25ba84fca5f8070f2b14e86083653c1c85aee971 \ + --hash=sha256:93c45e116dd51b66226a53ade3f9f635e870de5399b90e00ce45dcc311093bf4 \ + --hash=sha256:9a4904dd5f071b7a7d7f50b4a67a86db3c902d243bf31708f1d5cde2f68239cb \ + --hash=sha256:9acd9988a93e09390f3cd231201ea7166c415eb8da1b735928990ffc05cb9fbb \ + --hash=sha256:9f3504c139a2ad544077dd2d9e412cd08b01786843d76997cd43bb6de311723c \ + --hash=sha256:a9e4486df251b8962e86ea9f139ca235aa6e0542a00f7844c9a04160afb99aa9 \ + --hash=sha256:acc46d1b8b7d5783216afe15db56d1c179b9a40e5a1558bc13164c4fd20674c4 \ + --hash=sha256:b95c934b9ad59e2ba8abb9be49df70d3ad1b0d95d864b9fdb7588d4fa8bd921c \ + --hash=sha256:bba8bea1b28d927b3e99e47deafe53658d34497c0a891d95ff1ba8ff6663f01c \ + --hash=sha256:bfc134b70c846c21ead8e43ada3ae1a805fff732f6922f8abcf2ff27b8f6493d \ + --hash=sha256:c0c79b13c9908ac7dfe0a74116ebc9a0f28b2319d23c32f3dfcdfbe1279c7eaf \ + --hash=sha256:c7116b0452994734ccff35e154b44240090eb0f4f74b9106292668133557c175 \ + --hash=sha256:c77867f0c1cb8bd819502249fcdc500364aedb07881e11b743726fa2148e7b6e \ + --hash=sha256:cc1d4eb92a4ec1c2df3b490836ffa46922e599d34ce0bb75cf41fd2bf6303d56 \ + --hash=sha256:ccc1f83ab4bcfb901cf39e0c4ba6bc6e726fc6264735f10e24ceb5cb47387578 \ + --hash=sha256:cf1efeaf65a6ef2f5b9cc3a1df6f08ba2831b369ccaa4c7018eaf90aa757bb11 \ + --hash=sha256:cfb54563fe5f130da17c44c6a4e2e8052ba628e5ab4eab7ef8190f736f0f8f72 \ + --hash=sha256:d892d3dcd652fdef53e3d6327d39b17c0df40a899dfc919abaeb64c974497531 \ + --hash=sha256:dc50f28bad067393cce0af9091052c3b8df7a23115afd8ba7b2e0947f0cef1f8 \ + --hash=sha256:e1b98790c284ff813f18f7cf7de5f05ea2435a080030c7f1a8318f3a4f80b131 +charset-normalizer==3.4.7 \ + --hash=sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc \ + --hash=sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c \ + --hash=sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67 \ + --hash=sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4 \ + --hash=sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0 \ + --hash=sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c \ + --hash=sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5 \ + --hash=sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444 \ + --hash=sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153 \ + --hash=sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9 \ + --hash=sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01 \ + --hash=sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217 \ + --hash=sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b \ + --hash=sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c \ + --hash=sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a \ + --hash=sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83 \ + --hash=sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5 \ + --hash=sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7 \ + --hash=sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb \ + --hash=sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c \ + --hash=sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1 \ + --hash=sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42 \ + --hash=sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab \ + --hash=sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df \ + --hash=sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e \ + --hash=sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207 \ + --hash=sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18 \ + --hash=sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734 \ + --hash=sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38 \ + --hash=sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110 \ + --hash=sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18 \ + --hash=sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44 \ + --hash=sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d \ + --hash=sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48 \ + --hash=sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e \ + --hash=sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5 \ + --hash=sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d \ + --hash=sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53 \ + --hash=sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790 \ + --hash=sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c \ + --hash=sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b \ + --hash=sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116 \ + --hash=sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d \ + --hash=sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10 \ + --hash=sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6 \ + --hash=sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2 \ + --hash=sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776 \ + --hash=sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a \ + --hash=sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265 \ + --hash=sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008 \ + --hash=sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943 \ + --hash=sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374 \ + --hash=sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246 \ + --hash=sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e \ + --hash=sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5 \ + --hash=sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616 \ + --hash=sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15 \ + --hash=sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41 \ + --hash=sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960 \ + --hash=sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752 \ + --hash=sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e \ + --hash=sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72 \ + --hash=sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7 \ + --hash=sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8 \ + --hash=sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b \ + --hash=sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4 \ + --hash=sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545 \ + --hash=sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706 \ + --hash=sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366 \ + --hash=sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb \ + --hash=sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a \ + --hash=sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e \ + --hash=sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00 \ + --hash=sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f \ + --hash=sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a \ + --hash=sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1 \ + --hash=sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66 \ + --hash=sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356 \ + --hash=sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319 \ + --hash=sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4 \ + --hash=sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad \ + --hash=sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d \ + --hash=sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5 \ + --hash=sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7 \ + --hash=sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0 \ + --hash=sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686 \ + --hash=sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34 \ + --hash=sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49 \ + --hash=sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c \ + --hash=sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1 \ + --hash=sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e \ + --hash=sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60 \ + --hash=sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0 \ + --hash=sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274 \ + --hash=sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d \ + --hash=sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0 \ + --hash=sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae \ + --hash=sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f \ + --hash=sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d \ + --hash=sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe \ + --hash=sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3 \ + --hash=sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393 \ + --hash=sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1 \ + --hash=sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af \ + --hash=sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44 \ + --hash=sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00 \ + --hash=sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c \ + --hash=sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3 \ + --hash=sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7 \ + --hash=sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd \ + --hash=sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e \ + --hash=sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b \ + --hash=sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8 \ + --hash=sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259 \ + --hash=sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859 \ + --hash=sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46 \ + --hash=sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30 \ + --hash=sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b \ + --hash=sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46 \ + --hash=sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24 \ + --hash=sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a \ + --hash=sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24 \ + --hash=sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc \ + --hash=sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215 \ + --hash=sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063 \ + --hash=sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832 \ + --hash=sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6 \ + --hash=sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79 \ + --hash=sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464 +click==8.3.3 \ + --hash=sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2 \ + --hash=sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613 +cryptography==46.0.7 \ + --hash=sha256:04959522f938493042d595a736e7dbdff6eb6cc2339c11465b3ff89343b65f65 \ + --hash=sha256:128c5edfe5e5938b86b03941e94fac9ee793a94452ad1365c9fc3f4f62216832 \ + --hash=sha256:1d25aee46d0c6f1a501adcddb2d2fee4b979381346a78558ed13e50aa8a59067 \ + --hash=sha256:24402210aa54baae71d99441d15bb5a1919c195398a87b563df84468160a65de \ + --hash=sha256:258514877e15963bd43b558917bc9f54cf7cf866c38aa576ebf47a77ddbc43a4 \ + --hash=sha256:35719dc79d4730d30f1c2b6474bd6acda36ae2dfae1e3c16f2051f215df33ce0 \ + --hash=sha256:397655da831414d165029da9bc483bed2fe0e75dde6a1523ec2fe63f3c46046b \ + --hash=sha256:3986ac1dee6def53797289999eabe84798ad7817f3e97779b5061a95b0ee4968 \ + --hash=sha256:420b1e4109cc95f0e5700eed79908cef9268265c773d3a66f7af1eef53d409ef \ + --hash=sha256:42a1e5f98abb6391717978baf9f90dc28a743b7d9be7f0751a6f56a75d14065b \ + --hash=sha256:462ad5cb1c148a22b2e3bcc5ad52504dff325d17daf5df8d88c17dda1f75f2a4 \ + --hash=sha256:506c4ff91eff4f82bdac7633318a526b1d1309fc07ca76a3ad182cb5b686d6d3 \ + --hash=sha256:5ad9ef796328c5e3c4ceed237a183f5d41d21150f972455a9d926593a1dcb308 \ + --hash=sha256:5d1c02a14ceb9148cc7816249f64f623fbfee39e8c03b3650d842ad3f34d637e \ + --hash=sha256:5e51be372b26ef4ba3de3c167cd3d1022934bc838ae9eaad7e644986d2a3d163 \ + --hash=sha256:60627cf07e0d9274338521205899337c5d18249db56865f943cbe753aa96f40f \ + --hash=sha256:65814c60f8cc400c63131584e3e1fad01235edba2614b61fbfbfa954082db0ee \ + --hash=sha256:73510b83623e080a2c35c62c15298096e2a5dc8d51c3b4e1740211839d0dea77 \ + --hash=sha256:7bbc6ccf49d05ac8f7d7b5e2e2c33830d4fe2061def88210a126d130d7f71a85 \ + --hash=sha256:80406c3065e2c55d7f49a9550fe0c49b3f12e5bfff5dedb727e319e1afb9bf99 \ + --hash=sha256:84d4cced91f0f159a7ddacad249cc077e63195c36aac40b4150e7a57e84fffe7 \ + --hash=sha256:8a469028a86f12eb7d2fe97162d0634026d92a21f3ae0ac87ed1c4a447886c83 \ + --hash=sha256:91bbcb08347344f810cbe49065914fe048949648f6bd5c2519f34619142bbe85 \ + --hash=sha256:935ce7e3cfdb53e3536119a542b839bb94ec1ad081013e9ab9b7cfd478b05006 \ + --hash=sha256:9694078c5d44c157ef3162e3bf3946510b857df5a3955458381d1c7cfc143ddb \ + --hash=sha256:a1529d614f44b863a7b480c6d000fe93b59acee9c82ffa027cfadc77521a9f5e \ + --hash=sha256:abad9dac36cbf55de6eb49badd4016806b3165d396f64925bf2999bcb67837ba \ + --hash=sha256:b36a4695e29fe69215d75960b22577197aca3f7a25b9cf9d165dcfe9d80bc325 \ + --hash=sha256:b7b412817be92117ec5ed95f880defe9cf18a832e8cafacf0a22337dc1981b4d \ + --hash=sha256:c5b1ccd1239f48b7151a65bc6dd54bcfcc15e028c8ac126d3fada09db0e07ef1 \ + --hash=sha256:cbd5fb06b62bd0721e1170273d3f4d5a277044c47ca27ee257025146c34cbdd1 \ + --hash=sha256:cdf1a610ef82abb396451862739e3fc93b071c844399e15b90726ef7470eeaf2 \ + --hash=sha256:cdfbe22376065ffcf8be74dc9a909f032df19bc58a699456a21712d6e5eabfd0 \ + --hash=sha256:d02c738dacda7dc2a74d1b2b3177042009d5cab7c7079db74afc19e56ca1b455 \ + --hash=sha256:d151173275e1728cf7839aaa80c34fe550c04ddb27b34f48c232193df8db5842 \ + --hash=sha256:d23c8ca48e44ee015cd0a54aeccdf9f09004eba9fc96f38c911011d9ff1bd457 \ + --hash=sha256:d3b99c535a9de0adced13d159c5a9cf65c325601aa30f4be08afd680643e9c15 \ + --hash=sha256:d5f7520159cd9c2154eb61eb67548ca05c5774d39e9c2c4339fd793fe7d097b2 \ + --hash=sha256:db0f493b9181c7820c8134437eb8b0b4792085d37dbb24da050476ccb664e59c \ + --hash=sha256:e06acf3c99be55aa3b516397fe42f5855597f430add9c17fa46bf2e0fb34c9bb \ + --hash=sha256:e4cfd68c5f3e0bfdad0d38e023239b96a2fe84146481852dffbcca442c245aa5 \ + --hash=sha256:ea42cbe97209df307fdc3b155f1b6fa2577c0defa8f1f7d3be7d31d189108ad4 \ + --hash=sha256:ebd6daf519b9f189f85c479427bbd6e9c9037862cf8fe89ee35503bd209ed902 \ + --hash=sha256:f247c8c1a1fb45e12586afbb436ef21ff1e80670b2861a90353d9b025583d246 \ + --hash=sha256:fbfd0e5f273877695cb93baf14b185f4878128b250cc9f8e617ea0c025dfb022 \ + --hash=sha256:fc9ab8856ae6cf7c9358430e49b368f3108f050031442eaeb6b9d87e4dcf4e4f \ + --hash=sha256:fcd8eac50d9138c1d7fc53a653ba60a2bee81a505f9f8850b6b2888555a45d0e \ + --hash=sha256:fdd1736fed309b4300346f88f74cd120c27c56852c3838cab416e7a166f67298 \ + --hash=sha256:ffca7aa1d00cf7d6469b988c581598f2259e46215e0140af408966a24cf086ce +dirtyjson==1.0.8 \ + --hash=sha256:125e27248435a58acace26d5c2c4c11a1c0de0a9c5124c5a94ba78e517d74f53 \ + --hash=sha256:90ca4a18f3ff30ce849d100dcf4a003953c79d3a2348ef056f1d9c22231a25fd +fastapi==0.136.1 \ + --hash=sha256:7af665ad7acfa0a3baf8983d393b6b471b9da10ede59c60045f49fbc89a0fa7f \ + --hash=sha256:a6e9d7eeada96c93a4d69cb03836b44fa34e2854accb7244a1ece36cd4781c3f +filelock==3.29.0 \ + --hash=sha256:69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90 \ + --hash=sha256:96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258 +fsspec==2026.3.0 \ + --hash=sha256:1ee6a0e28677557f8c2f994e3eea77db6392b4de9cd1f5d7a9e87a0ae9d01b41 \ + --hash=sha256:d2ceafaad1b3457968ed14efa28798162f1638dbb5d2a6868a2db002a5ee39a4 +googleapis-common-protos==1.74.0 \ + --hash=sha256:57971e4eeeba6aad1163c1f0fc88543f965bb49129b8bb55b2b7b26ecab084f1 \ + --hash=sha256:702216f78610bb510e3f12ac3cafd281b7ac45cc5d86e90ad87e4d301a3426b5 +greenlet==3.4.0 \ + --hash=sha256:04403ac74fe295a361f650818de93be11b5038a78f49ccfb64d3b1be8fbf1267 \ + --hash=sha256:05fa0803561028f4b2e3b490ee41216a842eaee11aed004cc343a996d9523aa2 \ + --hash=sha256:06c2d3b89e0c62ba50bd7adf491b14f39da9e7e701647cb7b9ff4c99bee04b19 \ + --hash=sha256:070b8bac2ff3b4d9e0ff36a0d19e42103331d9737e8504747cd1e659f76297bd \ + --hash=sha256:076e21040b3a917d3ce4ad68fb5c3c6b32f1405616c4a57aa83120979649bd3d \ + --hash=sha256:0e1254cf0cbaa17b04320c3a78575f29f3c161ef38f59c977108f19ffddaf077 \ + --hash=sha256:1054c5a3c78e2ab599d452f23f7adafef55062a783a8e241d24f3b633ba6ff82 \ + --hash=sha256:10a07aca6babdd18c16a3f4f8880acfffc2b88dfe431ad6aa5f5740759d7d75e \ + --hash=sha256:16dec271460a9a2b154e3b1c2fa1050ce6280878430320e85e08c166772e3f97 \ + --hash=sha256:1a4a48f24681300c640f143ba7c404270e1ebbbcf34331d7104a4ff40f8ea705 \ + --hash=sha256:1a54a921561dd9518d31d2d3db4d7f80e589083063ab4d3e2e950756ef809e1a \ + --hash=sha256:1f85f204c4d54134ae850d401fa435c89cd667d5ce9dc567571776b45941af72 \ + --hash=sha256:207ba5b97ea8b0b60eb43ffcacf26969dd83726095161d676aac03ff913ee50d \ + --hash=sha256:227a46251ecba4ff46ae742bc5ce95c91d5aceb4b02f885487aff269c127a729 \ + --hash=sha256:234582c20af9742583c3b2ddfbdbb58a756cfff803763ffaae1ac7990a9fac31 \ + --hash=sha256:2d4f0635dc4aa638cda4b2f5a07ae9a2cff9280327b581a3fcb6f317b4fbc38a \ + --hash=sha256:43748988b097f9c6f09364f260741aa73c80747f63389824435c7a50bfdfd5c1 \ + --hash=sha256:439fc2f12b9b512d9dfa681c5afe5f6b3232c708d13e6f02c845e0d9f4c2d8c6 \ + --hash=sha256:4df3b0b2289ec686d3c821a5fee44259c05cfe824dd5e6e12c8e5f5df23085cf \ + --hash=sha256:523677e69cd4711b5a014e37bc1fb3a29947c3e3a5bb6a527e1cc50312e5a398 \ + --hash=sha256:5434271357be07f3ad0936c312645853b7e689e679e29310e2de09a9ea6c3adf \ + --hash=sha256:5566e4e2cd7a880e8c27618e3eab20f3494452d12fd5129edef7b2f7aa9a36d1 \ + --hash=sha256:5b99e87be7eba788dd5b75ba1cde5639edffdec5f91fe0d734a249535ec3408c \ + --hash=sha256:5cb614ace7c27571270354e9c9f696554d073f8aa9319079dcba466bbdead711 \ + --hash=sha256:636d2f95c309e35f650e421c23297d5011716be15d966e6328b367c9fc513a82 \ + --hash=sha256:6f0def07ec9a71d72315cf26c061aceee53b306c36ed38c35caba952ea1b319d \ + --hash=sha256:7f50c804733b43eded05ae694691c9aa68bca7d0a867d67d4a3f514742a2d53f \ + --hash=sha256:805bebb4945094acbab757d34d6e1098be6de8966009ab9ca54f06ff492def58 \ + --hash=sha256:8424683caf46eb0eb6f626cb95e008e8cc30d0cb675bdfa48200925c79b38a08 \ + --hash=sha256:849f8bc17acd6295fcb5de8e46d55cc0e52381c56eaf50a2afd258e97bc65940 \ + --hash=sha256:89995ce5ddcd2896d89615116dd39b9703bfa0c07b583b85b89bf1b5d6eddf81 \ + --hash=sha256:8a569c2fb840c53c13a2b8967c63621fafbd1a0e015b9c82f408c33d626a2fda \ + --hash=sha256:8bff29d586ea415688f4cec96a591fcc3bf762d046a796cdadc1fdb6e7f2d5bf \ + --hash=sha256:8c5696c42e6bb5cfb7c6ff4453789081c66b9b91f061e5e9367fa15792644e76 \ + --hash=sha256:90036ce224ed6fe75508c1907a77e4540176dcf0744473627785dd519c6f9996 \ + --hash=sha256:9390ad88b652b1903814eaabd629ca184db15e0eeb6fe8a390bbf8b9106ae15a \ + --hash=sha256:956215d5e355fffa7c021d168728321fd4d31fd730ac609b1653b450f6a4bc71 \ + --hash=sha256:98eedd1803353daf1cd9ef23eef23eda5a4d22f99b1f998d273a8b78b70dd47f \ + --hash=sha256:9b2d9a138ffa0e306d0e2b72976d2fb10b97e690d40ab36a472acaab0838e2de \ + --hash=sha256:a0a53fb071531d003b075c444014ff8f8b1a9898d36bb88abd9ac7b3524648a2 \ + --hash=sha256:a19093fbad824ed7c0f355b5ff4214bffda5f1a7f35f29b31fcaa240cc0135ab \ + --hash=sha256:a1c4f6b453006efb8310affb2d132832e9bbb4fc01ce6df6b70d810d38f1f6dc \ + --hash=sha256:a58bec0751f43068cd40cff31bb3ca02ad6000b3a51ca81367af4eb5abc480c8 \ + --hash=sha256:a70ed1cb0295bee1df57b63bf7f46b4e56a5c93709eea769c1fec1bb23a95875 \ + --hash=sha256:ac6a5f618be581e1e0713aecec8e54093c235e5fa17d6d8eb7ffc487e2300508 \ + --hash=sha256:b45e45fe47a19051a396abb22e19e7836a59ee6c5a90f3be427343c37908d65b \ + --hash=sha256:b7857e2202aae67bc5725e0c1f6403c20a8ff46094ece015e7d474f5f7020b55 \ + --hash=sha256:c4cd56a9eb7a6444edbc19062f7b6fbc8f287c663b946e3171d899693b1c19fa \ + --hash=sha256:c660bce1940a1acae5f51f0a064f1bc785d07ea16efcb4bc708090afc4d69e83 \ + --hash=sha256:d18eae9a7fb0f499efcd146b8c9750a2e1f6e0e93b5a382b3481875354a430e6 \ + --hash=sha256:d336d46878e486de7d9458653c722875547ac8d36a1cff9ffaf4a74a3c1f62eb \ + --hash=sha256:d70012e51df2dbbccfaf63a40aaf9b40c8bed37c3e3a38751c926301ce538ece \ + --hash=sha256:e60d38719cb80b3ab5e85f9f1aed4960acfde09868af6762ccb27b260d68f4ed \ + --hash=sha256:e82689eea4a237e530bb5cb41b180ef81fa2160e1f89422a67be7d90da67f615 \ + --hash=sha256:ee407d4d1ca9dc632265aee1c8732c4a2d60adff848057cdebfe5fe94eb2c8a2 \ + --hash=sha256:f38b81880ba28f232f1f675893a39cf7b6db25b31cc0a09bb50787ecf957e85e \ + --hash=sha256:f50a96b64dafd6169e595a5c56c9146ef80333e67d4476a65a9c55f400fc22ff \ + --hash=sha256:f8296d4e2b92af34ebde81085a01690f26a51eb9ac09a0fcadb331eb36dbc802 \ + --hash=sha256:f82cb6cddc27dd81c96b1506f4aa7def15070c3b2a67d4e46fd19016aacce6cf +griffe==2.0.2 \ + --hash=sha256:2b31816460aee1996af26050a1fc6927a2e5936486856707f55508e4c9b5960b \ + --hash=sha256:c5d56326d159f274492e9bf93a9895cec101155d944caa66d0fc4e0c13751b92 +griffecli==2.0.2 \ + --hash=sha256:0d44d39e59afa81e288a3e1c3bf352cc4fa537483326ac06b8bb6a51fd8303a0 \ + --hash=sha256:40a1ad4181fc39685d025e119ae2c5b669acdc1f19b705fb9bf971f4e6f6dffb +griffelib==2.0.2 \ + --hash=sha256:3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e \ + --hash=sha256:925c857658fb1ba40c0772c37acbc2ab650bd794d9c1b9726922e36ea4117ea1 +idna==3.13 \ + --hash=sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242 \ + --hash=sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3 +llama-index==0.14.21 \ + --hash=sha256:99244cbdc7f486aa329c7007faa168085b19eff786ee0c4d246db1cba0f4922b \ + --hash=sha256:d3a13b7d4dde35688d2295a0381d65d1c8f3b69b51bed07c7158e027c00e9480 +llama-index-core==0.14.21 \ + --hash=sha256:29706defbe2f429d28330a4eea010f9d92d42db92539382f8c800e19590cae45 \ + --hash=sha256:4a807d31e54d066068e076eb4d066efbf95e2d2a00dcbe0eba3d9340a04cad42 +llama-index-embeddings-huggingface==0.7.0 \ + --hash=sha256:cae7e4ffddc1fecb34b83425a00679f338ce03ad0a7f3aca6b927136d6af7131 \ + --hash=sha256:da8a2a65df9404112c4430dfada09d4f846ba165197a25dbe77f734014c56a87 +llama-index-embeddings-openai==0.6.0 \ + --hash=sha256:039bb1007ad4267e25ddb89a206dfdab862bfb87d58da4271a3919e4f9df4d61 \ + --hash=sha256:eb3e6606be81cb89125073e23c97c0a6119dabb4827adbd14697c2029ad73f29 +llama-index-instrumentation==0.5.0 \ + --hash=sha256:aaab83cddd9dd434278891012d8995f47a3bc7ed1736a371db90965348c56a21 \ + --hash=sha256:eeb724648b25d149de882a5ac9e21c5acb1ce780da214bda2b075341af29ad8e +llama-index-llms-openai==0.7.5 \ + --hash=sha256:54123e679a7cddc1f2e969f278a4654050730daf84691731a0c53ae14feac3c7 \ + --hash=sha256:c302c6386873420df3714c3d538f45379b6de27ab6a531f30c67419b39a538f5 +llama-index-readers-file==0.6.0 \ + --hash=sha256:1026d94f2d5902152373bc2c3b7caa7e216d956620b22d510e516850b6a7440d \ + --hash=sha256:ff366d6ff5ecb7119275ac859310d8b672d8b6b3261afae02f4084fce9076bd0 +llama-index-vector-stores-faiss==0.6.0 \ + --hash=sha256:00bfeb6cb7571e0e856566cb4f10c89b415b6108f151d9ad48ee9c31da563f5e \ + --hash=sha256:d4600c60ef5411d9e35ba573b4f416a5e13ea04c6f942c8e6f49f03f2feb4f3b +llama-index-vector-stores-postgres==0.8.1 \ + --hash=sha256:832a79f2276b51cbb249e34cdb27911b2369c1b9a29e9d39359879bfe789b196 \ + --hash=sha256:e3f72f16f0a8776b610b44625b5fcab55a5977ce2fa5a7d3b162306a10d9b4e8 +llama-index-workflows==2.20.0 \ + --hash=sha256:36f6b6ace77f837d9907078aea7e830251afe96a58daecff5ed090c88c55095d \ + --hash=sha256:df2760fea9e100c97a4e919d255461e344413acac4382d17d8217337806e4772 +llama-stack==0.4.3 \ + --hash=sha256:423207eae2b640894992a9075ff9dd6300ff904ab06a49fe38cfe0bb809d4669 \ + --hash=sha256:70d379ae9dbb5b1d0693f14054d9817aba183ffcd805133f0a4442baee132c6d +llama-stack-api==0.4.3 \ + --hash=sha256:89cf8eaf1468b50ac426e14d39beb4f93994e0807b857f729765e4af0e9b53a1 \ + --hash=sha256:f6c3e4d81d27a3332983a44f9295567e375136d4a402084958ed247f5676c1ee +llama-stack-client==0.4.3 \ + --hash=sha256:97b8cc5032bad4f0cdd1b0ae992cf44f5554679d315b7c40f46deb358c041f50 \ + --hash=sha256:cb807be258206e8fedeb5e5ceba7be7108d3badb31d74199406808c3d1679c35 +markupsafe==3.0.3 \ + --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \ + --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \ + --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \ + --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \ + --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \ + --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \ + --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \ + --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \ + --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \ + --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \ + --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \ + --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \ + --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \ + --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \ + --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \ + --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \ + --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \ + --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \ + --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \ + --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \ + --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \ + --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \ + --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \ + --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \ + --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \ + --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \ + --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \ + --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \ + --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \ + --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \ + --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \ + --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \ + --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \ + --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \ + --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \ + --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \ + --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \ + --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \ + --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \ + --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \ + --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \ + --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \ + --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \ + --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \ + --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \ + --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \ + --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \ + --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \ + --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \ + --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \ + --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \ + --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \ + --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \ + --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \ + --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \ + --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \ + --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \ + --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \ + --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \ + --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \ + --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \ + --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \ + --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \ + --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \ + --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \ + --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \ + --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \ + --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \ + --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \ + --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \ + --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \ + --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ + --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \ + --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \ + --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \ + --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \ + --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \ + --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \ + --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \ + --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \ + --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \ + --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \ + --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \ + --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \ + --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \ + --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \ + --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \ + --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ + --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 +nltk==3.9.4 \ + --hash=sha256:ed03bc098a40481310320808b2db712d95d13ca65b27372f8a403949c8b523d0 \ + --hash=sha256:f2fa301c3a12718ce4a0e9305c5675299da5ad9e26068218b69d692fda84828f +openai==2.32.0 \ + --hash=sha256:4dcc9badeb4bf54ad0d187453742f290226d30150890b7890711bda4f32f192f \ + --hash=sha256:c54b27a9e4cb8d51f0dd94972ffd1a04437efeb259a9e60d8922b8bd26fe55e0 +opentelemetry-api==1.41.1 \ + --hash=sha256:0ad1814d73b875f84494387dae86ce0b12c68556331ce6ce8fe789197c949621 \ + --hash=sha256:a22df900e75c76dc08440710e51f52f1aa6b451b429298896023e60db5b3139f +opentelemetry-exporter-otlp-proto-common==1.41.1 \ + --hash=sha256:0e253156ea9c36b0bd3d2440c5c9ba7dd1f3fb64ba7a08fc85fbac536b56e1fb \ + --hash=sha256:10da74dad6a49344b9b7b21b6182e3060373a235fde1528616d5f01f92e66aa9 +opentelemetry-exporter-otlp-proto-http==1.41.1 \ + --hash=sha256:1a21e8f49c7a946d935551e90947d6c3eb39236723c6624401da0f33d68edcb4 \ + --hash=sha256:4747a9604c8550ab38c6fd6180e2fcb80de3267060bef2c306bad3cb443302bc +opentelemetry-proto==1.41.1 \ + --hash=sha256:0496713b804d127a4147e32849fbaf5683fac8ee98550e8e7679cd706c289720 \ + --hash=sha256:4b9d2eb631237ea43b80e16c073af438554e32bc7e9e3f8ca4a9582f900020e5 +opentelemetry-sdk==1.41.1 \ + --hash=sha256:724b615e1215b5aeacda0abb8a6a8922c9a1853068948bd0bd225a56d0c792e6 \ + --hash=sha256:edee379c126c1bce952b0c812b48fe8ff35b30df0eecf17e98afa4d598b7d85d +opentelemetry-semantic-conventions==0.62b1 \ + --hash=sha256:c5cc6e04a7f8c7cdd30be2ed81499fa4e75bfbd52c9cb70d40af1f9cd3619802 \ + --hash=sha256:cf506938103d331fbb78eded0d9788095f7fd59016f2bda813c3324e5a74a93c +packaging==26.1 \ + --hash=sha256:5d9c0669c6285e491e0ced2eee587eaf67b670d94a19e94e3984a481aba6802f \ + --hash=sha256:f042152b681c4bfac5cae2742a55e103d27ab2ec0f3d88037136b6bfe7c9c5de +pgvector==0.4.2 \ + --hash=sha256:322cac0c1dc5d41c9ecf782bd9991b7966685dee3a00bc873631391ed949513a \ + --hash=sha256:549d45f7a18593783d5eec609ea1684a724ba8405c4cb182a0b2b08aeff04e08 +platformdirs==4.9.6 \ + --hash=sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a \ + --hash=sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917 +protobuf==6.33.6 \ + --hash=sha256:0cd27b587afca21b7cfa59a74dcbd48a50f0a6400cfb59391340ad729d91d326 \ + --hash=sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901 \ + --hash=sha256:7d29d9b65f8afef196f8334e80d6bc1d5d4adedb449971fefd3723824e6e77d3 \ + --hash=sha256:9720e6961b251bde64edfdab7d500725a2af5280f3f4c87e57c0208376aa8c3a \ + --hash=sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135 \ + --hash=sha256:bd56799fb262994b2c2faa1799693c95cc2e22c62f56fb43af311cae45d26f0e \ + --hash=sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3 \ + --hash=sha256:e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2 \ + --hash=sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593 \ + --hash=sha256:f443a394af5ed23672bc6c486be138628fbe5c651ccbc536873d7da23d1868cf +psycopg2-binary==2.9.12 \ + --hash=sha256:00814e40fa23c2b37ef0a1e3c749d89982c73a9cb5046137f0752a22d432e82f \ + --hash=sha256:049366c6d884bdcd65d66e6ca1fdbebe670b56c6c9ba46f164e6667e90881964 \ + --hash=sha256:0dc9228d47c46bda253d2ecd6bb93b56a9f2d7ad33b684a1fa3622bf74ffe30c \ + --hash=sha256:1006fb62f0f0bc5ce256a832356c6262e91be43f5e4eb15b5eaf38079464caf2 \ + --hash=sha256:127467c6e476dd876634f17c3d870530e73ff454ff99bff73d36e80af28e1115 \ + --hash=sha256:1c8ad4c08e00f7679559eaed7aff1edfffc60c086b976f93972f686384a95e2c \ + --hash=sha256:29d4d134bd0ab46ffb04e94aa3c5fa3ef582e9026609165e2f758ff76fc3a3be \ + --hash=sha256:3471336e1acfd9c7fe507b8bad5af9317b6a89294f9eb37bd9a030bb7bebcdc6 \ + --hash=sha256:36512911ebb2b60a0c3e44d0bb5048c1980aced91235d133b7874f3d1d93487c \ + --hash=sha256:398fcd4db988c7d7d3713e2b8e18939776fd3fb447052daae4f24fa39daede4c \ + --hash=sha256:3d999bd982a723113c1a45b55a7a6a90d64d0ed2278020ed625c490ff7bef96c \ + --hash=sha256:40e7b28b63aaf737cb3a1edc3a9bbc9a9f4ad3dcb7152e8c1130e4050eddcb7d \ + --hash=sha256:411e85815652d13560fbe731878daa5d92378c4995a22302071890ec3397d019 \ + --hash=sha256:4413d0caef93c5cf50b96863df4c2efe8c269bf2267df353225595e7e15e8df7 \ + --hash=sha256:4766ab678563054d3f1d064a4db19cc4b5f9e3a8d9018592a8285cf200c248f3 \ + --hash=sha256:4dfcf8e45ebb0c663be34a3442f65e17311f3367089cd4e5e3a3e8e62c978777 \ + --hash=sha256:527e6342b3e44c2f0544f6b8e927d60de7f163f5723b8f1dfa7d2a84298738cd \ + --hash=sha256:54a0dfecab1b48731f934e06139dfe11e24219fb6d0ceb32177cf0375f14c7b5 \ + --hash=sha256:5a0253224780c978746cb9be55a946bcdaf40fe3519c0f622924cdabdafe2c39 \ + --hash=sha256:5ac9444edc768c02a6b6a591f070b8aae28ff3a99be57560ac996001580f294c \ + --hash=sha256:5c7cb4cbf894a1d36c720d713de507952c7c58f66d30834708f03dbe5c822ccf \ + --hash=sha256:5c8ce6c61bd1b1f6b9c24ee32211599f6166af2c55abb19456090a21fd16554b \ + --hash=sha256:5cdc05117180c5fa9c40eea8ea559ce64d73824c39d928b7da9fb5f6a9392433 \ + --hash=sha256:612b965daee295ae2da8f8218ce1d274645dc76ef3f1abf6a0a94fd57eff876d \ + --hash=sha256:63a3ebbd543d3d1eda088ac99164e8c5bac15293ee91f20281fd17d050aee1c4 \ + --hash=sha256:66a7685d7e548f10fb4ce32fb01a7b7f4aa702134de92a292c7bd9e0d3dbd290 \ + --hash=sha256:6f3b3de8a74ef8db215f22edffb19e32dc6fa41340456de7ec99efdc8a7b3ec2 \ + --hash=sha256:6f9cae1f848779b5b01f417e762c40d026ea93eb0648249a604728cda991dde3 \ + --hash=sha256:718e1fc18edf573b02cb8aea868de8d8d33f99ce9620206aa9144b67b0985e94 \ + --hash=sha256:77b348775efd4cdab410ec6609d81ccecd1139c90265fa583a7255c8064bc03d \ + --hash=sha256:7af18183109e23502c8b2ae7f6926c0882766f35b5175a4cd737ad825e4d7a1b \ + --hash=sha256:7c729a73c7b1b84de3582f73cdd27d905121dc2c531f3d9a3c32a3011033b965 \ + --hash=sha256:83946ba43979ebfdc99a3cd0ee775c89f221df026984ba19d46133d8d75d3cd9 \ + --hash=sha256:840066105706cd2eb29b9a1c2329620056582a4bf3e8169dec5c447042d0869f \ + --hash=sha256:863f5d12241ebe1c76a72a04c2113b6dc905f90b9cef0e9be0efd994affd9354 \ + --hash=sha256:864c261b3690e1207d14bbfe0a61e27567981b80c47a778561e49f676f7ce433 \ + --hash=sha256:89d19a9f7899e8eb0656a2b3a08e0da04c720a06db6e0033eab5928aabe60fa9 \ + --hash=sha256:8ffdb59fe88f99589e34354a130217aa1fd2d615612402d6edc8b3dbc7a44463 \ + --hash=sha256:96937c9c5d891f772430f418a7a8b4691a90c3e6b93cf72b5bd7cad8cbca32a5 \ + --hash=sha256:98062447aebc20ed20add1f547a364fd0ef8933640d5372ff1873f8deb9b61be \ + --hash=sha256:995ce929eede89db6254b50827e2b7fd61e50d11f0b116b29fffe4a2e53c4580 \ + --hash=sha256:9b818ceff717f98851a64bffd4c5eb5b3059ae280276dcecc52ac658dcf006a4 \ + --hash=sha256:9fe06d93e72f1c048e731a2e3e7854a5bfaa58fc736068df90b352cefe66f03f \ + --hash=sha256:a46fe069b65255df410f856d842bc235f90e22ffdf532dda625fd4213d3fd9b1 \ + --hash=sha256:a7e39a65b7d2a20e4ba2e0aaad1960b61cc2888d6ab047769f8347bd3c9ad915 \ + --hash=sha256:a99eaab34a9010f1a086b126de467466620a750634d114d20455f3a824aae033 \ + --hash=sha256:ab29414b25dcb698bf26bf213e3348abdcd07bbd5de032a5bec15bd75b298b03 \ + --hash=sha256:ace94261f43850e9e79f6c56636c5e0147978ab79eda5e5e5ebf13ae146fc8fe \ + --hash=sha256:b4a9eaa6e7f4ff91bec10aa3fb296878e75187bced5cc4bafe17dc40915e1326 \ + --hash=sha256:b6937f5fe4e180aeee87de907a2fa982ded6f7f15d7218f78a083e4e1d68f2a0 \ + --hash=sha256:b9a339b79d37c1b45f3235265f07cdeb0cb5ad7acd2ac7720a5920989c17c24e \ + --hash=sha256:ba3df2fc42a1cfa45b72cf096d4acb2b885937eedc61461081d53538d4a82a86 \ + --hash=sha256:c41321a14dd74aceb6a9a643b9253a334521babfa763fa873e33d89cfa122fb5 \ + --hash=sha256:c5ee5213445dd45312459029b8c4c0a695461eb517b753d2582315bd07995f5e \ + --hash=sha256:c6528cefc8e50fcc6f4a107e27a672058b36cc5736d665476aeb413ba88dbb06 \ + --hash=sha256:cb4a1dacdd48077150dc762a9e5ddbf32c256d66cb46f80839391aa458774936 \ + --hash=sha256:cfa2517c94ea3af6deb46f81e1bbd884faa63e28481eb2f889989dd8d95e5f03 \ + --hash=sha256:d2fa0d7caca8635c56e373055094eeda3208d901d55dd0ff5abc1d4e47f82b56 \ + --hash=sha256:d3227a3bc228c10d21011a99245edca923e4e8bf461857e869a507d9a41fe9f6 \ + --hash=sha256:d6fcbba8c9fed08a73b8ac61ea79e4821e45b1e92bb466230c5e746bbf3d5256 \ + --hash=sha256:e4e184b1fb6072bf05388aa41c697e1b2d01b3473f107e7ec44f186a32cfd0b8 \ + --hash=sha256:ee2d84ef5eb6c04702d2e9c372ad557fb027f26a5d82804f749dfb14c7fdd2ab \ + --hash=sha256:f12ae41fcafadb39b2785e64a40f9db05d6de2ac114077457e0e7c597f3af980 \ + --hash=sha256:f625abb7020e4af3432d95342daa1aa0db3fa369eed19807aa596367ba791b10 \ + --hash=sha256:f921f3cd87035ef7df233383011d7a53ea1d346224752c1385f1edfd790ceb6a \ + --hash=sha256:fb1828cf3da68f99e45ebce1355d65d2d12b6a78fb5dfb16247aad6bdef5f5d2 \ + --hash=sha256:ffdd7dc5463ccd61845ac37b7012d0f35a1548df9febe14f8dd549be4a0bc81e +pyaml==26.2.1 \ + --hash=sha256:489dd82997235d4cfcf76a6287fce2f075487d77a6567c271e8d790583690c68 \ + --hash=sha256:6261c2f0a2f33245286c794ad6ec234be33a73d2b05427079fd343e2812a87cf +pydantic==2.13.3 \ + --hash=sha256:6db14ac8dfc9a1e57f87ea2c0de670c251240f43cb0c30a5130e9720dc612927 \ + --hash=sha256:af09e9d1d09f4e7fe37145c1f577e1d61ceb9a41924bf0094a36506285d0a84d +pygments==2.20.0 \ + --hash=sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f \ + --hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176 +pyjwt==2.12.1 \ + --hash=sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c \ + --hash=sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b +pypdf==6.10.2 \ + --hash=sha256:7d09ce108eff6bf67465d461b6ef352dcb8d84f7a91befc02f904455c6eea11d \ + --hash=sha256:aa53be9826655b51c96741e5d7983ca224d898ac0a77896e64636810517624aa +python-dotenv==1.2.2 \ + --hash=sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a \ + --hash=sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3 +python-multipart==0.0.26 \ + --hash=sha256:08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17 \ + --hash=sha256:c0b169f8c4484c13b0dcf2ef0ec3a4adb255c4b7d18d8e420477d2b1dd03f185 +pytz==2026.1.post1 \ + --hash=sha256:3378dde6a0c3d26719182142c56e60c7f9af7e968076f31aae569d72a0358ee1 \ + --hash=sha256:f2fd16142fda348286a75e1a524be810bb05d444e5a081f37f7affc635035f7a +pyyaml==6.0.2 \ + --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ + --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ + --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ + --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ + --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ + --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ + --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ + --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ + --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ + --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ + --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ + --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ + --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ + --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ + --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ + --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ + --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ + --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ + --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ + --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ + --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ + --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ + --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ + --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ + --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ + --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ + --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ + --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ + --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ + --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ + --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ + --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ + --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ + --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ + --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ + --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ + --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ + --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ + --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ + --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ + --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ + --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ + --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ + --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ + --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ + --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ + --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ + --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ + --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ + --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ + --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ + --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ + --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 +regex==2026.4.4 \ + --hash=sha256:011bb48bffc1b46553ac704c975b3348717f4e4aa7a67522b51906f99da1820c \ + --hash=sha256:04bb679bc0bde8a7bfb71e991493d47314e7b98380b083df2447cda4b6edb60f \ + --hash=sha256:0540e5b733618a2f84e9cb3e812c8afa82e151ca8e19cf6c4e95c5a65198236f \ + --hash=sha256:05568c4fbf3cb4fa9e28e3af198c40d3237cf6041608a9022285fe567ec3ad62 \ + --hash=sha256:0709f22a56798457ae317bcce42aacee33c680068a8f14097430d9f9ba364bee \ + --hash=sha256:0734f63afe785138549fbe822a8cfeaccd1bae814c5057cc0ed5b9f2de4fc883 \ + --hash=sha256:07edca1ba687998968f7db5bc355288d0c6505caa7374f013d27356d93976d13 \ + --hash=sha256:07f190d65f5a72dcb9cf7106bfc3d21e7a49dd2879eda2207b683f32165e4d99 \ + --hash=sha256:08c55c13d2eef54f73eeadc33146fb0baaa49e7335eb1aff6ae1324bf0ddbe4a \ + --hash=sha256:0a51cdb3c1e9161154f976cb2bef9894bc063ac82f31b733087ffb8e880137d0 \ + --hash=sha256:1371c2ccbb744d66ee63631cc9ca12aa233d5749972626b68fe1a649dd98e566 \ + --hash=sha256:173a66f3651cdb761018078e2d9487f4cf971232c990035ec0eb1cdc6bf929a9 \ + --hash=sha256:1b1ce5c81c9114f1ce2f9288a51a8fd3aeea33a0cc440c415bf02da323aa0a76 \ + --hash=sha256:1b9a00b83f3a40e09859c78920571dcb83293c8004079653dd22ec14bbfa98c7 \ + --hash=sha256:21e5eb86179b4c67b5759d452ea7c48eb135cd93308e7a260aa489ed2eb423a4 \ + --hash=sha256:261c015b3e2ed0919157046d768774ecde57f03d8fa4ba78d29793447f70e717 \ + --hash=sha256:2895506ebe32cc63eeed8f80e6eae453171cfccccab35b70dc3129abec35a5b8 \ + --hash=sha256:298c3ec2d53225b3bf91142eb9691025bab610e0c0c51592dde149db679b3d17 \ + --hash=sha256:2a5d273181b560ef8397c8825f2b9d57013de744da9e8257b8467e5da8599351 \ + --hash=sha256:2b69102a743e7569ebee67e634a69c4cb7e59d6fa2e1aa7d3bdbf3f61435f62d \ + --hash=sha256:2c785939dc023a1ce4ec09599c032cc9933d258a998d16ca6f2b596c010940eb \ + --hash=sha256:2da82d643fa698e5e5210e54af90181603d5853cf469f5eedf9bfc8f59b4b8c7 \ + --hash=sha256:2e19e18c568d2866d8b6a6dfad823db86193503f90823a8f66689315ba28fbe8 \ + --hash=sha256:312ec9dd1ae7d96abd8c5a36a552b2139931914407d26fba723f9e53c8186f86 \ + --hash=sha256:33424f5188a7db12958246a54f59a435b6cb62c5cf9c8d71f7cc49475a5fdada \ + --hash=sha256:3384df51ed52db0bea967e21458ab0a414f67cdddfd94401688274e55147bb81 \ + --hash=sha256:33bfda9684646d323414df7abe5692c61d297dbb0530b28ec66442e768813c59 \ + --hash=sha256:349d7310eddff40429a099c08d995c6d4a4bfaf3ff40bd3b5e5cb5a5a3c7d453 \ + --hash=sha256:36bcb9d6d1307ab629edc553775baada2aefa5c50ccc0215fbfd2afcfff43141 \ + --hash=sha256:3790ba9fb5dd76715a7afe34dbe603ba03f8820764b1dc929dd08106214ed031 \ + --hash=sha256:385edaebde5db5be103577afc8699fea73a0e36a734ba24870be7ffa61119d74 \ + --hash=sha256:39d8de85a08e32632974151ba59c6e9140646dcc36c80423962b1c5c0a92e244 \ + --hash=sha256:415a994b536440f5011aa77e50a4274d15da3245e876e5c7f19da349caaedd87 \ + --hash=sha256:421439d1bee44b19f4583ccf42670ca464ffb90e9fdc38d37f39d1ddd1e44f1f \ + --hash=sha256:475e50f3f73f73614f7cba5524d6de49dee269df00272a1b85e3d19f6d498465 \ + --hash=sha256:4ce255cc05c1947a12989c6db801c96461947adb7a59990f1360b5983fab4983 \ + --hash=sha256:504ffa8a03609a087cad81277a629b6ce884b51a24bd388a7980ad61748618ff \ + --hash=sha256:50a766ee2010d504554bfb5f578ed2e066898aa26411d57e6296230627cdefa0 \ + --hash=sha256:54170b3e95339f415d54651f97df3bff7434a663912f9358237941bbf9143f55 \ + --hash=sha256:54a1189ad9d9357760557c91103d5e421f0a2dabe68a5cdf9103d0dcf4e00752 \ + --hash=sha256:55d9304e0e7178dfb1e106c33edf834097ddf4a890e2f676f6c5118f84390f73 \ + --hash=sha256:586b89cdadf7d67bf86ae3342a4dcd2b8d70a832d90c18a0ae955105caf34dbe \ + --hash=sha256:59968142787042db793348a3f5b918cf24ced1f23247328530e063f89c128a95 \ + --hash=sha256:59efe72d37fd5a91e373e5146f187f921f365f4abc1249a5ab446a60f30dd5f8 \ + --hash=sha256:59f67cd0a0acaf0e564c20bbd7f767286f23e91e2572c5703bf3e56ea7557edb \ + --hash=sha256:5d354b18839328927832e2fa5f7c95b7a3ccc39e7a681529e1685898e6436d45 \ + --hash=sha256:62f5519042c101762509b1d717b45a69c0139d60414b3c604b81328c01bd1943 \ + --hash=sha256:6780f008ee81381c737634e75c24e5a6569cc883c4f8e37a37917ee79efcafd9 \ + --hash=sha256:6a50ab11b7779b849472337191f3a043e27e17f71555f98d0092fa6d73364520 \ + --hash=sha256:6aa809ed4dc3706cc38594d67e641601bd2f36d5555b2780ff074edfcb136cf8 \ + --hash=sha256:6c1818f37be3ca02dcb76d63f2c7aaba4b0dc171b579796c6fbe00148dfec6b1 \ + --hash=sha256:6dac006c8b6dda72d86ea3d1333d45147de79a3a3f26f10c1cf9287ca4ca0ac3 \ + --hash=sha256:7088fcdcb604a4417c208e2169715800d28838fefd7455fbe40416231d1d47c1 \ + --hash=sha256:70aadc6ff12e4b444586e57fc30771f86253f9f0045b29016b9605b4be5f7dfb \ + --hash=sha256:7429f4e6192c11d659900c0648ba8776243bf396ab95558b8c51a345afeddde6 \ + --hash=sha256:74fa82dcc8143386c7c0392e18032009d1db715c25f4ba22d23dc2e04d02a20f \ + --hash=sha256:760ef21c17d8e6a4fe8cf406a97cf2806a4df93416ccc82fc98d25b1c20425be \ + --hash=sha256:7698a6f38730fd1385d390d1ed07bb13dce39aa616aca6a6d89bea178464b9a4 \ + --hash=sha256:76d67d5afb1fe402d10a6403bae668d000441e2ab115191a804287d53b772951 \ + --hash=sha256:773d1dfd652bbffb09336abf890bfd64785c7463716bf766d0eb3bc19c8b7f27 \ + --hash=sha256:7d346fccdde28abba117cc9edc696b9518c3307fbfcb689e549d9b5979018c6d \ + --hash=sha256:8512fcdb43f1bf18582698a478b5ab73f9c1667a5b7548761329ef410cd0a760 \ + --hash=sha256:867bddc63109a0276f5a31999e4c8e0eb7bbbad7d6166e28d969a2c1afeb97f9 \ + --hash=sha256:88e9b048345c613f253bea4645b2fe7e579782b82cac99b1daad81e29cc2ed8e \ + --hash=sha256:8fae3c6e795d7678963f2170152b0d892cf6aee9ee8afc8c45e6be38d5107fe7 \ + --hash=sha256:9542ccc1e689e752594309444081582f7be2fdb2df75acafea8a075108566735 \ + --hash=sha256:9776b85f510062f5a75ef112afe5f494ef1635607bf1cc220c1391e9ac2f5e81 \ + --hash=sha256:97850d0638391bdc7d35dc1c1039974dcb921eaafa8cc935ae4d7f272b1d60b3 \ + --hash=sha256:993f657a7c1c6ec51b5e0ba97c9817d06b84ea5fa8d82e43b9405de0defdc2b9 \ + --hash=sha256:9a2741ce5a29d3c84b0b94261ba630ab459a1b847a0d6beca7d62d188175c790 \ + --hash=sha256:9e2f5217648f68e3028c823df58663587c1507a5ba8419f4fdfc8a461be76043 \ + --hash=sha256:a0d2b28aa1354c7cd7f71b7658c4326f7facac106edd7f40eda984424229fd59 \ + --hash=sha256:a152560af4f9742b96f3827090f866eeec5becd4765c8e0d3473d9d280e76a5a \ + --hash=sha256:a1c0c7d67b64d85ac2e1879923bad2f08a08f3004055f2f406ef73c850114bd4 \ + --hash=sha256:a7a5bb6aa0cf62208bb4fa079b0c756734f8ad0e333b425732e8609bd51ee22f \ + --hash=sha256:a85b620a388d6c9caa12189233109e236b3da3deffe4ff11b84ae84e218a274f \ + --hash=sha256:acd38177bd2c8e69a411d6521760806042e244d0ef94e2dd03ecdaa8a3c99427 \ + --hash=sha256:ae3e764bd4c5ff55035dc82a8d49acceb42a5298edf6eb2fc4d328ee5dd7afae \ + --hash=sha256:ae5266a82596114e41fb5302140e9630204c1b5f325c770bec654b95dd54b0aa \ + --hash=sha256:af0384cb01a33600c49505c27c6c57ab0b27bf84a74e28524c92ca897ebdac9d \ + --hash=sha256:b15b88b0d52b179712632832c1d6e58e5774f93717849a41096880442da41ab0 \ + --hash=sha256:b26c30df3a28fd9793113dac7385a4deb7294a06c0f760dd2b008bd49a9139bc \ + --hash=sha256:b40379b53ecbc747fd9bdf4a0ea14eb8188ca1bd0f54f78893a39024b28f4863 \ + --hash=sha256:b4c36a85b00fadb85db9d9e90144af0a980e1a3d2ef9cd0f8a5bef88054657c6 \ + --hash=sha256:b5f9fb784824a042be3455b53d0b112655686fdb7a91f88f095f3fee1e2a2a54 \ + --hash=sha256:be061028481186ba62a0f4c5f1cc1e3d5ab8bce70c89236ebe01023883bc903b \ + --hash=sha256:c07ab8794fa929e58d97a0e1796b8b76f70943fa39df225ac9964615cf1f9d52 \ + --hash=sha256:c228cf65b4a54583763645dcd73819b3b381ca8b4bb1b349dee1c135f4112c07 \ + --hash=sha256:c4ee50606cb1967db7e523224e05f32089101945f859928e65657a2cbb3d278b \ + --hash=sha256:c882cd92ec68585e9c1cf36c447ec846c0d94edd706fe59e0c198e65822fd23b \ + --hash=sha256:cf9b1b2e692d4877880388934ac746c99552ce6bf40792a767fd42c8c99f136d \ + --hash=sha256:d2228c02b368d69b724c36e96d3d1da721561fb9cc7faa373d7bf65e07d75cb5 \ + --hash=sha256:d51d20befd5275d092cdffba57ded05f3c436317ee56466c8928ac32d960edaf \ + --hash=sha256:db0ac18435a40a2543dbb3d21e161a6c78e33e8159bd2e009343d224bb03bb1b \ + --hash=sha256:dc4f10fbd5dd13dcf4265b4cc07d69ca70280742870c97ae10093e3d66000359 \ + --hash=sha256:dcb5453ecf9cd58b562967badd1edbf092b0588a3af9e32ee3d05c985077ce87 \ + --hash=sha256:dd2630faeb6876fb0c287f664d93ddce4d50cd46c6e88e60378c05c9047e08ca \ + --hash=sha256:e014a797de43d1847df957c0a2a8e861d1c17547ee08467d1db2c370b7568baa \ + --hash=sha256:e08270659717f6973523ce3afbafa53515c4dc5dcad637dc215b6fd50f689423 \ + --hash=sha256:e0aab3ff447845049d676827d2ff714aab4f73f340e155b7de7458cf53baa5a4 \ + --hash=sha256:e355be718caf838aa089870259cf1776dc2a4aa980514af9d02c59544d9a8b22 \ + --hash=sha256:e7ab63e9fe45a9ec3417509e18116b367e89c9ceb6219222a3396fa30b147f80 \ + --hash=sha256:e7cd3e4ee8d80447a83bbc9ab0c8459781fa77087f856c3e740d7763be0df27f \ + --hash=sha256:e9638791082eaf5b3ac112c587518ee78e083a11c4b28012d8fe2a0f536dfb17 \ + --hash=sha256:eb59c65069498dbae3c0ef07bbe224e1eaa079825a437fb47a479f0af11f774f \ + --hash=sha256:ee7337f88f2a580679f7bbfe69dc86c043954f9f9c541012f49abc554a962f2e \ + --hash=sha256:ee9627de8587c1a22201cb16d0296ab92b4df5cdcb5349f4e9744d61db7c7c98 \ + --hash=sha256:f4f83781191007b6ef43b03debc35435f10cad9b96e16d147efe84a1d48bdde4 \ + --hash=sha256:f56ebf9d70305307a707911b88469213630aba821e77de7d603f9d2f0730687d \ + --hash=sha256:f5bfc2741d150d0be3e4a0401a5c22b06e60acb9aa4daa46d9e79a6dcd0f135b \ + --hash=sha256:f94a11a9d05afcfcfa640e096319720a19cc0c9f7768e1a61fceee6a3afc6c7c \ + --hash=sha256:fa7922bbb2cc84fa062d37723f199d4c0cd200245ce269c05db82d904db66b83 \ + --hash=sha256:fe896e07a5a2462308297e515c0054e9ec2dd18dfdc9427b19900b37dfe6f40b \ + --hash=sha256:ffa81f81b80047ba89a3c69ae6a0f78d06f4a42ce5126b0eb2a0a10ad44e0b2e +requests==2.33.1 \ + --hash=sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517 \ + --hash=sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb \ + --hash=sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36 +sentence-transformers==5.4.1 \ + --hash=sha256:436bcb1182a0ff42a8fb2b1c43498a70d0a75b688d182f2cd0d1dd115af61ddc \ + --hash=sha256:a6d640fc363849b63affb8e140e9d328feabab86f83d58ac3e16b1c28140b790 +soupsieve==2.8.3 \ + --hash=sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349 \ + --hash=sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95 +sqlalchemy==2.0.49 \ + --hash=sha256:01146546d84185f12721a1d2ce0c6673451a7894d1460b592d378ca4871a0c72 \ + --hash=sha256:059d7151fff513c53a4638da8778be7fce81a0c4854c7348ebd0c4078ddf28fe \ + --hash=sha256:0c98c59075b890df8abfcc6ad632879540f5791c68baebacb4f833713b510e75 \ + --hash=sha256:0f2fa354ba106eafff2c14b0cc51f22801d1e8b2e4149342023bd6f0955de5f5 \ + --hash=sha256:12b04d1db2663b421fe072d638a138460a51d5a862403295671c4f3987fb9148 \ + --hash=sha256:22d8798819f86720bc646ab015baff5ea4c971d68121cb36e2ebc2ee43ead2b7 \ + --hash=sha256:233088b4b99ebcbc5258c755a097aa52fbf90727a03a5a80781c4b9c54347a2e \ + --hash=sha256:24bd94bb301ec672d8f0623eba9226cc90d775d25a0c92b5f8e4965d7f3a1518 \ + --hash=sha256:275424295f4256fd301744b8f335cff367825d270f155d522b30c7bf49903ee7 \ + --hash=sha256:32fe6a41ad97302db2931f05bb91abbcc65b5ce4c675cd44b972428dd2947700 \ + --hash=sha256:334edbcff10514ad1d66e3a70b339c0a29886394892490119dbb669627b17717 \ + --hash=sha256:3bb9ec6436a820a4c006aad1ac351f12de2f2dbdaad171692ee457a02429b672 \ + --hash=sha256:3ddcb27fb39171de36e207600116ac9dfd4ae46f86c82a9bf3934043e80ebb88 \ + --hash=sha256:42e8804962f9e6f4be2cbaedc0c3718f08f60a16910fa3d86da5a1e3b1bfe60f \ + --hash=sha256:43d044780732d9e0381ac8d5316f95d7f02ef04d6e4ef6dc82379f09795d993f \ + --hash=sha256:46796877b47034b559a593d7e4b549aba151dae73f9e78212a3478161c12ab08 \ + --hash=sha256:46d51518d53edfbe0563662c96954dc8fcace9832332b914375f45a99b77cc9a \ + --hash=sha256:47604cb2159f8bbd5a1ab48a714557156320f20871ee64d550d8bf2683d980d3 \ + --hash=sha256:4bbccb45260e4ff1b7db0be80a9025bb1e6698bdb808b83fff0000f7a90b2c0b \ + --hash=sha256:4d4e5a0ceba319942fa6b585cf82539288a61e314ef006c1209f734551ab9536 \ + --hash=sha256:55250fe61d6ebfd6934a272ee16ef1244e0f16b7af6cd18ab5b1fc9f08631db0 \ + --hash=sha256:566df36fd0e901625523a5a1835032f1ebdd7f7886c54584143fa6c668b4df3b \ + --hash=sha256:57ca426a48eb2c682dae8204cd89ea8ab7031e2675120a47924fabc7caacbc2a \ + --hash=sha256:5e61abbec255be7b122aa461021daa7c3f310f3e743411a67079f9b3cc91ece3 \ + --hash=sha256:618a308215b6cececb6240b9abde545e3acdabac7ae3e1d4e666896bf5ba44b4 \ + --hash=sha256:62557958002b69699bdb7f5137c6714ca1133f045f97b3903964f47db97ea339 \ + --hash=sha256:6270d717b11c5476b0cbb21eedc8d4dbb7d1a956fd6c15a23e96f197a6193158 \ + --hash=sha256:685e93e9c8f399b0c96a624799820176312f5ceef958c0f88215af4013d29066 \ + --hash=sha256:69469ce8ce7a8df4d37620e3163b71238719e1e2e5048d114a1b6ce0fbf8c662 \ + --hash=sha256:6eb188b84269f357669b62cb576b5b918de10fb7c728a005fa0ebb0b758adce1 \ + --hash=sha256:74ab4ee7794d7ed1b0c37e7333640e0f0a626fc7b398c07a7aef52f484fddde3 \ + --hash=sha256:77641d299179c37b89cf2343ca9972c88bb6eef0d5fc504a2f86afd15cd5adf5 \ + --hash=sha256:7c821c47ecfe05cc32140dcf8dc6fd5d21971c86dbd56eabfe5ba07a64910c01 \ + --hash=sha256:7d6be30b2a75362325176c036d7fb8d19e8846c77e87683ffaa8177b35135613 \ + --hash=sha256:7f605a456948c35260e7b2a39f8952a26f077fd25653c37740ed186b90aaa68a \ + --hash=sha256:83101a6930332b87653886c01d1ee7e294b1fe46a07dd9a2d2b4f91bcc88eec0 \ + --hash=sha256:88690f4e1f0fbf5339bedbb127e240fec1fd3070e9934c0b7bef83432f779d2f \ + --hash=sha256:8a97ac839c2c6672c4865e48f3cbad7152cee85f4233fb4ca6291d775b9b954a \ + --hash=sha256:8d6efc136f44a7e8bc8088507eaabbb8c2b55b3dbb63fe102c690da0ddebe55e \ + --hash=sha256:8e20e511dc15265fb433571391ba313e10dd8ea7e509d51686a51313b4ac01a2 \ + --hash=sha256:951d4a210744813be63019f3df343bf233b7432aadf0db54c75802247330d3af \ + --hash=sha256:9ac7a3e245fd0310fd31495eb61af772e637bdf7d88ee81e7f10a3f271bff014 \ + --hash=sha256:9b1c058c171b739e7c330760044803099c7fff11511e3ab3573e5327116a9c33 \ + --hash=sha256:9c04bff9a5335eb95c6ecf1c117576a0aa560def274876fd156cfe5510fccc61 \ + --hash=sha256:9c4969a86e41454f2858256c39bdfb966a20961e9b58bf8749b65abf447e9a8d \ + --hash=sha256:9e0400fa22f79acc334d9a6b185dc00a44a8e6578aa7e12d0ddcd8434152b187 \ + --hash=sha256:a05977bffe9bffd2229f477fa75eabe3192b1b05f408961d1bebff8d1cd4d401 \ + --hash=sha256:a143af2ea6672f2af3f44ed8f9cd020e9cc34c56f0e8db12019d5d9ecf41cb3b \ + --hash=sha256:a51d3db74ba489266ef55c7a4534eb0b8db9a326553df481c11e5d7660c8364d \ + --hash=sha256:b95b2f470c1b2683febd2e7eab1d3f0e078c91dbdd0b00e9c645d07a413bb99f \ + --hash=sha256:b9870d15ef00e4d0559ae10ee5bc71b654d1f20076dbe8bc7ed19b4c0625ceba \ + --hash=sha256:c1dc3368794d522f43914e03312202523cc89692f5389c32bea0233924f8d977 \ + --hash=sha256:c338ec6ec01c0bc8e735c58b9f5d51e75bacb6ff23296658826d7cfdfdb8678a \ + --hash=sha256:c5070135e1b7409c4161133aa525419b0062088ed77c92b1da95366ec5cbebbe \ + --hash=sha256:cc992c6ed024c8c3c592c5fc9846a03dd68a425674900c70122c77ea16c5fb0b \ + --hash=sha256:d15950a57a210e36dd4cec1aac22787e2a4d57ba9318233e2ef8b2daf9ff2d5f \ + --hash=sha256:d898cc2c76c135ef65517f4ddd7a3512fb41f23087b0650efb3418b8389a3cd1 \ + --hash=sha256:d99945830a6f3e9638d89a28ed130b1eb24c91255e4f24366fbe699b983f29e4 \ + --hash=sha256:da9b91bca419dc9b9267ffadde24eae9b1a6bffcd09d0a207e5e3af99a03ce0d \ + --hash=sha256:df2d441bacf97022e81ad047e1597552eb3f83ca8a8f1a1fdd43cd7fe3898120 \ + --hash=sha256:e06e617e3d4fd9e51d385dfe45b077a41e9d1b033a7702551e3278ac597dc750 \ + --hash=sha256:ec44cfa7ef1a728e88ad41674de50f6db8cfdb3e2af84af86e0041aaf02d43d0 \ + --hash=sha256:fb37f15714ec2652d574f021d479e78cd4eb9d04396dca36568fdfffb3487982 +sqlite-vec==0.1.9 \ + --hash=sha256:1515727990b49e79bcaf75fdee2ffc7d461f8b66905013231251f1c8938e7786 \ + --hash=sha256:1b62a7f0a060d9475575d4e599bbf94a13d85af896bc1ce86ee80d1b5b48e5fb \ + --hash=sha256:1d52e30513bae4cc9778ddbf6145610434081be4c3afe57cd877893bad9f6b6c \ + --hash=sha256:4a28dc12fa4b53d7b1dced22da2488fade444e96b5d16fd2d698cd670675cf32 \ + --hash=sha256:4e921e592f24a5f9a18f590b6ddd530eb637e2d474e3b1972f9bbeb773aa3cb9 +starlette==1.0.0 \ + --hash=sha256:6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149 \ + --hash=sha256:d3ec55e0bb321692d275455ddfd3df75fff145d009685eb40dc91fc66b03d38b +striprtf==0.0.26 \ + --hash=sha256:8c8f9d32083cdc2e8bfb149455aa1cc5a4e0a035893bedc75db8b73becb3a1bb \ + --hash=sha256:fdb2bba7ac440072d1c41eab50d8d74ae88f60a8b6575c6e2c7805dc462093aa +tenacity==9.1.4 \ + --hash=sha256:6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55 \ + --hash=sha256:adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a +tinytag==2.2.1 \ + --hash=sha256:e6d06610ebe7cd66fd07be2d3b9495914ab32654a5e47657bb8cd44c2484523c \ + --hash=sha256:ed8b1e6d25367937e3321e054f4974f9abfde1a3e0a538824c87da377130c2b6 +tornado==6.5.5 \ + --hash=sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9 \ + --hash=sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6 \ + --hash=sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca \ + --hash=sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e \ + --hash=sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07 \ + --hash=sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa \ + --hash=sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b \ + --hash=sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521 \ + --hash=sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7 \ + --hash=sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5 +typer==0.24.2 \ + --hash=sha256:b618bc3d721f9a8d30f3e05565be26416d06e9bcc29d49bc491dc26aba674fa8 \ + --hash=sha256:ec070dcfca1408e85ee203c6365001e818c3b7fffe686fd07ff2d68095ca0480 +typer-slim==0.24.0 \ + --hash=sha256:d5d7ee1ee2834d5020c7c616ed5e0d0f29b9a4b1dd283bdebae198ec09778d0e \ + --hash=sha256:f0ed36127183f52ae6ced2ecb2521789995992c521a46083bfcdbb652d22ad34 +tzdata==2026.2 \ + --hash=sha256:9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10 \ + --hash=sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7 +uvicorn==0.46.0 \ + --hash=sha256:bbebbcbed972d162afca128605223022bedd345b7bc7855ce66deb31487a9048 \ + --hash=sha256:fb9da0926999cc6cb22dc7cd71a94a632f078e6ae47ff683c5c420750fb7413d +wcwidth==0.6.0 \ + --hash=sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad \ + --hash=sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159 +wrapt==2.1.2 \ + --hash=sha256:08ffa54146a7559f5b8df4b289b46d963a8e74ed16ba3687f99896101a3990c5 \ + --hash=sha256:0fc04bc8664a8bc4c8e00b37b5355cffca2535209fba1abb09ae2b7c76ddf82b \ + --hash=sha256:1370e516598854e5b4366e09ce81e08bfe94d42b0fd569b88ec46cc56d9164a9 \ + --hash=sha256:162e4e2ba7542da9027821cb6e7c5e068d64f9a10b5f15512ea28e954893a267 \ + --hash=sha256:16997dfb9d67addc2e3f41b62a104341e80cac52f91110dece393923c0ebd5ca \ + --hash=sha256:1c51c738d7d9faa0b3601708e7e2eda9bf779e1b601dce6c77411f2a1b324a63 \ + --hash=sha256:1c6cc827c00dc839350155f316f1f8b4b0c370f52b6a19e782e2bda89600c7dc \ + --hash=sha256:2b8b28e97a44d21836259739ae76284e180b18abbb4dcfdff07a415cf1016c3e \ + --hash=sha256:2d3ff4f0024dd224290c0eabf0240f1bfc1f26363431505fb1b0283d3b08f11d \ + --hash=sha256:305d8a1755116bfdad5dda9e771dcb2138990a1d66e9edd81658816edf51aed1 \ + --hash=sha256:3144b027ff30cbd2fca07c0a87e67011adb717eb5f5bd8496325c17e454257a3 \ + --hash=sha256:3278c471f4468ad544a691b31bb856374fbdefb7fee1a152153e64019379f015 \ + --hash=sha256:3756219045f73fb28c5d7662778e4156fbd06cf823c4d2d4b19f97305e52819c \ + --hash=sha256:3769a77df8e756d65fbc050333f423c01ae012b4f6731aaf70cf2bef61b34596 \ + --hash=sha256:3969c56e4563c375861c8df14fa55146e81ac11c8db49ea6fb7f2ba58bc1ff9a \ + --hash=sha256:3996a67eecc2c68fd47b4e3c564405a5777367adfd9b8abb58387b63ee83b21e \ + --hash=sha256:3b8d15e52e195813efe5db8cec156eebe339aaf84222f4f4f051a6c01f237ed7 \ + --hash=sha256:3beb22f674550d5634642c645aba4c72a2c66fb185ae1aebe1e955fae5a13baf \ + --hash=sha256:3d7b6fd105f8b24e5bd23ccf41cb1d1099796524bcc6f7fbb8fe576c44befbc9 \ + --hash=sha256:4006c351de6d5007aa33a551f600404ba44228a89e833d2fadc5caa5de8edfbf \ + --hash=sha256:45914e8efbe4b9d5102fcf0e8e2e3258b83a5d5fba9f8f7b6d15681e9d29ffe0 \ + --hash=sha256:467e7c76315390331c67073073d00662015bb730c566820c9ca9b54e4d67fd04 \ + --hash=sha256:478282ebd3795a089154fb16d3db360e103aa13d3b2ad30f8f6aac0d2207de0e \ + --hash=sha256:4b7a86d99a14f76facb269dc148590c01aaf47584071809a70da30555228158c \ + --hash=sha256:4bdf26e03e6d0da3f0e9422fd36bcebf7bc0eeb55fdf9c727a09abc6b9fe472e \ + --hash=sha256:5681123e60aed0e64c7d44f72bbf8b4ce45f79d81467e2c4c728629f5baf06eb \ + --hash=sha256:577dff354e7acd9d411eaf4bfe76b724c89c89c8fc9b7e127ee28c5f7bcb25b6 \ + --hash=sha256:57d7c0c980abdc5f1d98b11a2aa3bb159790add80258c717fa49a99921456d90 \ + --hash=sha256:5a0a0a3a882393095573344075189eb2d566e0fd205a2b6414e9997b1b800a8b \ + --hash=sha256:5c35b5d82b16a3bc6e0a04349b606a0582bc29f573786aebe98e0c159bc48db6 \ + --hash=sha256:5e0fa9cc32300daf9eb09a1f5bdc6deb9a79defd70d5356ba453bcd50aef3742 \ + --hash=sha256:62503ffbc2d3a69891cf29beeaccdb4d5e0a126e2b6a851688d4777e01428dbb \ + --hash=sha256:6433ea84e1cfacf32021d2a4ee909554ade7fd392caa6f7c13f1f4bf7b8e8748 \ + --hash=sha256:64a07a71d2730ba56f11d1a4b91f7817dc79bc134c11516b75d1921a7c6fcda1 \ + --hash=sha256:6de1a3851c27e0bd6a04ca993ea6f80fc53e6c742ee1601f486c08e9f9b900a9 \ + --hash=sha256:6f2c5390460de57fa9582bc8a1b7a6c86e1a41dfad74c5225fc07044c15cc8d1 \ + --hash=sha256:6f8dbdd3719e534860d6a78526aafc220e0241f981367018c2875178cf83a413 \ + --hash=sha256:6f97edc9842cf215312b75fe737ee7c8adda75a89979f8e11558dfff6343cc4b \ + --hash=sha256:710f6e5dfaf6a5d5c397d2d6758a78fecd9649deb21f1b645f5b57a328d63050 \ + --hash=sha256:72aaa9d0d8e4ed0e2e98019cea47a21f823c9dd4b43c7b77bba6679ffcca6a00 \ + --hash=sha256:76405518ca4e1b76fbb1b9f686cff93aebae03920cc55ceeec48ff9f719c5f67 \ + --hash=sha256:767c0dbbe76cae2a60dd2b235ac0c87c9cccf4898aef8062e57bead46b5f6894 \ + --hash=sha256:776867878e83130c7a04237010463372e877c1c994d449ca6aaafeab6aab2586 \ + --hash=sha256:787fd6f4d67befa6fe2abdffcbd3de2d82dfc6fb8a6d850407c53332709d030b \ + --hash=sha256:79847b83eb38e70d93dc392c7c5b587efe65b3e7afcc167aa8abd5d60e8761c8 \ + --hash=sha256:7dfa9f2cf65d027b951d05c662cc99ee3bd01f6e4691ed39848a7a5fffc902b2 \ + --hash=sha256:84ce8f1c2104d2f6daa912b1b5b039f331febfeee74f8042ad4e04992bd95c8f \ + --hash=sha256:866abdbf4612e0b34764922ef8b1c5668867610a718d3053d59e24a5e5fcfc15 \ + --hash=sha256:96159a0ee2b0277d44201c3b5be479a9979cf154e8c82fa5df49586a8e7679bb \ + --hash=sha256:970d57ed83fa040d8b20c52fe74a6ae7e3775ae8cff5efd6a81e06b19078484c \ + --hash=sha256:98ba61833a77b747901e9012072f038795de7fc77849f1faa965464f3f87ff2d \ + --hash=sha256:9c691a6bc752c0cc4711cc0c00896fcd0f116abc253609ef64ef930032821842 \ + --hash=sha256:a5d516e22aedb7c9c1d47cba1c63160b1a6f61ec2f3948d127cd38d5cfbb556f \ + --hash=sha256:a76d61a2e851996150ba0f80582dd92a870643fa481f3b3846f229de88caf044 \ + --hash=sha256:a819e39017f95bf7aede768f75915635aa8f671f2993c036991b8d3bfe8dbb6f \ + --hash=sha256:a8914c754d3134a3032601c6984db1c576e6abaf3fc68094bb8ab1379d75ff92 \ + --hash=sha256:a9372fc3639a878c8e7d87e1556fa209091b0a66e912c611e3f833e2c4202be2 \ + --hash=sha256:a93cd767e37faeddbe07d8fc4212d5cba660af59bdb0f6372c93faaa13e6e679 \ + --hash=sha256:a9b9d50c9af998875a1482a038eb05755dfd6fe303a313f6a940bb53a83c3f18 \ + --hash=sha256:a9dd9813825f7ecb018c17fd147a01845eb330254dff86d3b5816f20f4d6aaf8 \ + --hash=sha256:b89f095fe98bc12107f82a9f7d570dc83a0870291aeb6b1d7a7d35575f55d98a \ + --hash=sha256:b8aefb4dbb18d904b96827435a763fa42fc1f08ea096a391710407a60983ced8 \ + --hash=sha256:b8fd6fa2b2c4e7621808f8c62e8317f4aae56e59721ad933bac5239d913cf0e8 \ + --hash=sha256:bbac24d879aa22998e87f6b3f481a5216311e7d53c7db87f189a7a0266dafffb \ + --hash=sha256:c0be8b5a74c5824e9359b53e7e58bef71a729bacc82e16587db1c4ebc91f7c5a \ + --hash=sha256:c20b757c268d30d6215916a5fa8461048d023865d888e437fab451139cad6c8e \ + --hash=sha256:c7e6cd120ef837d5b6f860a6ea3745f8763805c418bb2f12eeb1fa6e25f22d22 \ + --hash=sha256:c87cf3f0c85e27b3ac7d9ad95da166bf8739ca215a8b171e8404a2d739897a45 \ + --hash=sha256:c8e46ae8e4032792eb2f677dbd0d557170a8e5524d22acc55199f43efedd39bf \ + --hash=sha256:cef91c95a50596fcdc31397eb6955476f82ae8a3f5a8eabdc13611b60ee380ba \ + --hash=sha256:d1c5fea4f9fe3762e2b905fdd67df51e4be7a73b7674957af2d2ade71a5c075d \ + --hash=sha256:d307aa6888d5efab2c1cde09843d48c843990be13069003184b67d426d145394 \ + --hash=sha256:d8f7740e1af13dff2684e4d56fe604a7e04d6c94e737a60568d8d4238b9a0c71 \ + --hash=sha256:da1f00a557c66225d53b095a97eace0fc5349e3bfda28fa34ffae238978ee575 \ + --hash=sha256:dad63212b168de8569b1c512f4eac4b57f2c6934b30df32d6ee9534a79f1493f \ + --hash=sha256:de9f1a2bbc5ac7f6012ec24525bdd444765a2ff64b5985ac6e0692144838542e \ + --hash=sha256:e3d3b35eedcf5f7d022291ecd7533321c4775f7b9cd0050a31a68499ba45757c \ + --hash=sha256:e5aeab8fe15c3dff75cfee94260dcd9cded012d4ff06add036c28fae7718593b \ + --hash=sha256:e6ed62c82ddf58d001096ae84ce7f833db97ae2263bff31c9b336ba8cfe3f508 \ + --hash=sha256:eba8155747eb2cae4a0b913d9ebd12a1db4d860fc4c829d7578c7b989bd3f2f0 \ + --hash=sha256:f01277d9a5fc1862f26f7626da9cf443bebc0abd2f303f41c5e995b15887dabd \ + --hash=sha256:f069e113743a21a3defac6677f000068ebb931639f789b5b226598e247a4c89e \ + --hash=sha256:f0d8fc30a43b5fe191cf2b1a0c82bab2571dadd38e7c0062ee87d6df858dd06e \ + --hash=sha256:f29c827a8d9936ac320746747a016c4bc66ef639f5cd0d32df24f5eacbf9c69f \ + --hash=sha256:f3b7d73012ea75aee5844de58c88f44cf62d0d62711e39da5a82824a7c4626a8 \ + --hash=sha256:f8bc1c264d8d1cf5b3560a87bbdd31131573eb25f9f9447bb6252b8d4c44a3a1 \ + --hash=sha256:f8fba1bae256186a83d1875b2b1f4e2d1242e8fac0f58ec0d7e41b26967b965c \ + --hash=sha256:fab036efe5464ec3291411fabb80a7a39e2dd80bae9bcbeeca5087fdfa891e19 \ + --hash=sha256:ff2aad9c4cda28a8f0653fc2d487596458c2a3f475e56ba02909e950a9efa6a9 \ + --hash=sha256:ff95d4264e55839be37bafe1536db2ab2de19da6b65f9244f01f332b5286cfbf +zipp==3.23.1 \ + --hash=sha256:0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc \ + --hash=sha256:32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110 diff --git a/lsc/requirements.hashes.wheel.txt b/lsc/requirements.hashes.wheel.txt new file mode 100644 index 000000000..e1ff778a8 --- /dev/null +++ b/lsc/requirements.hashes.wheel.txt @@ -0,0 +1,210 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile lsc/requirements.wheel.txt --refresh --generate-hashes --index-url https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cpu-ubi9/simple/ --python-version 3.12 --python-platform x86_64-unknown-linux-gnu --emit-index-url --no-deps --no-annotate +--index-url https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cpu-ubi9/simple/ + +aiohappyeyeballs==2.6.1 \ + --hash=sha256:eff0885546faac493fa18997b9e5158ea7a56a36ee3222b744bab31808e3f3f8 +aiohttp==3.13.3 \ + --hash=sha256:b170fe2ac5f84453b4b5c18017f6dfb101dc052d7647ed7726cc139b057c12b8 \ + --hash=sha256:baa9ead7e6a15fb47330101ebe4a4fe997b36ede1fa8a33d438e9dfbd8b2035e \ + --hash=sha256:bc56021945f304b3cb066e4e1c1f364747bedaf8fef6e139be63f1b192558330 \ + --hash=sha256:c418ae157c77de1c7314313d767efcdf2243dc0122beddeafd2f3bab73ad0ed8 +aiosignal==1.4.0 \ + --hash=sha256:9d5af4742d4552e8a3f2fbd48237e07cab578e7175af2f952c420d2e98b731f0 +aiosqlite==0.22.1 \ + --hash=sha256:2e85580d41e992ed45e1aafce66ac4c23b7bd7cf842dc5209a39b95c11497115 +annotated-doc==0.0.4 \ + --hash=sha256:cf904ba25da8611ae3274f2af1d6e82275e452113f7774505e723a21957c10d6 +annotated-types==0.7.0 \ + --hash=sha256:fcdc578cef2d4fd8770abc0ceb0241c68c992698aa7a5f945ce67651dd585cfb +anyio==4.12.1 \ + --hash=sha256:e18da418b6421e6735231319ea8ae4262f68b52b8dbcb4699a7a14f89cfb2b15 +asyncpg==0.31.0 \ + --hash=sha256:30b9415c515d7aeeb78a2973398c110b021bbc8c4b664a50309c8a7a59f850e6 \ + --hash=sha256:d5fcd8eb91e0624dbbd391062d529ec24ac41e0665c6aa4df719f6682856b318 \ + --hash=sha256:fb62c7c0a0ecf71ebb9ba83bd67965dd8c8349c1fdb12225b4f76c11f04dcc46 +attrs==25.4.0 \ + --hash=sha256:6d626bc22c041e7c3a84117f6d65a2be8eba3b58a83d3d110c58ee71db234b1e +beautifulsoup4==4.14.3 \ + --hash=sha256:68210693f16dd61027d84465d3e0fc14ed1d47b339cd08900af30760fc29660f +certifi==2026.1.4 \ + --hash=sha256:b74c6cab6a323eb7dc175b1f60b281cd15f4a8bd51e02965591295b1db9e185a +cffi==2.0.0 \ + --hash=sha256:257e90f733c1a33b9f5ade4a4f47db6a3984de5c2d2654848feca129888ff9d5 \ + --hash=sha256:34cf2187e399eb7baaa20488d0b78ab20be91060ef9ac531685f37478ca1a12a \ + --hash=sha256:e39d7009b1872abbd91bb17057b48fe24057a1026a20ab06b672fbdd4721d789 \ + --hash=sha256:ffe747cf5e265169ad5bd64b4359368f74e445cf8ea3cfe99045450554fb4e13 +colorama==0.4.6 \ + --hash=sha256:6a666a04575143daff7ee645ed455ecd7b108f1a1e2bb8afd24e0e58dc7a7969 +dataclasses-json==0.6.7 \ + --hash=sha256:1155da9dafe10961a05459d1e2ae87709913edfaf261d8a2512da91d4fb673ae +defusedxml==0.7.1 \ + --hash=sha256:581f7cc44427f60a0c1bdf72190192736c27dc96718d9594242670569c7bc74b +deprecated==1.3.1 \ + --hash=sha256:6072c81ba7d406bf5a9462afb853890a47f9b76e6eace579a8b40a18c06142b0 +distro==1.9.0 \ + --hash=sha256:14a63983246dce4a649b0994f909f6e225197c0adb86f68f4be1252309a5c603 +faiss-cpu==1.12.0 \ + --hash=sha256:004aa246c589767439e210c275e20f64a5d3e0ee844df7d1ada4612b4c27e348 \ + --hash=sha256:06d06d210105c6769ca1c93c5111ce0a1a7ed2f239b2f666ccb2af7c90f42383 \ + --hash=sha256:4aadb7cfceacda36ff1738fe64af1c16e77f739105bb26246c683572c28db123 \ + --hash=sha256:8a2cc05c9459d0e22d05d1996f2e3a8b25b50cfc0ea9530a5422873048196a83 \ + --hash=sha256:b769fa38427cea3ee56e74af41e04578e5a3bee1389dde6e62116b2a2ac90dda \ + --hash=sha256:d164c65eb35d98f5ea8422b88c9b2645bdc091d3ab9829808699f81fdf7e6c1d +filetype==1.2.0 \ + --hash=sha256:40376ef6d20b0cd1be5ba02d5a9ceb0f22e0810d9fffc96777a602bd23fd0b2a +fire==0.7.1 \ + --hash=sha256:833e042e12ce8f590b8a557f90fad4977d355534bc034b30185458ffe6acb638 +frozenlist==1.8.0 \ + --hash=sha256:41a5c624d79ec4157746ada9e19a1da4c3d1b3f5fde9e3f8ac85f7eed9126af9 \ + --hash=sha256:89573b85be77e89a114dc8d1983456091f6c01ff482d31aec2585df0c00de2c5 \ + --hash=sha256:b4fdb636be50043b56a9589b8690a104d7d9ddc72d79058171735fe15eadcc39 \ + --hash=sha256:d7bcd7c1b48b3851acba9e7a11f951c117a654e60004adcbe98425b3f4114057 +h11==0.16.0 \ + --hash=sha256:a485f5bfa77401603f78cff4db5bb4dbaadb947a3da8eae068cd05b6bb4aab66 +hf-xet==1.2.0 \ + --hash=sha256:a14cc5078bf43efc85ad180ec02372e5a84d134de095c0a9740f7e0407df7866 \ + --hash=sha256:acb8669cac4d9aa8e8ad31a92d99353fe2f0d4463b8aaa54f2b93a33e222149d +httpcore==1.0.9 \ + --hash=sha256:5af3f1b09e795d5548d5030be3d4191e65113cfdac21968c82bf0cddf15ec313 +httpx==0.28.1 \ + --hash=sha256:c75bc8d287ff8e92be7e4359732032ba1b93fa3f920ee1cb179ba09bb613dc7a +huggingface-hub==1.3.4 \ + --hash=sha256:2ab293a7753ba63e460ecdb79c9b8314b73fa6ab2a03300404602f958a59b58d +importlib-metadata==8.7.1 \ + --hash=sha256:a3f29411f5f628be21c445082ff4f844a26ff1a0893d6fabaa55509c63ddbfaf +jinja2==3.1.6 \ + --hash=sha256:961c7281585491fb02ca0027b29e9ffc7a1bd7b52a5e03095f3a4e3afc42336e +jiter==0.12.0 \ + --hash=sha256:3ad7e5a7502b62d032b17c4b1bd71ad3049c810358913642abbf5254f3e5c455 \ + --hash=sha256:64f8bd9b9ced14c62d13e64d198e70f55712a775ac7d112849b4b16b3a884489 \ + --hash=sha256:9c42d9b61ab5d2c9203637a243b4187cc28b0101b28461d35006353d621da292 +joblib==1.5.3 \ + --hash=sha256:40d87a5e80b69104a3b8f1d761fdbc077fc7b97a23b08b9fdaddb7a3821b06d1 +jsonschema==4.26.0 \ + --hash=sha256:2601ba467f84ff6ee9c057cbe6a9d7aebefa76cfa747327b37f81d4581f6748f +jsonschema-specifications==2025.9.1 \ + --hash=sha256:065ec57323001f79634013c12250a476952e6ce834a17cfd5227343cec3c4aee +markdown-it-py==4.0.0 \ + --hash=sha256:4ca21586bdc83c96a1318ffc854698e1fdcad60a3e8051d249f10ef210c945c0 +marshmallow==3.26.2 \ + --hash=sha256:6631b7ba9bb5ede24dfecee215d9831dd60b17d59211b5c5b75f2bf9ddd9c411 +mdurl==0.1.2 \ + --hash=sha256:fec2de44574adf66cd0d5ec329822fbf05ae011b6ba618c96b178d0eaaf7e249 +mpmath==1.3.0 \ + --hash=sha256:58244de27af87d8fccdb6bc9a17808d4a3f00f5e97152b090272f241f22b1d00 +multidict==6.7.1 \ + --hash=sha256:0f590b4e611242eb68916690dd2d0855b05b788bbaeb6e684c88928f3dfcf9a3 \ + --hash=sha256:4edbf9266edceef23b80ab69bfe575349d6a11a396c36bb47f50f5d75cf4b725 +mypy-extensions==1.1.0 \ + --hash=sha256:a18e3010fd8acb335b98af7dc61231b15c7ff36e6af5f8abd4de43202399a3f1 +nest-asyncio==1.6.0 \ + --hash=sha256:159239b70d070fa53db5839d85c199708bbe1c9a25bcb9364c3a53c8291c0ea1 +networkx==3.6.1 \ + --hash=sha256:c37e077bdb955f915337b0cbbe4f70303aca085abe728dbae9f400c5d7b3ae91 +numpy==2.3.5 \ + --hash=sha256:3c09803370223ede9f913428680f123a59bfe95bff6bca3625a42c46983cff1f \ + --hash=sha256:496287a2a8698bfb84129d2da985ae9d801ea986a3ab24ce36261dd9641db032 \ + --hash=sha256:9f44732d61a230ec7f3efb9363e6448325c97c2441ff761e74b7315c72ec3859 \ + --hash=sha256:e3ea2175951df3c16ead190bb3b719af8fcf25c19a5ccb15ac3a0c1a18705bdd +pandas==2.3.3 \ + --hash=sha256:308c8ca6262e058136d91a7d4d2bd84dd02e65caf60340fefd20bcf26b97e819 \ + --hash=sha256:6ba245cff03afa84a0bc5e715a11caafab1dc51ca8fe4d827017706c4b62f238 \ + --hash=sha256:cd3d338d360612bed009570e303a59759fb450d163a9d1584c508fa9c22f568a \ + --hash=sha256:e3a18fae723b808514670a4a0172f9939cdbb095abd5eef1f34cf5ae1b99f424 +pillow==12.1.1 \ + --hash=sha256:58c0a6787ac12753fba61035713f939f33946c970fe48a5756ed1a36c22d2e79 \ + --hash=sha256:98ab177b9de8751ec5b1dbb7597b45c7edc358f7e16e5764ae93c976c6433f9f \ + --hash=sha256:dd45829dc58e931ebef6a4b7eb122efef838a8d37848d5ec857a79d4c7e8f543 \ + --hash=sha256:fcf5fa3497ec5c32843367d1133bc6b6d273e82d2fc86cd6d309cc09e7e457cf +prompt-toolkit==3.0.52 \ + --hash=sha256:c329e921742d68b12ff8543ca7004be7b4ccd8a69317bea8d9a6e524dd48cdbe +propcache==0.4.1 \ + --hash=sha256:10f7bf66817595de6682fd428cf2aa7892c0b0b45475585e8029655ab50c0510 \ + --hash=sha256:3ccf1a18d315e7e234aee592a5dddd10951fa41f8a8658021dbe7ac413cca797 \ + --hash=sha256:3f5189a8cf5fd36f414b4d9bf244e61a1eca49ac57942c7e930250df94b2340a \ + --hash=sha256:42ecf4d140bbc503d90097af47bfc9c7e2a88faaad70694ea2bf50ad3da35c41 +pycparser==3.0 \ + --hash=sha256:86072d0cf4bf7e125171d79036c2126a2fa377687520e834987c2de4b4e5a9e9 +pydantic-core==2.41.5 \ + --hash=sha256:280238d34598c8e0eac77c2d96456cb5657f4afc3235d6afa15859a143cc3885 \ + --hash=sha256:2c1462d1bdf9b8b13c8afa43856d7163c5a2567e9f05fcd5d26f54f23f35edf0 \ + --hash=sha256:3713d923ca3dd74e51ad6ce5be8e2bb9b8398cbc3cdbe7bd959282e9e9694fff \ + --hash=sha256:41f74ba1ea18462d7cc27155581a9b23165adc7b009c6d467542274d63db163c +python-dateutil==2.9.0.post0 \ + --hash=sha256:c112f3de33b4ef01360132ef116d72df91cdf628f136b70f1fc9a9eb19137cb9 +referencing==0.37.0 \ + --hash=sha256:bd019ff74869f84a893b7e50b84ce3d0db1e465ceb3a336403011c6467ffacb0 +rpds-py==0.30.0 \ + --hash=sha256:16a18b2b2566d88ccdabe156c2fd0b6bcc4fb172d084ec7e4c1ab502cb8a5cfd \ + --hash=sha256:613bc173bc12f35e40c3d1c1e6252555eaa48ea9425ee0b01fb151f3ca8a2a05 \ + --hash=sha256:6c94c5f1c2501e50c22b7c993b083aeef4d342974d3058763296fb4646d8a059 \ + --hash=sha256:75a565fc839958562ab5ad648c3a4bd0c46874a5556acb48da423f91c47c355b +safetensors==0.7.0 \ + --hash=sha256:18abcf37ffae5f85a81ca46c440fdc5f38ae0938ff0f4a4de14e37386ed248e7 \ + --hash=sha256:6833f019f20c8f0bb790ae3f0fd088f50c9fe4e051106dc3e59df5a953f68532 \ + --hash=sha256:6aea22e3ce1ed41d56c0e50f1cb504fe47a50ec7a1d50135d76fd233bbe4b1e3 \ + --hash=sha256:bc9d119ad82379f387c1264de35e6d489b7196c431b23e92b2b0959eae8494c7 +scikit-learn==1.8.0 \ + --hash=sha256:4c73965fdde273763f87334dfb0d773cb9196e2eb9dd21a0aabd86cf4da2adb3 \ + --hash=sha256:5641af1f1bcede6f6d894f50418b2d820f3a3b82b3a5cb702621e6a386eef935 \ + --hash=sha256:5d27f41e0a981a58fcc00f09ef9c00fd68a2e13c218768d0ed69c1a247c8855f \ + --hash=sha256:7147bcc3428006a9b5fc0f0934b70c555ddd9f8ebc4b3ee4aaebb44c5e87a3dd +scipy==1.17.0 \ + --hash=sha256:0e35bf4bcd96fb22c9007cb651e3fa7a696bf90986fd220607505f5c2b7f17e7 \ + --hash=sha256:92b4828228173816adc054c97a539c41f396558fbab67dcaae1e4195c6d6253f \ + --hash=sha256:a1b3d25c892207a7626f0634fe768bd71b5f09cbb393be07d82fc44cced109ac \ + --hash=sha256:f1c7b6ff095ed94c422bce52aa0ca8c8aea18922877853bbacaf8b7947e02510 +setuptools==80.9.0 \ + --hash=sha256:3a3c26f9000ab213d87be4efa0f1926fb0975237ae9e8e7cc68c9d7fcba6c294 +shellingham==1.5.4 \ + --hash=sha256:d604bc5d43b795ee246cd1fb3ff0d1ed749f4e85508eb0ee72472d3a995a4472 +six==1.17.0 \ + --hash=sha256:33f558442b372864d53b1813933f5d624876f418521b1b89624ea6e3d79f0e97 +sniffio==1.3.1 \ + --hash=sha256:79fc97358f9f993658f5285996c92b070d9b2b9cdd789daefd3e0607d518097b +sympy==1.14.0 \ + --hash=sha256:92de12bc45a8930ecab22227dea3f4192e15d9f4555c9a9d52d312865748afbd +termcolor==3.3.0 \ + --hash=sha256:2ed14ed07b1ab932881a26035e8f6a9e6251052289ecf8325e535bc17a03240d +threadpoolctl==3.6.0 \ + --hash=sha256:fc79267be059d5a0aaacf924656a1523599e7fc844c44608db5fe1cb2f152c4f +tiktoken==0.12.0 \ + --hash=sha256:019dfefcb4f2899eb8c7fd4d170c3ed335113579de129f55526fcdc3b43ef5ba \ + --hash=sha256:9d341a1e06d325151f05991a0a1616c12918132fda42b7601d25c9d02726e5b3 \ + --hash=sha256:aee67dcabd42538b82abaf27a1d5b74da0eb2da37fa9c9c117ca99d9146e2937 +tokenizers==0.22.2 \ + --hash=sha256:109c12a85bc794db2d335e9845198fd4dfbdd25a5e47d944ada5ee28d720a01c \ + --hash=sha256:914385483cfc1f8a38e8141e9370ca315484464afda41eb3959cd4d36ad2217b \ + --hash=sha256:c6123f7e43990992323d4cd8ee0d463383a7dffe3c03e1f4483b446034910faf \ + --hash=sha256:c883273341b96903ddeda79cb247a6f3ea316bd668ee2dd93d86e6fb57fc35b3 +tomlkit==0.14.0 \ + --hash=sha256:96890a2259a290d46848528559815b808c7817f09bff1323a122131853a50b65 +torch==2.9.1 \ + --hash=sha256:28171ed367139717fe7b8d6918c86d0fe328a7faa5704f5951283ae3b01796a1 \ + --hash=sha256:3ebd43c74b5c0833e2d6c842cb5416bacb928184e362c319eb79223d06bb2fa1 \ + --hash=sha256:9920139df4000ea99e1d71742d4bce1d7b807a5f45cf1a7cbff02c8dd8295bdb \ + --hash=sha256:9bd4844a0cf3f199351830697973a168ad2fd3a99e77b150ca4a1582067dc633 \ + --hash=sha256:ccb4a5b3c15819df80d96d2474b053306a2a4eba0301337c4aa56a58cbe45e10 \ + --hash=sha256:e42ab849b64444059f5eda352d61c9c3a078f30797e48e2972857182c9a00cf8 +tqdm==4.67.3 \ + --hash=sha256:d798b33fcc041b9a42c57f462b9c068a5a15c2dbcef1c87695d80c7074770a4d +transformers==4.57.6 \ + --hash=sha256:7c35d073118fad72b1745bd3dad3149d9bf2cacca3b16a7ed8f47f1a0bec119d +triton==3.5.1 \ + --hash=sha256:7b1a1b9ab53eafe7a65ae25861ac7df5541ea706b3baebe2306580127825e222 \ + --hash=sha256:f45cd8a990cde562e64b6ef00969dc3751a49e90651216e7f7b44ba997c9e19d \ + --hash=sha256:fce4c06d8e47ccd706790271cc3f2cea42c7e709cfb68e6abe760d2a56baeeb4 +typing-extensions==4.15.0 \ + --hash=sha256:00877ead43795d4b767026270fa129816363c9a95b6febe68f5ac41d5096114b +typing-inspect==0.9.0 \ + --hash=sha256:369f80dd867ce208d61bc645e236c5049273c6e0f46c090fb9c7a9655fc8320b +typing-inspection==0.4.2 \ + --hash=sha256:4baec0c9a4ad5cc8a85c71c387e98ff9ecc7b85b6e538e204343940090be3b63 +urllib3==2.6.3 \ + --hash=sha256:a5bd1dd5b4c7b1da77f93abcd09f8619209b2f11fe699382f6cb79b34dc89437 +yarl==1.22.0 \ + --hash=sha256:8e78442a1a40257173cbd3b9ec78a1ded7ab02a1fcb23f3d42686bd5afb184cc \ + --hash=sha256:b59c74a17b24908333ce8e0a348fafe85a1bdb1d524cc74d9c25161674dd358a \ + --hash=sha256:cee8af2825e29b4b31cce0c7272c29b66717ab164e3e2a5dc8dbe173c2901db2 \ + --hash=sha256:eb5d90c48762dd433d86eb6e3c6b4965fc3dff440c472e89047a628dd29271ac diff --git a/lsc/requirements.overrides.txt b/lsc/requirements.overrides.txt new file mode 100644 index 000000000..b8ee81529 --- /dev/null +++ b/lsc/requirements.overrides.txt @@ -0,0 +1,24 @@ +# Override these packages to the versions available on the RHOAI 3.3 index: +# https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cpu-ubi9/simple/ +# +# Regenerate requirements files after editing this with: make update-konflux-deps-lsc +aiohttp==3.13.3 +aiosqlite==0.22.1 +anyio==4.12.1 +attrs==25.4.0 +certifi==2026.1.4 +faiss-cpu==1.12.0 +hf-xet==1.2.0 +huggingface-hub==1.3.4 +jiter==0.12 +numpy==2.3.5 +orjson==3.11.5 +pillow==12.1.1 +pydantic-core==2.41.5 +safetensors==0.7.0 +scipy==1.17.0 +setuptools==80.9 +tokenizers==0.22.2 +torch==2.9.1 +transformers==4.57.6 +yarl==1.22.0 diff --git a/pyproject.toml b/pyproject.toml index 75b34b2eb..7aaa3c165 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ lint.extend-select = ["D401"] lint.ignore = [] -target-version = "py311" +target-version = "py312" lint.pydocstyle.convention = "google" line-length = 100 @@ -33,10 +33,10 @@ build-backend = "pdm.backend" [project.optional-dependencies] cpu = [ - "torch @ https://download.pytorch.org/whl/cpu/torch-2.6.0%2Bcpu-cp311-cp311-linux_x86_64.whl#sha256=5b6ae523bfb67088a17ca7734d131548a2e60346c622621e4248ed09dd0790cc", + "torch", ] gpu = [ - "torch==2.6.0", + "torch", ] [project] @@ -58,6 +58,6 @@ dependencies = [ "beautifulsoup4>=4.10.0", "urllib3>=2.6.3", ] -requires-python = "==3.11.*" +requires-python = ">=3.12,<3.13" readme = "README.md" license = {file = "LICENSE"} diff --git a/requirements-build.cpu.txt b/requirements-build.cpu.txt new file mode 100644 index 000000000..e1a7670e0 --- /dev/null +++ b/requirements-build.cpu.txt @@ -0,0 +1,42 @@ +# +# Autogenerated by pybuild-deps (via scripts/konflux_requirements.sh cpu). +# Python 3.12 / linux x86_64 for Konflux Cachi2 requirements_build_files prefetch. +# +calver==2025.10.20 + # via trove-classifiers +flit-core==3.12.0 + # via + # packaging + # pathspec + # tinytag +hatchling==1.29.0 + # via + # llama-index-core + # llama-index-embeddings-huggingface + # llama-index-instrumentation + # llama-index-readers-file + # llama-index-vector-stores-faiss +maturin==1.13.1 + # via uv-build + # via + # hatchling + # setuptools-scm + # vcs-versioning +pathspec==1.1.0 + # via hatchling +pluggy==1.6.0 + # via hatchling +semantic-version==2.10.0 + # via setuptools-rust +setuptools-rust==1.12.1 + # via maturin +setuptools-scm==10.0.5 + # via + # pluggy + # setuptools-rust +trove-classifiers==2026.1.14.14 + # via hatchling +uv-build==0.9.30 + # via llama-index-workflows +vcs-versioning==1.1.1 + # via setuptools-scm diff --git a/requirements-build.txt b/requirements-build.txt deleted file mode 100644 index b45da1d83..000000000 --- a/requirements-build.txt +++ /dev/null @@ -1,16 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --allow-unsafe --generate-hashes --output-file=requirements-build.txt requirements-build.in -# -wheel==0.44.0 \ - --hash=sha256:2376a90c98cc337d18623527a97c31797bd02bad0033d41547043a1cbfbe448f \ - --hash=sha256:a29c3f2817e95ab89aa4660681ad547c0e9547f20e75b0562fe7723c9a2a9d49 - # via -r requirements-build.in - -# The following packages are considered to be unsafe in a requirements file: -setuptools==74.1.1 \ - --hash=sha256:2353af060c06388be1cecbf5953dcdb1f38362f87a2356c480b6b4d5fcfc8847 \ - --hash=sha256:fc91b5f89e392ef5b77fe143b17e32f65d3024744fba66dc3afe07201684d766 - # via -r requirements-build.in diff --git a/requirements.hashes.source.cpu.txt b/requirements.hashes.source.cpu.txt new file mode 100644 index 000000000..9c7032280 --- /dev/null +++ b/requirements.hashes.source.cpu.txt @@ -0,0 +1,136 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile requirements.source.cpu.txt --refresh --generate-hashes --python-version 3.12 --python-platform x86_64-unknown-linux-gnu --emit-index-url --no-deps --no-annotate +--index-url https://pypi.org/simple + +banks==2.4.1 \ + --hash=sha256:40e6d9b6e9b69fb403fa31f2853b3297e4919c1b6f2179b2119d2d4473c6ed13 \ + --hash=sha256:8cbf1553f14c44d4f7e9c2064ad9212ce53ee4da000b2f8308d548b60db56655 +dirtyjson==1.0.8 \ + --hash=sha256:125e27248435a58acace26d5c2c4c11a1c0de0a9c5124c5a94ba78e517d74f53 \ + --hash=sha256:90ca4a18f3ff30ce849d100dcf4a003953c79d3a2348ef056f1d9c22231a25fd +griffe==2.0.2 \ + --hash=sha256:2b31816460aee1996af26050a1fc6927a2e5936486856707f55508e4c9b5960b \ + --hash=sha256:c5d56326d159f274492e9bf93a9895cec101155d944caa66d0fc4e0c13751b92 +griffecli==2.0.2 \ + --hash=sha256:0d44d39e59afa81e288a3e1c3bf352cc4fa537483326ac06b8bb6a51fd8303a0 \ + --hash=sha256:40a1ad4181fc39685d025e119ae2c5b669acdc1f19b705fb9bf971f4e6f6dffb +griffelib==2.0.2 \ + --hash=sha256:3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e \ + --hash=sha256:925c857658fb1ba40c0772c37acbc2ab650bd794d9c1b9726922e36ea4117ea1 +llama-index-core==0.14.19 \ + --hash=sha256:7b17f321f0d965495402890991b2bfde49d4197bc46ca5970300cc7b9c2df6a2 \ + --hash=sha256:807352f16a300f9980d0110cfdaa81d07e201384965e9f7d940c8ead80d463ed +llama-index-embeddings-huggingface==0.7.0 \ + --hash=sha256:cae7e4ffddc1fecb34b83425a00679f338ce03ad0a7f3aca6b927136d6af7131 \ + --hash=sha256:da8a2a65df9404112c4430dfada09d4f846ba165197a25dbe77f734014c56a87 +llama-index-instrumentation==0.5.0 \ + --hash=sha256:aaab83cddd9dd434278891012d8995f47a3bc7ed1736a371db90965348c56a21 \ + --hash=sha256:eeb724648b25d149de882a5ac9e21c5acb1ce780da214bda2b075341af29ad8e +llama-index-readers-file==0.6.0 \ + --hash=sha256:1026d94f2d5902152373bc2c3b7caa7e216d956620b22d510e516850b6a7440d \ + --hash=sha256:ff366d6ff5ecb7119275ac859310d8b672d8b6b3261afae02f4084fce9076bd0 +llama-index-vector-stores-faiss==0.6.0 \ + --hash=sha256:00bfeb6cb7571e0e856566cb4f10c89b415b6108f151d9ad48ee9c31da563f5e \ + --hash=sha256:d4600c60ef5411d9e35ba573b4f416a5e13ea04c6f942c8e6f49f03f2feb4f3b +llama-index-workflows==2.19.1 \ + --hash=sha256:13328139112bf0f0442e1e87a9c57d94c6f992b14d17546f58e61bcc76546850 \ + --hash=sha256:972b6b2304c3d0621eba794ef78f05648a47e7239962b1e811177a4feb14e0d6 +markupsafe==3.0.3 \ + --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \ + --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \ + --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \ + --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \ + --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \ + --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \ + --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \ + --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \ + --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \ + --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \ + --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \ + --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \ + --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \ + --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \ + --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \ + --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \ + --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \ + --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \ + --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \ + --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \ + --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \ + --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \ + --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \ + --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \ + --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \ + --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \ + --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \ + --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \ + --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \ + --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \ + --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \ + --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \ + --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \ + --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \ + --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \ + --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \ + --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \ + --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \ + --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \ + --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \ + --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \ + --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \ + --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \ + --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \ + --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \ + --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \ + --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \ + --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \ + --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \ + --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \ + --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \ + --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \ + --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \ + --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \ + --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \ + --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \ + --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \ + --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \ + --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \ + --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \ + --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \ + --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \ + --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \ + --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \ + --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \ + --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \ + --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \ + --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \ + --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \ + --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \ + --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \ + --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ + --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \ + --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \ + --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \ + --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \ + --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \ + --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \ + --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \ + --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \ + --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \ + --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \ + --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \ + --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \ + --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \ + --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \ + --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \ + --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ + --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 +python-frontmatter==1.1.0 \ + --hash=sha256:335465556358d9d0e6c98bbeb69b1c969f2a4a21360587b9873bfc3b213407c1 \ + --hash=sha256:7118d2bd56af9149625745c58c9b51fb67e8d1294a0c76796dafdc72c36e5f6d +striprtf==0.0.26 \ + --hash=sha256:8c8f9d32083cdc2e8bfb149455aa1cc5a4e0a035893bedc75db8b73becb3a1bb \ + --hash=sha256:fdb2bba7ac440072d1c41eab50d8d74ae88f60a8b6575c6e2c7805dc462093aa +tinytag==2.2.1 \ + --hash=sha256:e6d06610ebe7cd66fd07be2d3b9495914ab32654a5e47657bb8cd44c2484523c \ + --hash=sha256:ed8b1e6d25367937e3321e054f4974f9abfde1a3e0a538824c87da377130c2b6 diff --git a/requirements.hashes.source.gpu.txt b/requirements.hashes.source.gpu.txt new file mode 100644 index 000000000..08f052487 --- /dev/null +++ b/requirements.hashes.source.gpu.txt @@ -0,0 +1,198 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile requirements.source.gpu.txt --refresh --generate-hashes --python-version 3.12 --python-platform x86_64-unknown-linux-gnu --emit-index-url --no-deps --no-annotate +--index-url https://pypi.org/simple + +aiosqlite==0.22.1 \ + --hash=sha256:043e0bd78d32888c0a9ca90fc788b38796843360c855a7262a532813133a0650 \ + --hash=sha256:21c002eb13823fad740196c5a2e9d8e62f6243bd9e7e4a1f87fb5e44ecb4fceb +banks==2.4.1 \ + --hash=sha256:40e6d9b6e9b69fb403fa31f2853b3297e4919c1b6f2179b2119d2d4473c6ed13 \ + --hash=sha256:8cbf1553f14c44d4f7e9c2064ad9212ce53ee4da000b2f8308d548b60db56655 +dirtyjson==1.0.8 \ + --hash=sha256:125e27248435a58acace26d5c2c4c11a1c0de0a9c5124c5a94ba78e517d74f53 \ + --hash=sha256:90ca4a18f3ff30ce849d100dcf4a003953c79d3a2348ef056f1d9c22231a25fd +faiss-cpu==1.12.0 \ + --hash=sha256:016e391f49933875b8d60d47f282f2e93d8ea9f9ffbda82467aa771b11a237db \ + --hash=sha256:0834c547c39d5e5d0b769c90ac5d5ca42e00bcdbba491f3440d2d458058b19d6 \ + --hash=sha256:0b5fac98a350774a98b904f7a7c6689eb5cf0a593d63c552e705a80c55636d15 \ + --hash=sha256:0d1b243468a24564f85a41166f2ca4c92f8f6755da096ffbdcf551675ca739c5 \ + --hash=sha256:0db6485bc9f32b69aaccf9ad520782371a79904dcfe20b6da5cbfd61a712e85f \ + --hash=sha256:110b21b7bb4c93c4f1a5eb2ffb8ef99dcdb4725f8ab2e5cd161324e4d981f204 \ + --hash=sha256:11670337f9f5ee9ff3490e30683eea80add060c300cf6f6cb0e8faf3155fd20e \ + --hash=sha256:1bf4b5f0e9b6bb5a566b1a31e84a93b283f26c2b0155fb2eb5970c32a540a906 \ + --hash=sha256:220b5bb5439c64e417b35f9ade4c7dc3bf7df683d6123901ba84d6d764ecd486 \ + --hash=sha256:2283f1014f7f86dd56b53bf0ea0d7f848eb4c9c6704b8f4f99a0af02e994e479 \ + --hash=sha256:26c29290e7d1c5938e5886594dc0a2272b30728351ca5f855d4ae30704d5a6cc \ + --hash=sha256:2f87cbcd603f3ed464ebceb857971fdebc318de938566c9ae2b82beda8e953c0 \ + --hash=sha256:433ddfd09f5ef3cd2593b03a39f37e6957b25a91792b17132d3414c99d5ba5dd \ + --hash=sha256:4b9d38691646da1ba12e3c0be8eb910ac52e2bcb0e553b54590c1c7aded9d5a3 \ + --hash=sha256:4d57ed7aac048b18809af70350c31acc0fb9f00e6c03b6ed1651fd58b174882d \ + --hash=sha256:564c1b707fa9e68e4551cd78cbc6dc89810d740cccfc3076c34a0ba6627119ef \ + --hash=sha256:58b23456db725ee1bd605a6135d2ef55b2ac3e0b6fe873fd99a909e8ef4bd0ff \ + --hash=sha256:60a535b79d3d6225c7c21d7277fb0c6fde80c46a9c1e33632b1b293c1d177f30 \ + --hash=sha256:6155a5138604b702a32f8f0a63948a539eb7468898554a9911f9ab8c899284fb \ + --hash=sha256:693d0bf16f79e8d16a1baaeda459f3375f37da0354e97dc032806b48a2a54151 \ + --hash=sha256:6a80f9223f1f5eea42a853355520ff0efd38d00923dd9e581195b9ecf1095f0e \ + --hash=sha256:6b8012353d50d9bc81bcfe35b226d0e5bfad345fdebe0da31848395ebc83816d \ + --hash=sha256:7285c71c8f5e9c58b55175f5f74c78c518c52c421a88a430263f34e3e31f719c \ + --hash=sha256:754eef89cdf2b35643df6b0923a5a098bdfecf63b5f4bd86c385042ee511b287 \ + --hash=sha256:7ac1c8b53609b5c722ab60f1749260a7cb3c72fdfb720a0e3033067e73591da5 \ + --hash=sha256:7f3e0a14e4edec6a3959a9f51afccb89e863138f184ff2cc24c13f9ad788740b \ + --hash=sha256:82eb5515ce72be9a43f4cf74447a0d090e014231981df91aff7251204b506fbf \ + --hash=sha256:83e74cbde6fa5caceec5bc103c82053d50fde163e3ceabaa58c91508e984142b \ + --hash=sha256:84510079a2efe954e6b89fe5e62f23a98c1ef999756565e056f95f835ff43c5e \ + --hash=sha256:84a50d7a2f711f79cc8b65aa28956dba6435e47b71a38b2daea44c94c9b8e458 \ + --hash=sha256:88bfe134f8c7cd2dda7df34f2619448906624962c8207efdd6eb1647e2f5338b \ + --hash=sha256:8b3239cc371df6826ac43c62ac04eec7cc497bedb43f681fcd8ea494f520ddbb \ + --hash=sha256:8b4f5b18cbe335322a51d2785bb044036609c35bfac5915bff95eadc10e89ef1 \ + --hash=sha256:8e74e71249165757a12fb02feee67ea95df542bcafa21b449fbd2ed0c31b48b4 \ + --hash=sha256:9243ee4c224a0d74419040503f22bf067462a040281bf6f3f107ab205c97d438 \ + --hash=sha256:98279f1b4876ef9902695a329b81a99002782ab6e26def472022009df6f1ac68 \ + --hash=sha256:9b43d0c295e93a8e5f1dd30325caaf34d4ecb51f1e3d461c7b0e71bff3a8944b \ + --hash=sha256:9b54990fcbcf90e37393909d4033520237194263c93ab6dbfae0616ef9af242b \ + --hash=sha256:9bcc6e9eb111fc5b06f1623f4073b5acdae25a5baee1eea32b347a2d810deb35 \ + --hash=sha256:a40830a16d8718b14a462e1a1efaa26660eb3bb8ada22e0712a6ac181092750e \ + --hash=sha256:a5f5bca7e1a3e0a98480d1e2748fc86d12c28d506173e460e6746886ff0e08de \ + --hash=sha256:a7c6156f1309bb969480280906e8865c3c4378eebb0f840c55c924bf06efd8d3 \ + --hash=sha256:b80e5965f001822cc99ec65c715169af1b70bdae72eccd573520a2dec485b3ee \ + --hash=sha256:bcc6587dee21e17430fb49ddc5200625d6f5e1de2bdf436f14827bad4ca78d19 \ + --hash=sha256:be96f9290edd13d56fb3c69b8dd6be487552b4401f2e95b437cabf5309c424ad \ + --hash=sha256:c2e4963c7188f57cfba248f09ebd8a14c76b5ffb87382603ccd4576f2da39d74 \ + --hash=sha256:c5867ee3132cdc9f279951b8514ab51fd121acfbea120c9948b06bd1a1e43053 \ + --hash=sha256:c9c79b5f28dcf9b2e2557ce51b938b21b7a9d508e008dc1ffea7b8249e7bd443 \ + --hash=sha256:d04d1cae2a9b66083cd8f48ff391731d81e0a1fdf67ab5c33ae10b3a22a0caae \ + --hash=sha256:d7f8732796e3f730556e99327861066ead0ae7e66b5cbf6c0f217be48074e41e \ + --hash=sha256:ded5063e13c3bb6b1b463827f838ae45a0aea4c9aeaf6c938e7e87f3f6ea4126 \ + --hash=sha256:f6db5532831791d7bac089fc580e741e99869122946bb6a5f120016c83b95d10 \ + --hash=sha256:fbb63595c7ad43c0d9caaf4d554a38a30ea4edda5e7c3ed38845562776992ba9 \ + --hash=sha256:fc98084076d0ceffcc3e306fd77ee22f91cc6143953e471c31c84cf2ddf68bb2 \ + --hash=sha256:ff7db774968210d08cd0331287f3f66a6ffef955a7aa9a7fcd3eb4432a4ce5f5 +griffe==2.0.2 \ + --hash=sha256:2b31816460aee1996af26050a1fc6927a2e5936486856707f55508e4c9b5960b \ + --hash=sha256:c5d56326d159f274492e9bf93a9895cec101155d944caa66d0fc4e0c13751b92 +griffecli==2.0.2 \ + --hash=sha256:0d44d39e59afa81e288a3e1c3bf352cc4fa537483326ac06b8bb6a51fd8303a0 \ + --hash=sha256:40a1ad4181fc39685d025e119ae2c5b669acdc1f19b705fb9bf971f4e6f6dffb +griffelib==2.0.2 \ + --hash=sha256:3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e \ + --hash=sha256:925c857658fb1ba40c0772c37acbc2ab650bd794d9c1b9726922e36ea4117ea1 +llama-index-core==0.14.19 \ + --hash=sha256:7b17f321f0d965495402890991b2bfde49d4197bc46ca5970300cc7b9c2df6a2 \ + --hash=sha256:807352f16a300f9980d0110cfdaa81d07e201384965e9f7d940c8ead80d463ed +llama-index-embeddings-huggingface==0.7.0 \ + --hash=sha256:cae7e4ffddc1fecb34b83425a00679f338ce03ad0a7f3aca6b927136d6af7131 \ + --hash=sha256:da8a2a65df9404112c4430dfada09d4f846ba165197a25dbe77f734014c56a87 +llama-index-instrumentation==0.5.0 \ + --hash=sha256:aaab83cddd9dd434278891012d8995f47a3bc7ed1736a371db90965348c56a21 \ + --hash=sha256:eeb724648b25d149de882a5ac9e21c5acb1ce780da214bda2b075341af29ad8e +llama-index-readers-file==0.6.0 \ + --hash=sha256:1026d94f2d5902152373bc2c3b7caa7e216d956620b22d510e516850b6a7440d \ + --hash=sha256:ff366d6ff5ecb7119275ac859310d8b672d8b6b3261afae02f4084fce9076bd0 +llama-index-vector-stores-faiss==0.6.0 \ + --hash=sha256:00bfeb6cb7571e0e856566cb4f10c89b415b6108f151d9ad48ee9c31da563f5e \ + --hash=sha256:d4600c60ef5411d9e35ba573b4f416a5e13ea04c6f942c8e6f49f03f2feb4f3b +llama-index-workflows==2.20.0 \ + --hash=sha256:36f6b6ace77f837d9907078aea7e830251afe96a58daecff5ed090c88c55095d \ + --hash=sha256:df2760fea9e100c97a4e919d255461e344413acac4382d17d8217337806e4772 +markupsafe==3.0.3 \ + --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \ + --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \ + --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \ + --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \ + --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \ + --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \ + --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \ + --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \ + --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \ + --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \ + --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \ + --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \ + --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \ + --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \ + --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \ + --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \ + --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \ + --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \ + --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \ + --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \ + --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \ + --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \ + --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \ + --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \ + --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \ + --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \ + --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \ + --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \ + --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \ + --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \ + --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \ + --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \ + --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \ + --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \ + --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \ + --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \ + --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \ + --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \ + --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \ + --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \ + --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \ + --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \ + --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \ + --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \ + --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \ + --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \ + --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \ + --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \ + --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \ + --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \ + --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \ + --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \ + --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \ + --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \ + --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \ + --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \ + --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \ + --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \ + --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \ + --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \ + --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \ + --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \ + --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \ + --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \ + --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \ + --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \ + --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \ + --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \ + --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \ + --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \ + --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \ + --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ + --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \ + --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \ + --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \ + --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \ + --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \ + --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \ + --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \ + --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \ + --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \ + --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \ + --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \ + --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \ + --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \ + --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \ + --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \ + --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ + --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 +pypdf==6.10.2 \ + --hash=sha256:7d09ce108eff6bf67465d461b6ef352dcb8d84f7a91befc02f904455c6eea11d \ + --hash=sha256:aa53be9826655b51c96741e5d7983ca224d898ac0a77896e64636810517624aa +python-frontmatter==1.1.0 \ + --hash=sha256:335465556358d9d0e6c98bbeb69b1c969f2a4a21360587b9873bfc3b213407c1 \ + --hash=sha256:7118d2bd56af9149625745c58c9b51fb67e8d1294a0c76796dafdc72c36e5f6d +striprtf==0.0.26 \ + --hash=sha256:8c8f9d32083cdc2e8bfb149455aa1cc5a4e0a035893bedc75db8b73becb3a1bb \ + --hash=sha256:fdb2bba7ac440072d1c41eab50d8d74ae88f60a8b6575c6e2c7805dc462093aa +tinytag==2.2.1 \ + --hash=sha256:e6d06610ebe7cd66fd07be2d3b9495914ab32654a5e47657bb8cd44c2484523c \ + --hash=sha256:ed8b1e6d25367937e3321e054f4974f9abfde1a3e0a538824c87da377130c2b6 diff --git a/requirements.hashes.wheel.cpu.txt b/requirements.hashes.wheel.cpu.txt new file mode 100644 index 000000000..948ea3bf1 --- /dev/null +++ b/requirements.hashes.wheel.cpu.txt @@ -0,0 +1,223 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile requirements.wheel.cpu.txt --refresh --generate-hashes --index-url https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cpu-ubi9/simple/ --python-version 3.12 --python-platform x86_64-unknown-linux-gnu --emit-index-url --no-deps --no-annotate +--index-url https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cpu-ubi9/simple/ + +accelerate==1.12.0 \ + --hash=sha256:a6b0e68db85691b43a98b30f6414d1dbe4e8d723fb4de764b6e316101ef17d00 +aiohappyeyeballs==2.6.1 \ + --hash=sha256:eff0885546faac493fa18997b9e5158ea7a56a36ee3222b744bab31808e3f3f8 +aiohttp==3.13.3 \ + --hash=sha256:b170fe2ac5f84453b4b5c18017f6dfb101dc052d7647ed7726cc139b057c12b8 \ + --hash=sha256:baa9ead7e6a15fb47330101ebe4a4fe997b36ede1fa8a33d438e9dfbd8b2035e \ + --hash=sha256:bc56021945f304b3cb066e4e1c1f364747bedaf8fef6e139be63f1b192558330 \ + --hash=sha256:c418ae157c77de1c7314313d767efcdf2243dc0122beddeafd2f3bab73ad0ed8 +aiosignal==1.4.0 \ + --hash=sha256:9d5af4742d4552e8a3f2fbd48237e07cab578e7175af2f952c420d2e98b731f0 +aiosqlite==0.22.1 \ + --hash=sha256:2e85580d41e992ed45e1aafce66ac4c23b7bd7cf842dc5209a39b95c11497115 +annotated-types==0.7.0 \ + --hash=sha256:fcdc578cef2d4fd8770abc0ceb0241c68c992698aa7a5f945ce67651dd585cfb +anyio==4.12.1 \ + --hash=sha256:e18da418b6421e6735231319ea8ae4262f68b52b8dbcb4699a7a14f89cfb2b15 +attrs==25.4.0 \ + --hash=sha256:6d626bc22c041e7c3a84117f6d65a2be8eba3b58a83d3d110c58ee71db234b1e +beautifulsoup4==4.14.3 \ + --hash=sha256:68210693f16dd61027d84465d3e0fc14ed1d47b339cd08900af30760fc29660f +certifi==2026.1.4 \ + --hash=sha256:b74c6cab6a323eb7dc175b1f60b281cd15f4a8bd51e02965591295b1db9e185a +charset-normalizer==3.4.4 \ + --hash=sha256:ccdd9a2c5c46da6335354acd6a04ef80e2eb2804a8ed58f932b7f5ae345c5891 +click==8.3.1 \ + --hash=sha256:a87f0253ce1fb7747cdde1674d73f34241bb4de9fca7a31bc866fb0a8a5f4307 +colorama==0.4.6 \ + --hash=sha256:6a666a04575143daff7ee645ed455ecd7b108f1a1e2bb8afd24e0e58dc7a7969 +dataclasses-json==0.6.7 \ + --hash=sha256:1155da9dafe10961a05459d1e2ae87709913edfaf261d8a2512da91d4fb673ae +defusedxml==0.7.1 \ + --hash=sha256:581f7cc44427f60a0c1bdf72190192736c27dc96718d9594242670569c7bc74b +deprecated==1.3.1 \ + --hash=sha256:6072c81ba7d406bf5a9462afb853890a47f9b76e6eace579a8b40a18c06142b0 +faiss-cpu==1.12.0 \ + --hash=sha256:004aa246c589767439e210c275e20f64a5d3e0ee844df7d1ada4612b4c27e348 \ + --hash=sha256:06d06d210105c6769ca1c93c5111ce0a1a7ed2f239b2f666ccb2af7c90f42383 \ + --hash=sha256:4aadb7cfceacda36ff1738fe64af1c16e77f739105bb26246c683572c28db123 \ + --hash=sha256:8a2cc05c9459d0e22d05d1996f2e3a8b25b50cfc0ea9530a5422873048196a83 \ + --hash=sha256:b769fa38427cea3ee56e74af41e04578e5a3bee1389dde6e62116b2a2ac90dda \ + --hash=sha256:d164c65eb35d98f5ea8422b88c9b2645bdc091d3ab9829808699f81fdf7e6c1d +filelock==3.20.3 \ + --hash=sha256:a041b953fcf0bcca50ad283664cf46dcd59769d3f8fac07db4f033c6d6021707 +filetype==1.2.0 \ + --hash=sha256:40376ef6d20b0cd1be5ba02d5a9ceb0f22e0810d9fffc96777a602bd23fd0b2a +frozenlist==1.8.0 \ + --hash=sha256:41a5c624d79ec4157746ada9e19a1da4c3d1b3f5fde9e3f8ac85f7eed9126af9 \ + --hash=sha256:89573b85be77e89a114dc8d1983456091f6c01ff482d31aec2585df0c00de2c5 \ + --hash=sha256:b4fdb636be50043b56a9589b8690a104d7d9ddc72d79058171735fe15eadcc39 \ + --hash=sha256:d7bcd7c1b48b3851acba9e7a11f951c117a654e60004adcbe98425b3f4114057 +fsspec==2026.2.0 \ + --hash=sha256:c908a61c953514ce6298cfe13915a3d74728d69da1781c9e0c44acfdefea4276 +greenlet==3.3.0 \ + --hash=sha256:200e4a4585939de22259690d706f13b929cadba26db3d7c27e0f1773a7c52e38 \ + --hash=sha256:41756ff0c5366005970def8c4d39da1175e1f70ad7cf4833026c26992123e85b \ + --hash=sha256:c1f3ce7eac530157e6464a9c3bc86224284df175b9ee4120a08d1e4dfcd96820 +h11==0.16.0 \ + --hash=sha256:a485f5bfa77401603f78cff4db5bb4dbaadb947a3da8eae068cd05b6bb4aab66 +hf-xet==1.2.0 \ + --hash=sha256:a14cc5078bf43efc85ad180ec02372e5a84d134de095c0a9740f7e0407df7866 \ + --hash=sha256:acb8669cac4d9aa8e8ad31a92d99353fe2f0d4463b8aaa54f2b93a33e222149d +httpcore==1.0.9 \ + --hash=sha256:5af3f1b09e795d5548d5030be3d4191e65113cfdac21968c82bf0cddf15ec313 +httpx==0.28.1 \ + --hash=sha256:c75bc8d287ff8e92be7e4359732032ba1b93fa3f920ee1cb179ba09bb613dc7a +huggingface-hub==0.36.0 \ + --hash=sha256:ca3146380564222ff2fc146f6f25319b278b8323698c1c6865970faa6bc73789 +idna==3.11 \ + --hash=sha256:e1049ef074501ba8c5d802d712b257889257f6d2f460f959f26c4b2d4375923c +jinja2==3.1.6 \ + --hash=sha256:961c7281585491fb02ca0027b29e9ffc7a1bd7b52a5e03095f3a4e3afc42336e +joblib==1.5.3 \ + --hash=sha256:40d87a5e80b69104a3b8f1d761fdbc077fc7b97a23b08b9fdaddb7a3821b06d1 +marshmallow==3.26.2 \ + --hash=sha256:6631b7ba9bb5ede24dfecee215d9831dd60b17d59211b5c5b75f2bf9ddd9c411 +mpmath==1.3.0 \ + --hash=sha256:58244de27af87d8fccdb6bc9a17808d4a3f00f5e97152b090272f241f22b1d00 +multidict==6.7.1 \ + --hash=sha256:0f590b4e611242eb68916690dd2d0855b05b788bbaeb6e684c88928f3dfcf9a3 \ + --hash=sha256:4edbf9266edceef23b80ab69bfe575349d6a11a396c36bb47f50f5d75cf4b725 +mypy-extensions==1.1.0 \ + --hash=sha256:a18e3010fd8acb335b98af7dc61231b15c7ff36e6af5f8abd4de43202399a3f1 +nest-asyncio==1.6.0 \ + --hash=sha256:159239b70d070fa53db5839d85c199708bbe1c9a25bcb9364c3a53c8291c0ea1 +networkx==3.6.1 \ + --hash=sha256:c37e077bdb955f915337b0cbbe4f70303aca085abe728dbae9f400c5d7b3ae91 +nltk==3.9.2 \ + --hash=sha256:e44201d96c4f72b76b49351212863450d839a484062459c06d8d3b8a300baff7 +numpy==2.3.5 \ + --hash=sha256:3c09803370223ede9f913428680f123a59bfe95bff6bca3625a42c46983cff1f \ + --hash=sha256:496287a2a8698bfb84129d2da985ae9d801ea986a3ab24ce36261dd9641db032 \ + --hash=sha256:9f44732d61a230ec7f3efb9363e6448325c97c2441ff761e74b7315c72ec3859 \ + --hash=sha256:e3ea2175951df3c16ead190bb3b719af8fcf25c19a5ccb15ac3a0c1a18705bdd +packaging==26.0 \ + --hash=sha256:76081d1703deb79a44f8c44f23e391b98ab21ea54a2c21b0e8890779e0eaecb7 +pandas==2.3.3 \ + --hash=sha256:308c8ca6262e058136d91a7d4d2bd84dd02e65caf60340fefd20bcf26b97e819 \ + --hash=sha256:6ba245cff03afa84a0bc5e715a11caafab1dc51ca8fe4d827017706c4b62f238 \ + --hash=sha256:cd3d338d360612bed009570e303a59759fb450d163a9d1584c508fa9c22f568a \ + --hash=sha256:e3a18fae723b808514670a4a0172f9939cdbb095abd5eef1f34cf5ae1b99f424 +pillow==12.1.1 \ + --hash=sha256:58c0a6787ac12753fba61035713f939f33946c970fe48a5756ed1a36c22d2e79 \ + --hash=sha256:98ab177b9de8751ec5b1dbb7597b45c7edc358f7e16e5764ae93c976c6433f9f \ + --hash=sha256:dd45829dc58e931ebef6a4b7eb122efef838a8d37848d5ec857a79d4c7e8f543 \ + --hash=sha256:fcf5fa3497ec5c32843367d1133bc6b6d273e82d2fc86cd6d309cc09e7e457cf +platformdirs==4.5.1 \ + --hash=sha256:73437fe75c43c48e42b6a269ae0950da5522cdffe481b45cc8b171832d55b26f +propcache==0.4.1 \ + --hash=sha256:10f7bf66817595de6682fd428cf2aa7892c0b0b45475585e8029655ab50c0510 \ + --hash=sha256:3ccf1a18d315e7e234aee592a5dddd10951fa41f8a8658021dbe7ac413cca797 \ + --hash=sha256:3f5189a8cf5fd36f414b4d9bf244e61a1eca49ac57942c7e930250df94b2340a \ + --hash=sha256:42ecf4d140bbc503d90097af47bfc9c7e2a88faaad70694ea2bf50ad3da35c41 +psutil==7.2.1 \ + --hash=sha256:15d460c954f134d5506d3d937e8e015de3f2d7877adcba4df1005be817187304 \ + --hash=sha256:16bfd38576a585f4b5279d99fa70911bb8a79435e2436a516a35d69fbae37c0b \ + --hash=sha256:3d9e521f56b18896dc58fc873d939d31991ee6521a5b10949e4f851bafa63b4c \ + --hash=sha256:a15f50c850fdfa5b0968b02894ec241cc42329e673d8996aca609544f2e9c617 +pydantic==2.12.5 \ + --hash=sha256:ba78cfc9d85e40047d67d32828da04ddbe9a27bd0718983938629bfca0d3cc6c +pydantic-core==2.41.5 \ + --hash=sha256:280238d34598c8e0eac77c2d96456cb5657f4afc3235d6afa15859a143cc3885 \ + --hash=sha256:2c1462d1bdf9b8b13c8afa43856d7163c5a2567e9f05fcd5d26f54f23f35edf0 \ + --hash=sha256:3713d923ca3dd74e51ad6ce5be8e2bb9b8398cbc3cdbe7bd959282e9e9694fff \ + --hash=sha256:41f74ba1ea18462d7cc27155581a9b23165adc7b009c6d467542274d63db163c +pypdf==6.6.0 \ + --hash=sha256:bdd994ccbf793a2451bf7303ed5d8f74f5572c089586a4ddc296276d4346047f +python-dateutil==2.9.0.post0 \ + --hash=sha256:c112f3de33b4ef01360132ef116d72df91cdf628f136b70f1fc9a9eb19137cb9 +pytz==2025.2 \ + --hash=sha256:79c4e836341f93719e04c2d8f1893a7297d05b0bac5ebc9f82818777c904e52c +pyyaml==6.0.3 \ + --hash=sha256:84a2acfe1e8dfcf8be95fa61611ea7637f8bfcff49761a6a8c396aaa0b6d94a9 \ + --hash=sha256:bcaf1b152ce8cd6ec4ff56f8ca929f176eb01e6aa472fe10b3ea31f19e15fb39 \ + --hash=sha256:c22e4a0d2bb69fddc73b3b52f1540533df1f206a08f52ea8cae49337615b55d2 \ + --hash=sha256:c99b924c5311933fa398cc53c617f99705cf2d96226d023f75e95e15e753f81f +regex==2026.1.15 \ + --hash=sha256:1af75cb2bd02eab1b159efe3f26ce4b839bf8258fb644a10b59ffaa6ff106340 \ + --hash=sha256:6acf0c1ae94f796b9a6cf8f8c4955a62f1f05be6cc44cb5ce1a16d69540689d6 \ + --hash=sha256:c02416bfd963e784184eac9d8963e33bb0d35eb6d7828ec1b844f256d16602c1 \ + --hash=sha256:fbac3d7387eb43180002def5d4edc8455d7dec3ddb8ad64b430ee7a33a67fc89 +requests==2.32.5 \ + --hash=sha256:7cf3560d7ec28f972b1c540ecbb2140bb370364faf479119bdb23f03683a3046 +safetensors==0.7.0 \ + --hash=sha256:18abcf37ffae5f85a81ca46c440fdc5f38ae0938ff0f4a4de14e37386ed248e7 \ + --hash=sha256:6833f019f20c8f0bb790ae3f0fd088f50c9fe4e051106dc3e59df5a953f68532 \ + --hash=sha256:6aea22e3ce1ed41d56c0e50f1cb504fe47a50ec7a1d50135d76fd233bbe4b1e3 \ + --hash=sha256:bc9d119ad82379f387c1264de35e6d489b7196c431b23e92b2b0959eae8494c7 +scikit-learn==1.8.0 \ + --hash=sha256:4c73965fdde273763f87334dfb0d773cb9196e2eb9dd21a0aabd86cf4da2adb3 \ + --hash=sha256:5641af1f1bcede6f6d894f50418b2d820f3a3b82b3a5cb702621e6a386eef935 \ + --hash=sha256:5d27f41e0a981a58fcc00f09ef9c00fd68a2e13c218768d0ed69c1a247c8855f \ + --hash=sha256:7147bcc3428006a9b5fc0f0934b70c555ddd9f8ebc4b3ee4aaebb44c5e87a3dd +scipy==1.17.0 \ + --hash=sha256:0e35bf4bcd96fb22c9007cb651e3fa7a696bf90986fd220607505f5c2b7f17e7 \ + --hash=sha256:92b4828228173816adc054c97a539c41f396558fbab67dcaae1e4195c6d6253f \ + --hash=sha256:a1b3d25c892207a7626f0634fe768bd71b5f09cbb393be07d82fc44cced109ac \ + --hash=sha256:f1c7b6ff095ed94c422bce52aa0ca8c8aea18922877853bbacaf8b7947e02510 +sentence-transformers==5.2.0 \ + --hash=sha256:88156ec879c85bedee8c34f33c4929127e1bb446319a2765f66ad7b8379b6df5 +setuptools==80.9.0 \ + --hash=sha256:3a3c26f9000ab213d87be4efa0f1926fb0975237ae9e8e7cc68c9d7fcba6c294 +six==1.17.0 \ + --hash=sha256:33f558442b372864d53b1813933f5d624876f418521b1b89624ea6e3d79f0e97 +soupsieve==2.8.1 \ + --hash=sha256:5aada05eba31d65723645e0f9c6b659d7640e49b1ed9a4f70344b8faef54b102 +sqlalchemy==2.0.45 \ + --hash=sha256:52a0fb297270ecc4066303762220717240f5e427298345e19835d21319fc9522 \ + --hash=sha256:69ada3936fac5c0c15e765e71fae9b1177c9c957eb7fbd5210f63d7c05aa26c3 \ + --hash=sha256:6ea7264891e42cfdb069a27eefa2438214a54051d8b5b1b00209af9f944c3480 \ + --hash=sha256:7d691e498146a57a54f347385729b57e98b2e548d6fd6e25fdcbdf6e48a08ae4 +sympy==1.14.0 \ + --hash=sha256:92de12bc45a8930ecab22227dea3f4192e15d9f4555c9a9d52d312865748afbd +tenacity==9.1.2 \ + --hash=sha256:73904c7694cbf4b10a49350504cf5db6e3b794e99d83c71337dbd573aa0661d8 +threadpoolctl==3.6.0 \ + --hash=sha256:fc79267be059d5a0aaacf924656a1523599e7fc844c44608db5fe1cb2f152c4f +tiktoken==0.12.0 \ + --hash=sha256:019dfefcb4f2899eb8c7fd4d170c3ed335113579de129f55526fcdc3b43ef5ba \ + --hash=sha256:9d341a1e06d325151f05991a0a1616c12918132fda42b7601d25c9d02726e5b3 \ + --hash=sha256:aee67dcabd42538b82abaf27a1d5b74da0eb2da37fa9c9c117ca99d9146e2937 +tokenizers==0.22.2 \ + --hash=sha256:109c12a85bc794db2d335e9845198fd4dfbdd25a5e47d944ada5ee28d720a01c \ + --hash=sha256:914385483cfc1f8a38e8141e9370ca315484464afda41eb3959cd4d36ad2217b \ + --hash=sha256:c6123f7e43990992323d4cd8ee0d463383a7dffe3c03e1f4483b446034910faf \ + --hash=sha256:c883273341b96903ddeda79cb247a6f3ea316bd668ee2dd93d86e6fb57fc35b3 +torch==2.9.1 \ + --hash=sha256:28171ed367139717fe7b8d6918c86d0fe328a7faa5704f5951283ae3b01796a1 \ + --hash=sha256:3ebd43c74b5c0833e2d6c842cb5416bacb928184e362c319eb79223d06bb2fa1 \ + --hash=sha256:9920139df4000ea99e1d71742d4bce1d7b807a5f45cf1a7cbff02c8dd8295bdb \ + --hash=sha256:9bd4844a0cf3f199351830697973a168ad2fd3a99e77b150ca4a1582067dc633 \ + --hash=sha256:ccb4a5b3c15819df80d96d2474b053306a2a4eba0301337c4aa56a58cbe45e10 \ + --hash=sha256:e42ab849b64444059f5eda352d61c9c3a078f30797e48e2972857182c9a00cf8 +tqdm==4.67.3 \ + --hash=sha256:d798b33fcc041b9a42c57f462b9c068a5a15c2dbcef1c87695d80c7074770a4d +transformers==4.57.6 \ + --hash=sha256:7c35d073118fad72b1745bd3dad3149d9bf2cacca3b16a7ed8f47f1a0bec119d +triton==3.5.1 \ + --hash=sha256:7b1a1b9ab53eafe7a65ae25861ac7df5541ea706b3baebe2306580127825e222 \ + --hash=sha256:f45cd8a990cde562e64b6ef00969dc3751a49e90651216e7f7b44ba997c9e19d \ + --hash=sha256:fce4c06d8e47ccd706790271cc3f2cea42c7e709cfb68e6abe760d2a56baeeb4 +typing-extensions==4.15.0 \ + --hash=sha256:00877ead43795d4b767026270fa129816363c9a95b6febe68f5ac41d5096114b +typing-inspect==0.9.0 \ + --hash=sha256:369f80dd867ce208d61bc645e236c5049273c6e0f46c090fb9c7a9655fc8320b +typing-inspection==0.4.2 \ + --hash=sha256:4baec0c9a4ad5cc8a85c71c387e98ff9ecc7b85b6e538e204343940090be3b63 +tzdata==2025.3 \ + --hash=sha256:896a9fad76b5de068b461ef456f09931bb94c8455835767d100298c75dedd18b +urllib3==2.6.3 \ + --hash=sha256:a5bd1dd5b4c7b1da77f93abcd09f8619209b2f11fe699382f6cb79b34dc89437 +wrapt==2.1.1 \ + --hash=sha256:0542727c1cc08c659e854ce38a647e5d53ed2adb55cbc5d95c0f23516f9a7799 \ + --hash=sha256:1623b39cbe3a3496fc0bbdac361b82467e451a854250d82fc7c6068cd7647c77 +yarl==1.22.0 \ + --hash=sha256:8e78442a1a40257173cbd3b9ec78a1ded7ab02a1fcb23f3d42686bd5afb184cc \ + --hash=sha256:b59c74a17b24908333ce8e0a348fafe85a1bdb1d524cc74d9c25161674dd358a \ + --hash=sha256:cee8af2825e29b4b31cce0c7272c29b66717ab164e3e2a5dc8dbe173c2901db2 \ + --hash=sha256:eb5d90c48762dd433d86eb6e3c6b4965fc3dff440c472e89047a628dd29271ac diff --git a/requirements.hashes.wheel.gpu.txt b/requirements.hashes.wheel.gpu.txt new file mode 100644 index 000000000..a74e01826 --- /dev/null +++ b/requirements.hashes.wheel.gpu.txt @@ -0,0 +1,173 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile requirements.wheel.gpu.txt --refresh --generate-hashes --index-url https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cuda12.9-ubi9/simple/ --python-version 3.12 --python-platform x86_64-unknown-linux-gnu --emit-index-url --no-deps --no-annotate +--index-url https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cuda12.9-ubi9/simple/ + +accelerate==1.12.0 \ + --hash=sha256:97508bfd6691dc6ec0a7c13be7891373d0a375fdd1c20ebe63a36ed1b0f4bf02 +aiohappyeyeballs==2.6.1 \ + --hash=sha256:c16e9e2d4e7e70fc10be47be60b34e4a37b0678068cd5a71ead3f79781648986 +aiohttp==3.13.3 \ + --hash=sha256:0269c34bb7f8c0e1db8dbd8c73d580b1ceacae13466ceb71fc9747954de66b40 \ + --hash=sha256:ca9cdd623dfae48111c2da07487bbd591de937419cca1681ca60d368348abd56 +aiosignal==1.4.0 \ + --hash=sha256:11eabefa240a2c936786d80e5f4e108180d6ec9c910abdde30301d58ac58bf90 +annotated-types==0.7.0 \ + --hash=sha256:e88bdde4ef67a03fdb0673d004c717e873dad4b7a33a038b01eabf074f4dfcd6 +anyio==4.12.1 \ + --hash=sha256:88309235c8b6ddfe9e69b4aa4d5bc043994780c29b55de86d9565b56c2ad1d4d +attrs==25.4.0 \ + --hash=sha256:5a45cfd61e515b764a26c6635679290774f1496e87dbfad746e6e740f26552fb +beautifulsoup4==4.14.3 \ + --hash=sha256:456f13ad4168acf1c041660bf3b48cee0b8079e633eaeb1bf0e27d1909c758a3 +certifi==2026.1.4 \ + --hash=sha256:cbead62491d213f662227c9904e8fa41fd8c55be15716435f8d328c3748d2e24 +charset-normalizer==3.4.4 \ + --hash=sha256:61d931eeb53983c90509c716f7e6987ed6a4c5e2af3d598799b756d3f63fae83 +click==8.3.1 \ + --hash=sha256:06992e599e22c2888a06c1478e3e693fe178389ef12737bd4b7915e998e8c836 +colorama==0.4.6 \ + --hash=sha256:ca2f025212a2ee4bf542364006d7430843da2729f80ba7a24e348d059304021a +dataclasses-json==0.6.7 \ + --hash=sha256:d4f21c8a1cc183c30ed84b44f4b41c435f725371c7cb0fcac67df0e0f0e8b7bd +defusedxml==0.7.1 \ + --hash=sha256:565cb8922eb16783a2b4be7dd76787d875287825ab44be6323828a08568fb2da +deprecated==1.3.1 \ + --hash=sha256:8b8d144273a27de5f8b5ce3334f22a8414938d4880288955881df7e074384ab1 +filelock==3.20.3 \ + --hash=sha256:8a43c77a1cbe3c59a7677e555af1a78b0b4210fa22c7545845fd2d6300e55120 +filetype==1.2.0 \ + --hash=sha256:d15cf58e57cbf5c1e7445f2cc1fed1b370a0ae49790549a6c8c4ff4620a3b202 +frozenlist==1.8.0 \ + --hash=sha256:86541ed2aa2b8263ecb7258848864e999171cc48b0ec5ca34a57790e75468932 \ + --hash=sha256:fba4cdf767a54b7b7505145f187cc4e3a9b0fe4a7c6fcc1a5a83d28657f64628 +fsspec==2026.1.0 \ + --hash=sha256:9fdf5e45a53f9b88ce5ff3a837146b71097fa55c9806b94d40f7e96b66e1ae81 +greenlet==3.3.0 \ + --hash=sha256:a6661190d78142320360ca4ac6324a1dac387c9135f7933dce3a50c1d54a8b5b \ + --hash=sha256:ebe51692ca9ddbd81e211af8417d69e179bf06748ff8036957ceff1b28937160 +h11==0.16.0 \ + --hash=sha256:5eba8e87f23c59aa377da63566f1fc3cd0d1ef2e66ae494945f48e31fae1b6ed +hf-xet==1.2.0 \ + --hash=sha256:3abec3ba0df1a223e3c7ce5373636b5fefddc8179ee25798bf3b1efbcef11b55 \ + --hash=sha256:8c5b78fd21a29626a8f38426becf95ba9a40061bf95c3edce954c1d394145453 +httpcore==1.0.9 \ + --hash=sha256:9d09f34fb43f9959630fb9737b241bc576372290ce8d210423495ffe59a3f25e +httpx==0.28.1 \ + --hash=sha256:bbb46c5e07e85858a1007f0c2468a56ba2e9dd2a80b1a88f6877146002333033 +huggingface-hub==0.36.0 \ + --hash=sha256:a63d131044ba082e889f73d8491daa272497dc27956d7ef9ce3a323972843a5b +idna==3.11 \ + --hash=sha256:cd57cec3a1fdd4709159caa419d5e3ebd481e9fdaa86941f3946600c44887409 +jinja2==3.1.6 \ + --hash=sha256:dbb8828e29735bae43f01d1f4ad748c823bb6e96699e6acad9cf05f04e00eecd +joblib==1.5.3 \ + --hash=sha256:43152e9cfedaafecc1920e066eb88cc33a58d341d1105ff66fd832169530b3da +marshmallow==3.26.2 \ + --hash=sha256:039aba1ecb4eb678ebbe280fe5ad3f3dbec30e0b4aa113d502e9c4355fef3d38 +mpmath==1.3.0 \ + --hash=sha256:b13d6f0a6eb4f9eaf0011ca2193fdbf6b57c6b9a8f576268e95e538f217625eb +multidict==6.7.0 \ + --hash=sha256:d0a47cf01a32c85fac65cb65a874b21510b3c7cfddd7d0b8d984af2387e70cc7 \ + --hash=sha256:e1aeaa58d2a5297d370c3f497c4c578656cf31a5b13e69b75edabaefa49183fe +mypy-extensions==1.1.0 \ + --hash=sha256:58f7bfd4e112235739ad0de908d535a1fe892539757e6e3597d44413e0a37d80 +nest-asyncio==1.6.0 \ + --hash=sha256:ad2cc14506eef6e476ddde3f2f2afe828ac36f155f59ad5b20cacbe582b9804b +networkx==3.6.1 \ + --hash=sha256:9f3dd0e36e2c68c00de0c9617c38835f1f41bee5118926b7e58d317c448794c9 +nltk==3.9.2 \ + --hash=sha256:1b63cfdcd6ae8c97dfd9a5474aa6c142bab8fd641850a6e669bf33c17eaf3614 +numpy==2.3.5 \ + --hash=sha256:1d9e4592b944100de61e9c8121d8746b36d5c5c496894698b5129d763601f19e \ + --hash=sha256:7a1580bfdf0dc9f685aa0e13c28589ff43308763c3d01126d7e6c7979abea26a +packaging==25.0 \ + --hash=sha256:9e92a976f11297525f6269828a4a0acb9299b677878b7102a4a91e0a378afe2f +pandas==2.3.3 \ + --hash=sha256:b48651b12ab4af5c8e57bc620dd8aa3a1b287a1f6813e80101b4b9f6a1271156 \ + --hash=sha256:e7bce03a1b6e2693c12b6cea02170215fd803e1313aa1dbe85270267aa39a89c +pillow==12.1.1 \ + --hash=sha256:27c953be2fdec66929791a1030ba704f1b5060e89a5f513a2eba2a2a62a77017 \ + --hash=sha256:74108633581922f31b8462fe25fcf7d32b0e8e793db96fd6108f733728490338 +platformdirs==4.5.1 \ + --hash=sha256:2796721bbbbf1394ce8b60fa874e262e586af4cc06ad6181f92f29bd647f80f3 +propcache==0.4.1 \ + --hash=sha256:5405a8961ca18aca9d59004edbd90ad90e45a089356335f5168283ed12809197 \ + --hash=sha256:cbd4758fbc2e460a8e55e43ee79301d1330b51ca4e568126652fd7cbe0cabd21 +psutil==7.2.1 \ + --hash=sha256:5cbc7f6adbffd770f74fd1f3701312b3344cfa206d28020b9c8fe44c3c03983c \ + --hash=sha256:6f1b858114e6fccd325b69e39e3af5f73f6b35af1360b22d14bbca544b4b04d1 +pydantic==2.12.5 \ + --hash=sha256:2530ed0f52abe0a24fc96e4a0328be8528b36a40481736250548ea7166c97a8d +pydantic-core==2.41.5 \ + --hash=sha256:24587cc49e583eb449334e146ae10583588f6679796c35f1234ec98f27096f0b \ + --hash=sha256:6f825568c6b353cf64f2b46edf0ceaa05153388a253fdb86824fd6ac01e9eb06 +python-dateutil==2.9.0.post0 \ + --hash=sha256:c1c3a207072ed1356f023a05e85438705befe503fe3c93b9cac5961dfe5b28eb +pytz==2025.2 \ + --hash=sha256:f51ea9a2e1caf977e22d862efeb5fcf3fbf78c1945911e2c1295555116d4d56c +pyyaml==6.0.3 \ + --hash=sha256:378dc84ca8ad893d1c78784b6a217374c7966779c722d8604da5a039a8ac465a \ + --hash=sha256:c1c0afb98f417f6a141e2d83454ae14eb8869683bb20e65281c3d5c734101c24 +regex==2026.1.15 \ + --hash=sha256:a8139d70ce7b8b5b624735872d528769d759cc8fdc02f90e1de09f8c3f76718d \ + --hash=sha256:d488ffb7ac842365164b03220a34b980c443e51a3c28a29cbab967de27c79179 +requests==2.32.5 \ + --hash=sha256:0c3e1779bf4411ea16341357eb9f8259bf004b8eaab4f16d7c63d6a6e83da9a2 +safetensors==0.7.0 \ + --hash=sha256:29b0319f3c3c0bccb0bb51a4fb4b5a94f26b1f1a6face104ede3385f75d7bd38 \ + --hash=sha256:3832e4b25dbaa4a56c7d6024a7fe4d07f14091247a26cd9626573005b7f6a9b0 +scikit-learn==1.8.0 \ + --hash=sha256:481ffb484f634358d694b7bd2046dbc9be34a67232fcb743ad2c4fc76ef5d53f \ + --hash=sha256:7dc73010f899dce5534e2b4378917c69e1a08a1fb4e377ed9a5556148ecc9a77 +scipy==1.17.0 \ + --hash=sha256:7e62659a3d122f6c7ab32916aa5fcbea93b1fe9002e63fd768e422f4f599ae3e \ + --hash=sha256:baa955d7a59bde7c869cb90d9088c7f0e605c4946ee97e08a7025e8dd8c21c39 +sentence-transformers==5.2.0 \ + --hash=sha256:e0d0781f7a0e2ed6c0ac419d81988c63fe95b7ef60d84e89fbedfb63d3861bc2 +setuptools==80.9.0 \ + --hash=sha256:c29a169dfe92ce0961cb31064d562a50b0448fcf5d3bdbd050920cfdabf6eaa1 +six==1.17.0 \ + --hash=sha256:ebf32851590ef265453fe022406309936279cb952edfec92b1b62da31b8c17be +soupsieve==2.8.1 \ + --hash=sha256:fe0d76bd2fc4c8eb1d9def0dfdf3c732c7ee02f488b79034f92eaacc597e1c8a +sqlalchemy==2.0.45 \ + --hash=sha256:09e59fbed2d9156aafe3fa996ffd398d59be0c6f6a1513f6ebfe9d31f5c4b467 \ + --hash=sha256:82bd0a282db1bc3844e843765cf10a3d56eccc975afb258fb0db4fcc4ba86aae +sympy==1.14.0 \ + --hash=sha256:0ce7211c457d2184ef14e575b1c9446b0ecd8a90f1fe5e5bfe509ef287c8c2b8 +tenacity==9.1.2 \ + --hash=sha256:b24cc3f15938bc670ed29e433042a0c946c6627b389b70d6ced15d3694e89560 +threadpoolctl==3.6.0 \ + --hash=sha256:7f43d114c8e9adec8e8f6932a9f58744515c417475637471a2c32f3279965664 +tiktoken==0.12.0 \ + --hash=sha256:95f8ee734fde5a8d7b97cf018bb7cd92cb619007aff57bc580e00eabc7b04b63 \ + --hash=sha256:d38ac41ba1256dabc330a3e9101664f2d5caf6d3dbbae519f2a930e162b83604 +tokenizers==0.22.2 \ + --hash=sha256:c0e3b0900f5572922f1c0fa080954278c5c65cd4fb7fa7b036d39ab25b886b03 \ + --hash=sha256:f35a8774877a9d3a42f6094f36c8d8d1e3e37cfb5b243f3f37407eb4fa87352b +torch==2.9.0 \ + --hash=sha256:5059b9516b74ad4a7a5d37a9243d749d957ee002378960ce5c67f7bb23fc8154 \ + --hash=sha256:6a331fdd10983a88751dcc0e5175a2e4c432225774bbb7931c1d249b55a40816 +tqdm==4.67.1 \ + --hash=sha256:4fcd527b6bc094ef46d7cae113ac1bce7881874cbe470da902b82aba9ef5f91d +transformers==4.57.6 \ + --hash=sha256:4777e81bafb0539057a9f993fc54b320eddd19a36fc33b5b6fee830e066c1ef0 +triton==3.5.0 \ + --hash=sha256:09a79ee525e5629092c74da51c6cb4fc13b4bddf8b3ecb54e88bd3c8d57d779e \ + --hash=sha256:36b25d42aa96012f3e8ad649c0a1d120bc040b2af5e713d71d29f777a521a30d +typing-extensions==4.15.0 \ + --hash=sha256:5821dec95537bcbf3a6e35aadbdb611dd0b23c3aee197eb11e8b66102d0ab703 +typing-inspect==0.9.0 \ + --hash=sha256:0e16e5dc6e3aadd896e3614c5dc3763579d59dcd50692d522f302df0df886071 +typing-inspection==0.4.2 \ + --hash=sha256:ab802b96b5043f54c07bc37fa8e49aa8befb6ac600d50fb9e88fed11185d4fe2 +tzdata==2025.3 \ + --hash=sha256:0e3432ba6d7e6ca7800e829b9f7fcc74dc636d4e20326c91d088dc3e39188951 +urllib3==2.6.3 \ + --hash=sha256:b6685d662b0326eeaf6744bdae4a1ef8362e401ff236d71f5372b90f674db643 +wrapt==2.1.1 \ + --hash=sha256:907dd38cb10e030dadd7f0cbbef9d43199a2f3635a300c5720c4aba7e2320e6f \ + --hash=sha256:fd217c2e7fa694ca266db27f1edcce7eac10dc077ec9c5d0cb651708963b87ee +yarl==1.22.0 \ + --hash=sha256:a78cf61635bc18b5124321a1b8dbdd3585e5ecb800b8b1b99ca7aeeca10f2d35 \ + --hash=sha256:de1568297bb1e6df9143f963ba7d7ba9378af59e4a8f8f5797a8408d5abecad0 diff --git a/requirements.hermetic.txt b/requirements.hermetic.txt new file mode 100644 index 000000000..95ef7c5b6 --- /dev/null +++ b/requirements.hermetic.txt @@ -0,0 +1,3 @@ +uv==0.9.16 +uv-build==0.9.16 +pip==25.3 diff --git a/requirements.overrides.gpu.txt b/requirements.overrides.gpu.txt new file mode 100644 index 000000000..9a111ae66 --- /dev/null +++ b/requirements.overrides.gpu.txt @@ -0,0 +1,22 @@ +# GPU override file — used instead of (not in addition to) requirements.overrides.txt for the gpu flavor. +# Identical to requirements.overrides.txt except torch==2.9.0: +# RHOAI 3.3 cuda12.9-ubi9 carries torch==2.9.0 (CUDA build); cpu-ubi9 carries torch==2.9.1 (CPU build). +# +# Regenerate lockfiles after editing: make update-konflux-deps (runs cpu then gpu; gpu reuses requirements-build.cpu.txt). +aiohttp==3.13.3 +aiosqlite==0.22.1 +anyio==4.12.1 +attrs==25.4.0 +certifi==2026.1.4 +faiss-cpu==1.12.0 +hf-xet==1.2.0 +jiter==0.12 +numpy==2.3.5 +orjson==3.11.5 +pillow==12.1.1 +scipy==1.17.0 +setuptools==80.9 +tokenizers==0.22.2 +torch==2.9.0 +transformers==4.57.6 +yarl==1.22.0 diff --git a/requirements.overrides.txt b/requirements.overrides.txt new file mode 100644 index 000000000..eccbb0dcb --- /dev/null +++ b/requirements.overrides.txt @@ -0,0 +1,19 @@ +# Pin versions to match packages available on the RHOAI wheels indexes used by +# scripts/konflux_requirements.sh (cpu-ubi9 vs cuda12.9-ubi9 on packages.redhat.com). +aiohttp==3.13.3 +aiosqlite==0.22.1 +anyio==4.12.1 +attrs==25.4.0 +certifi==2026.1.4 +faiss-cpu==1.12.0 +hf-xet==1.2.0 +jiter==0.12 +numpy==2.3.5 +orjson==3.11.5 +pillow==12.1.1 +scipy==1.17.0 +setuptools==80.9 +tokenizers==0.22.2 +torch==2.9.1 +transformers==4.57.6 +yarl==1.22.0 diff --git a/rpms.in.yaml b/rpms.in.yaml index 776da2ef1..456ebddc8 100644 --- a/rpms.in.yaml +++ b/rpms.in.yaml @@ -1,4 +1,4 @@ -packages: [buildah, python3.11, python3.11-pip, libcudnn9, libnccl, libcusparselt0] +packages: [buildah, python3.12, python3.12-pip, libcudnn9, libnccl, libcusparselt0] contentOrigin: repofiles: ["./ubi.repo", "./cuda.repo"] arches: [x86_64] diff --git a/rpms.lock.yaml b/rpms.lock.yaml index 08bd6cadd..2847fe8d5 100644 --- a/rpms.lock.yaml +++ b/rpms.lock.yaml @@ -53,6 +53,13 @@ arches: name: crun evr: 1.23.1-2.el9_7 sourcerpm: crun-1.23.1-2.el9_7.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/f/fuse-common-3.10.2-9.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-baseos-rpms + size: 8750 + checksum: sha256:548265cbee787fa659bc79c07e15a12007f39eb70e905bf660ec488f0bb8820f + name: fuse-common + evr: 3.10.2-9.el9 + sourcerpm: fuse3-3.10.2-9.el9.src.rpm - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/f/fuse-overlayfs-1.15-1.el9.x86_64.rpm repoid: ubi-9-for-x86_64-appstream-rpms size: 68396 @@ -74,118 +81,6 @@ arches: name: fuse3-libs evr: 3.10.2-9.el9 sourcerpm: fuse3-3.10.2-9.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libnet-1.2-7.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 61278 - checksum: sha256:738b9a7ab78c149487e349d90c384b59031d5763ba687a6b58a4f853671af86b - name: libnet - evr: 1.2-7.el9 - sourcerpm: libnet-1.2-7.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libnsl2-2.0.0-1.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 33287 - checksum: sha256:052f7a182180528ba6e3c4378e5dcfb84640594a3e2e7bbe4f0167381e824ce0 - name: libnsl2 - evr: 2.0.0-1.el9 - sourcerpm: libnsl2-2.0.0-1.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libslirp-4.4.0-8.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 71992 - checksum: sha256:9bd269ec50504f997683e963481f870bb937c3cfdb54a057e9acca67bf2b7631 - name: libslirp - evr: 4.4.0-8.el9 - sourcerpm: libslirp-4.4.0-8.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libxcrypt-compat-4.4.18-3.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 93189 - checksum: sha256:2bd6c288e1970a001d3a1ae69166c0d926d9c87ce892edcb2110f4e142c12a7a - name: libxcrypt-compat - evr: 4.4.18-3.el9 - sourcerpm: libxcrypt-4.4.18-3.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/m/mpdecimal-2.5.1-3.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 89670 - checksum: sha256:89a8c9951ac56bed2caa1adbcba349c021af1134b6e2df3fc0a8a60577a4f54d - name: mpdecimal - evr: 2.5.1-3.el9 - sourcerpm: mpdecimal-2.5.1-3.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/n/netavark-1.16.0-1.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 3797524 - checksum: sha256:4a7853c341092b6e0297d026a14f7f2d13c5f5ec0706dd4dc12c62d5e66f7d91 - name: netavark - evr: 2:1.16.0-1.el9 - sourcerpm: netavark-1.16.0-1.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/passt-0^20250512.g8ec1341-2.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 269538 - checksum: sha256:dc9d624167c7784a747d5e2a924df75059125058a4a5eec4210b51b6259839e9 - name: passt - evr: 0^20250512.g8ec1341-2.el9 - sourcerpm: passt-0^20250512.g8ec1341-2.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-3.11.13-3.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 25321 - checksum: sha256:e1929f5bec63d11d9974350aae40a88c791f74274c0aea28fe313677b7606562 - name: python3.11 - evr: 3.11.13-3.el9 - sourcerpm: python3.11-3.11.13-3.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-libs-3.11.13-3.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 10709000 - checksum: sha256:7f625f1420626ec1ecde65a35ba034675b07559e97e2b9b4df8a406d23987b62 - name: python3.11-libs - evr: 3.11.13-3.el9 - sourcerpm: python3.11-3.11.13-3.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-pip-22.3.1-6.el9.noarch.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 3351885 - checksum: sha256:b97bcd818cd890f514ccbe9deecc95ef33dabb86dea6071e9cafd86b76ebb0f0 - name: python3.11-pip - evr: 22.3.1-6.el9 - sourcerpm: python3.11-pip-22.3.1-6.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-pip-wheel-22.3.1-6.el9.noarch.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 1488665 - checksum: sha256:0e7e797af157c892a9fce0b6bf9f7b77db57250a16f049ae631e9acae79b5156 - name: python3.11-pip-wheel - evr: 22.3.1-6.el9 - sourcerpm: python3.11-pip-22.3.1-6.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-setuptools-65.5.1-5.el9.noarch.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 1785107 - checksum: sha256:ff5f366bed548c8def673579107e63adb4d33748f75aeb555312d615f1871327 - name: python3.11-setuptools - evr: 65.5.1-5.el9 - sourcerpm: python3.11-setuptools-65.5.1-5.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-setuptools-wheel-65.5.1-5.el9.noarch.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 730338 - checksum: sha256:33ad44dff52114caa7b85f6e218ad5f9ccd88a538a3cf808377762ff01efb05f - name: python3.11-setuptools-wheel - evr: 65.5.1-5.el9 - sourcerpm: python3.11-setuptools-65.5.1-5.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/s/slirp4netns-1.3.3-1.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 48562 - checksum: sha256:ba91e6e0d70be19e5f9a44e0a8f6791c49b685b42a1ad2dc64ec50e4800c7d1a - name: slirp4netns - evr: 1.3.3-1.el9 - sourcerpm: slirp4netns-1.3.3-1.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/y/yajl-2.1.0-25.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-appstream-rpms - size: 42487 - checksum: sha256:f7503f34d5095303db5c57c70c5edb890dab7d0bba5920f3dcc44d7835449555 - name: yajl - evr: 2.1.0-25.el9 - sourcerpm: yajl-2.1.0-25.el9.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/f/fuse-common-3.10.2-9.el9.x86_64.rpm - repoid: ubi-9-for-x86_64-baseos-rpms - size: 8750 - checksum: sha256:548265cbee787fa659bc79c07e15a12007f39eb70e905bf660ec488f0bb8820f - name: fuse-common - evr: 3.10.2-9.el9 - sourcerpm: fuse3-3.10.2-9.el9.src.rpm - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/i/iptables-libs-1.8.10-11.el9_5.x86_64.rpm repoid: ubi-9-for-x86_64-baseos-rpms size: 476678 @@ -214,6 +109,27 @@ arches: name: kmod evr: 28-11.el9 sourcerpm: kmod-28-11.el9.src.rpm + - url: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/libcudnn9-cuda-11-9.10.2.21-1.x86_64.rpm + repoid: cuda + size: 398616123 + checksum: sha256:22bc8f51ca93ac615dd7bb8d9dd2e13445fceeea1c6febc9f06fbaca0b51292c + name: libcudnn9-cuda-11 + evr: 9.10.2.21-1 + sourcerpm: cudnn9-cuda-11-9.10.2.21-1.src.rpm + - url: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/libcusparselt0-0.7.1.0-1.x86_64.rpm + repoid: cuda + size: 288121905 + checksum: sha256:5c10a38471d9f966f023d33eb6c268615383485a2682e3de1a6175c262dff271 + name: libcusparselt0 + evr: 0.7.1.0-1 + sourcerpm: libcusparselt0-0.7.1.0-1.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libnet-1.2-7.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 61278 + checksum: sha256:738b9a7ab78c149487e349d90c384b59031d5763ba687a6b58a4f853671af86b + name: libnet + evr: 1.2-7.el9 + sourcerpm: libnet-1.2-7.el9.src.rpm - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/l/libnetfilter_conntrack-1.0.9-1.el9.x86_64.rpm repoid: ubi-9-for-x86_64-baseos-rpms size: 62066 @@ -242,6 +158,20 @@ arches: name: libnl3 evr: 3.11.0-1.el9 sourcerpm: libnl3-3.11.0-1.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libnsl2-2.0.0-1.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 33287 + checksum: sha256:052f7a182180528ba6e3c4378e5dcfb84640594a3e2e7bbe4f0167381e824ce0 + name: libnsl2 + evr: 2.0.0-1.el9 + sourcerpm: libnsl2-2.0.0-1.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libslirp-4.4.0-8.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 71992 + checksum: sha256:9bd269ec50504f997683e963481f870bb937c3cfdb54a057e9acca67bf2b7631 + name: libslirp + evr: 4.4.0-8.el9 + sourcerpm: libslirp-4.4.0-8.el9.src.rpm - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/l/libtirpc-1.3.3-9.el9.x86_64.rpm repoid: ubi-9-for-x86_64-baseos-rpms size: 98934 @@ -249,6 +179,27 @@ arches: name: libtirpc evr: 1.3.3-9.el9 sourcerpm: libtirpc-1.3.3-9.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/l/libxcrypt-compat-4.4.18-3.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 93189 + checksum: sha256:2bd6c288e1970a001d3a1ae69166c0d926d9c87ce892edcb2110f4e142c12a7a + name: libxcrypt-compat + evr: 4.4.18-3.el9 + sourcerpm: libxcrypt-4.4.18-3.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/m/mpdecimal-2.5.1-3.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 89670 + checksum: sha256:89a8c9951ac56bed2caa1adbcba349c021af1134b6e2df3fc0a8a60577a4f54d + name: mpdecimal + evr: 2.5.1-3.el9 + sourcerpm: mpdecimal-2.5.1-3.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/n/netavark-1.16.0-1.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 3797524 + checksum: sha256:4a7853c341092b6e0297d026a14f7f2d13c5f5ec0706dd4dc12c62d5e66f7d91 + name: netavark + evr: 2:1.16.0-1.el9 + sourcerpm: netavark-1.16.0-1.el9.src.rpm - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/n/nftables-1.0.9-5.el9_7.x86_64.rpm repoid: ubi-9-for-x86_64-baseos-rpms size: 430248 @@ -284,6 +235,13 @@ arches: name: openssl-libs evr: 1:3.5.1-4.el9_7 sourcerpm: openssl-3.5.1-4.el9_7.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/passt-0^20250512.g8ec1341-2.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 269538 + checksum: sha256:dc9d624167c7784a747d5e2a924df75059125058a4a5eec4210b51b6259839e9 + name: passt + evr: 0^20250512.g8ec1341-2.el9 + sourcerpm: passt-0^20250512.g8ec1341-2.el9.src.rpm - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/p/protobuf-c-1.3.3-13.el9.x86_64.rpm repoid: ubi-9-for-x86_64-baseos-rpms size: 38224 @@ -291,6 +249,83 @@ arches: name: protobuf-c evr: 1.3.3-13.el9 sourcerpm: protobuf-c-1.3.3-13.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-3.11.13-3.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 25321 + checksum: sha256:e1929f5bec63d11d9974350aae40a88c791f74274c0aea28fe313677b7606562 + name: python3.11 + evr: 3.11.13-3.el9 + sourcerpm: python3.11-3.11.13-3.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-libs-3.11.13-3.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 10709000 + checksum: sha256:7f625f1420626ec1ecde65a35ba034675b07559e97e2b9b4df8a406d23987b62 + name: python3.11-libs + evr: 3.11.13-3.el9 + sourcerpm: python3.11-3.11.13-3.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-pip-22.3.1-6.el9.noarch.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 3351885 + checksum: sha256:b97bcd818cd890f514ccbe9deecc95ef33dabb86dea6071e9cafd86b76ebb0f0 + name: python3.11-pip + evr: 22.3.1-6.el9 + sourcerpm: python3.11-pip-22.3.1-6.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-pip-wheel-22.3.1-6.el9.noarch.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 1488665 + checksum: sha256:0e7e797af157c892a9fce0b6bf9f7b77db57250a16f049ae631e9acae79b5156 + name: python3.11-pip-wheel + evr: 22.3.1-6.el9 + sourcerpm: python3.11-pip-22.3.1-6.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-setuptools-65.5.1-5.el9.noarch.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 1785107 + checksum: sha256:ff5f366bed548c8def673579107e63adb4d33748f75aeb555312d615f1871327 + name: python3.11-setuptools + evr: 65.5.1-5.el9 + sourcerpm: python3.11-setuptools-65.5.1-5.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.11-setuptools-wheel-65.5.1-5.el9.noarch.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 730338 + checksum: sha256:33ad44dff52114caa7b85f6e218ad5f9ccd88a538a3cf808377762ff01efb05f + name: python3.11-setuptools-wheel + evr: 65.5.1-5.el9 + sourcerpm: python3.11-setuptools-65.5.1-5.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.12-3.12.9-1.el9_6.2.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 27351 + checksum: sha256:cccf7261d10246f581f2aa9986b8d4b5f26710e01e21d2b41e3a834dc5449f78 + name: python3.12 + evr: 3.12.9-1.el9_6.2 + sourcerpm: python3.12-3.12.9-1.el9_6.2.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.12-libs-3.12.9-1.el9_6.2.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 10192692 + checksum: sha256:bfd013072d128a7773cbd3c3ce5317b74a964120bece8dc6234129694792a9a4 + name: python3.12-libs + evr: 3.12.9-1.el9_6.2 + sourcerpm: python3.12-3.12.9-1.el9_6.2.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.12-pip-23.2.1-4.el9.noarch.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 3377244 + checksum: sha256:d7fddc3a02b3cba2256034e3ed61378dc37bd6155f91f5feb7560c9ffeb5230e + name: python3.12-pip + evr: 23.2.1-4.el9 + sourcerpm: python3.12-pip-23.2.1-4.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.12-pip-wheel-23.2.1-4.el9.noarch.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 1527656 + checksum: sha256:cfd0663b266ee59bc44afb5f4552941a74d2be1c2ef518c21b39b1647c0f9177 + name: python3.12-pip-wheel + evr: 23.2.1-4.el9 + sourcerpm: python3.12-pip-23.2.1-4.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/p/python3.12-setuptools-68.2.2-5.el9_6.noarch.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 1654905 + checksum: sha256:6a7ea24faa6a5f2686b5e5b103a09f63b929b9bef70f1392dfea4ec5ef57c819 + name: python3.12-setuptools + evr: 68.2.2-5.el9_6 + sourcerpm: python3.12-setuptools-68.2.2-5.el9_6.src.rpm - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/s/shadow-utils-subid-4.9-15.el9.x86_64.rpm repoid: ubi-9-for-x86_64-baseos-rpms size: 86604 @@ -298,19 +333,19 @@ arches: name: shadow-utils-subid evr: 2:4.9-15.el9 sourcerpm: shadow-utils-4.9-15.el9.src.rpm - - url: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/libcudnn9-cuda-11-9.10.2.21-1.x86_64.rpm - repoid: cuda - size: 398616123 - checksum: sha256:22bc8f51ca93ac615dd7bb8d9dd2e13445fceeea1c6febc9f06fbaca0b51292c - name: libcudnn9-cuda-11 - evr: 9.10.2.21-1 - sourcerpm: cudnn9-cuda-11-9.10.2.21-1.src.rpm - - url: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/libcusparselt0-0.7.1.0-1.x86_64.rpm - repoid: cuda - size: 288121905 - checksum: sha256:5c10a38471d9f966f023d33eb6c268615383485a2682e3de1a6175c262dff271 - name: libcusparselt0 - evr: 0.7.1.0-1 - sourcerpm: libcusparselt0-0.7.1.0-1.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/s/slirp4netns-1.3.3-1.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 48562 + checksum: sha256:ba91e6e0d70be19e5f9a44e0a8f6791c49b685b42a1ad2dc64ec50e4800c7d1a + name: slirp4netns + evr: 1.3.3-1.el9 + sourcerpm: slirp4netns-1.3.3-1.el9.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/appstream/os/Packages/y/yajl-2.1.0-25.el9.x86_64.rpm + repoid: ubi-9-for-x86_64-appstream-rpms + size: 42487 + checksum: sha256:f7503f34d5095303db5c57c70c5edb890dab7d0bba5920f3dcc44d7835449555 + name: yajl + evr: 2.1.0-25.el9 + sourcerpm: yajl-2.1.0-25.el9.src.rpm source: [] module_metadata: [] diff --git a/scripts/generate_packages_to_prefetch.py b/scripts/generate_packages_to_prefetch.py index 272445570..2b4a34d35 100755 --- a/scripts/generate_packages_to_prefetch.py +++ b/scripts/generate_packages_to_prefetch.py @@ -1,6 +1,9 @@ #!/usr/bin/python -"""Generate list of packages to be prefetched in Cachi2 and used in Konflux for hermetic build. +"""Legacy Cachito-era helper (obsolete). + +Konflux/Cachi2 lockfiles are generated by ``scripts/konflux_requirements.sh`` and +``make update-konflux-deps`` / ``make update-konflux-deps-lsc``. Do not use this script. This script performs several steps: 1. removes torch+cpu dependency from project file @@ -20,6 +23,7 @@ import shutil import subprocess +import sys import tempfile from os.path import join from urllib.request import urlretrieve @@ -164,11 +168,11 @@ def generate_packages_to_be_build(work_directory: str) -> None: if __name__ == "__main__": - work_directory = tempfile.mkdtemp() - print(f"Work directory {work_directory}") - generate_list_of_packages(work_directory) - generate_packages_to_be_build(work_directory) - - # optional cleanup step - # (for now it might be better to see 'steps' files to check if everything's ok - # shutil.rmtree(work_directory) + print( + "This script is obsolete. Use:\n" + " make update-konflux-deps # root CPU+GPU hashed lockfiles + .tekton binary.packages\n" + " make update-konflux-deps-lsc # lsc/* hashed lockfiles + lightspeed-ocp-rag .tekton\n" + "See scripts/konflux_requirements.sh and the README.", + file=sys.stderr, + ) + raise SystemExit(2) diff --git a/scripts/konflux_requirements.sh b/scripts/konflux_requirements.sh new file mode 100755 index 000000000..e226cdeb9 --- /dev/null +++ b/scripts/konflux_requirements.sh @@ -0,0 +1,311 @@ +#!/bin/bash + +# Split lockfiles for Konflux Cachi2 prefetch (PyPI source vs RHOAI wheels) from pyproject.toml. +# - Compile with uv (dual index + overrides), like openshift/lightspeed-service +# - Emit: +# - requirements.hashes.source..txt, requirements.hashes.wheel..txt +# - requirements-build.cpu.txt or lsc/requirements-build.txt (gpu reuses cpu build lockfile) +# - update binary package lists in the matching .tekton PipelineRuns +# +# Flavors: +# cpu - root component CPU variant (cpu-ubi9 RHOAI index) → lightspeed-rag-tool pipelines +# gpu - root component GPU variant (cuda12.9-ubi9 RHOAI index) → own-app pipelines +# lsc - LSC rag-content image (lsc/pyproject.toml, cpu-ubi9 index) → lightspeed-ocp-rag pipelines +# +# Usage: ./scripts/konflux_requirements.sh [cpu|gpu|lsc] + +set -euo pipefail + +FLAVOR="${1:-}" +if [[ "$FLAVOR" != "cpu" && "$FLAVOR" != "gpu" && "$FLAVOR" != "lsc" ]]; then + echo "Usage: $0 {cpu|gpu|lsc}" >&2 + exit 1 +fi + +# Align with RHOAI wheels on packages.redhat.com (cp312 ubi9) +PY_VERSION="3.12" + +case "$FLAVOR" in +cpu) + RHOAI_INDEX_URL="https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cpu-ubi9/simple/" + PYPROJECT="pyproject.toml" + OVERRIDES="requirements.overrides.txt" + EXTRA_OVERRIDES="" + EXTRA_FLAVOR_ARG="--extra cpu" + RAW_REQ_FILE="requirements.no_hashes.cpu.txt" + SOURCE_FILE="requirements.source.cpu.txt" + WHEEL_FILE="requirements.wheel.cpu.txt" + SOURCE_HASH_FILE="requirements.hashes.source.cpu.txt" + WHEEL_HASH_FILE="requirements.hashes.wheel.cpu.txt" + BUILD_FILE="requirements-build.cpu.txt" + PKG_FORCE_WHEEL="faiss-cpu numpy pandas scipy" + SKIP_PYBUILD_PACKAGES="banks" + # first-index: RHOAI wins for any package it carries; overrides pin the exact RHOAI versions + INDEX_STRATEGY="first-index" + ;; +gpu) + RHOAI_INDEX_URL="https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cuda12.9-ubi9/simple/" + PYPROJECT="pyproject.toml" + # GPU uses its own self-contained overrides: same as requirements.overrides.txt but torch==2.9.0 + # (RHOAI cuda12.9-ubi9 has torch==2.9.0; cpu-ubi9 has torch==2.9.1). + OVERRIDES="requirements.overrides.gpu.txt" + EXTRA_OVERRIDES="" + EXTRA_FLAVOR_ARG="--extra gpu" + RAW_REQ_FILE="requirements.no_hashes.gpu.txt" + SOURCE_FILE="requirements.source.gpu.txt" + WHEEL_FILE="requirements.wheel.gpu.txt" + SOURCE_HASH_FILE="requirements.hashes.source.gpu.txt" + WHEEL_HASH_FILE="requirements.hashes.wheel.gpu.txt" + # Same root pyproject as cpu — Cachi2 build-deps prefetch uses requirements-build.cpu.txt (see own-app .tekton). + PKG_FORCE_WHEEL="numpy pandas scipy" + # GPU: faiss-cpu resolves from PyPI; pybuild-deps cannot use its sdist graph (meson) in this hermetic flow. + SKIP_PYBUILD_PACKAGES="banks,faiss-cpu" + INDEX_STRATEGY="first-index" + ;; +lsc) + RHOAI_INDEX_URL="https://packages.redhat.com/api/pypi/public-rhai/rhoai/3.3/cpu-ubi9/simple/" + PYPROJECT="lsc/pyproject.toml" + OVERRIDES="lsc/requirements.overrides.txt" + EXTRA_OVERRIDES="" + EXTRA_FLAVOR_ARG="" + RAW_REQ_FILE="lsc/requirements.no_hashes.txt" + SOURCE_FILE="lsc/requirements.source.txt" + WHEEL_FILE="lsc/requirements.wheel.txt" + SOURCE_HASH_FILE="lsc/requirements.hashes.source.txt" + WHEEL_HASH_FILE="lsc/requirements.hashes.wheel.txt" + BUILD_FILE="lsc/requirements-build.txt" + PKG_FORCE_WHEEL="faiss-cpu numpy pandas scipy" + SKIP_PYBUILD_PACKAGES="banks" + # unsafe-best-match: lsc/pyproject.toml has exact pins (llama-stack, pyyaml, etc.) that may differ + # from RHOAI's modified versions. Overrides file still pins the RHOAI ML packages explicitly. + INDEX_STRATEGY="unsafe-best-match" + ;; +esac + +# extra wheels for Cachi2 binary prefetch (build helpers + wheels that should not duplicate in build lockfile) +EXTRA_WHEELS="uv,uv-build,pip,maturin,griffe,griffecli,griffelib" + +# Wheel-only or C-extension PyPI packages: must appear in binary.packages so Cachi2 fetches +# the pre-built wheel rather than attempting a source build (which would need unprefetched build deps). +# These packages stay in the source requirements file but are whitelisted here for Cachi2. +if [[ "$FLAVOR" == "lsc" ]]; then + # sqlite-vec: wheel-only on PyPI (no sdist exists) + # cryptography: not on RHOAI index; requires Rust to build from source + # All remaining pure-Python and C-extension packages that resolve from PyPI (not on RHOAI cpu-ubi9 + # for LSC) have both wheel+sdist. Without binary.packages Cachi2 fetches the sdist; pip then needs + # build backends (hatchling, flit_core, setuptools+wheel, etc.) that are not prefetched. + # List every such package from lsc/requirements.hashes.source.txt here. + EXTRA_WHEELS="${EXTRA_WHEELS},sqlite-vec,cryptography,banks,chardet,charset-normalizer,click,dirtyjson,fastapi,filelock,fsspec,googleapis-common-protos,greenlet,idna,llama-index,llama-index-core,llama-index-embeddings-huggingface,llama-index-embeddings-openai,llama-index-instrumentation,llama-index-llms-openai,llama-index-readers-file,llama-index-vector-stores-faiss,llama-index-vector-stores-postgres,llama-index-workflows,llama-stack,llama-stack-api,llama-stack-client,nltk,openai,opentelemetry-api,opentelemetry-exporter-otlp-proto-common,opentelemetry-exporter-otlp-proto-http,opentelemetry-proto,opentelemetry-sdk,opentelemetry-semantic-conventions,packaging,pgvector,platformdirs,protobuf,psycopg2-binary,pyaml,pydantic,pygments,pyjwt,pypdf,python-dotenv,python-multipart,pytz,pyyaml,regex,requests,rich,sentence-transformers,soupsieve,sqlalchemy,starlette,striprtf,tenacity,tinytag,tornado,typer,typer-slim,tzdata,uvicorn,wcwidth,wrapt,zipp" +elif [[ "$FLAVOR" == "gpu" ]]; then + # faiss-cpu: not on RHOAI GPU (cuda12.9) index; C extension, needs cmake/wheel to build from sdist. + # Pure Python packages below are also not on the RHOAI cuda12.9 index (unlike cpu-ubi9 which carries + # them). They resolve from PyPI and have both wheel+sdist; without binary.packages Cachi2 fetches + # the sdist. Building from sdist requires build backends (flit_core, hatchling, etc.) that are not + # prefetched. List every pure-Python PyPI package from requirements.hashes.source.gpu.txt here so + # Cachi2 fetches the wheel instead. + EXTRA_WHEELS="${EXTRA_WHEELS},faiss-cpu,aiosqlite,banks,dirtyjson,llama-index-core,llama-index-embeddings-huggingface,llama-index-instrumentation,llama-index-readers-file,llama-index-vector-stores-faiss,llama-index-workflows,pypdf,python-frontmatter,striprtf,tinytag" +fi +NO_WHEEL_PACKAGES="markupsafe" + +# filtered source file for pybuild-deps to avoid RecursionError +SOURCE_FILE_FOR_BUILD=$(mktemp) + +extract_pkg_name() { + # e.g. "foo==1" -> foo; "foo @ https://..." -> foo + local line="$1" + local s="${line%%@*}" + s="${s%%=*}" + s="${s// /}" + echo "$s" | tr '[:upper:]' '[:lower:]' +} + +cleanup() { + rm -f "$RAW_REQ_FILE" "$WHEEL_FILE" "$SOURCE_FILE" "$SOURCE_FILE_FOR_BUILD" +} +trap cleanup EXIT INT TERM + +# --- 1) Compile unhashed, annotated with index origin (torch and other RHOAI wheels from the flavor index). +# cpu/gpu use first-index so RHOAI wins for any package it carries. +# lsc uses unsafe-best-match because lsc/pyproject.toml has exact pins (llama-stack, pyyaml…) that +# differ from RHOAI's modified versions; overrides.txt still anchors the RHOAI ML wheels explicitly. +# Build --override flags: always include OVERRIDES; append EXTRA_OVERRIDES if set (GPU shadow-overrides). +OVERRIDE_ARGS="--override ${OVERRIDES}" +[[ -n "${EXTRA_OVERRIDES:-}" ]] && OVERRIDE_ARGS="${OVERRIDE_ARGS} --override ${EXTRA_OVERRIDES}" + +# shellcheck disable=SC2086 +uv pip compile "$PYPROJECT" -o "$RAW_REQ_FILE" \ + --python-platform x86_64-unknown-linux-gnu \ + --python-version "$PY_VERSION" \ + $EXTRA_FLAVOR_ARG \ + --refresh \ + --index "${RHOAI_INDEX_URL}" \ + --default-index https://pypi.org/simple/ \ + --index-strategy "${INDEX_STRATEGY}" \ + --emit-index-annotation \ + --no-sources \ + $OVERRIDE_ARGS + +echo "# Packages from pypi.org" >"$SOURCE_FILE" +echo "# This file was autogenerated by $(basename -- "$0")" >>"$SOURCE_FILE" +echo "# Packages from ${RHOAI_INDEX_URL}" >"$WHEEL_FILE" +echo "# This file was autogenerated by $(basename -- "$0")" >>"$WHEEL_FILE" +echo "--index-url ${RHOAI_INDEX_URL}" >>"$WHEEL_FILE" + +# --- 2) Split by index origin (see lightspeed-service) + flush orphan top-level lines (e.g. URL pins) +current_package="" + +while IFS= read -r line || [[ -n "$line" ]]; do + if [[ "$line" =~ ^[a-zA-Z0-9] ]]; then + if [[ -n "$current_package" ]]; then + echo "$current_package" >>"$SOURCE_FILE" + fi + current_package="$line" + elif [[ "$line" =~ ^[[:space:]]*#[[:space:]]*from[[:space:]]+(.*) ]]; then + index_url="${BASH_REMATCH[1]}" + if [[ -n "$current_package" ]]; then + package_name="$(extract_pkg_name "$current_package")" + force_no_wheel=0 + for no_wheel_pkg in ${NO_WHEEL_PACKAGES//,/ }; do + [[ "$package_name" == "$no_wheel_pkg" ]] && force_no_wheel=1 && break + done + if [[ "$index_url" == "https://pypi.org/simple/" ]]; then + echo "$current_package" >>"$SOURCE_FILE" + elif [[ "$force_no_wheel" -eq 1 ]]; then + echo "$current_package" >>"$SOURCE_FILE" + elif [[ "$index_url" == "${RHOAI_INDEX_URL}" ]]; then + echo "$current_package" >>"$WHEEL_FILE" + else + echo "$current_package" >>"$SOURCE_FILE" + fi + current_package="" + fi + fi +done <"$RAW_REQ_FILE" +if [[ -n "$current_package" ]]; then + echo "$current_package" >>"$SOURCE_FILE" +fi + +# uv can annotate these on PyPI; for Konflux (and pybuild-deps) prefer RHOAI wheels when that index carries them. +for p in $PKG_FORCE_WHEEL; do + tmpf=$(mktemp) + while IFS= read -r pline; do + case "$pline" in + ${p}==* | ${p}\ @\ *) echo "$pline" >>"$WHEEL_FILE" ;; + *) echo "$pline" >>"$tmpf" ;; + esac + done <"$SOURCE_FILE" + mv "$tmpf" "$SOURCE_FILE" +done + +wheel_packages=$(grep -v "^[#-]" "$WHEEL_FILE" | sed 's/==.*//;s/[[:space:]]*@.*//' | awk 'NF' | tr '\n' ',' | sed 's/,$//') +echo "WHEEL_PACKAGE_NAMES: $wheel_packages" >&1 + +# --- 3) Hash lockfiles +# --universal and --python-platform are mutually exclusive in uv; RHOAI wheels are linux+cp312-specific here +uv pip compile "$WHEEL_FILE" --refresh --generate-hashes --index-url "${RHOAI_INDEX_URL}" \ + --python-version "$PY_VERSION" --python-platform x86_64-unknown-linux-gnu \ + --emit-index-url --no-deps --no-annotate >"$WHEEL_HASH_FILE" +uv pip compile "$SOURCE_FILE" --refresh --generate-hashes --python-version "$PY_VERSION" \ + --python-platform x86_64-unknown-linux-gnu \ + --emit-index-url --no-deps --no-annotate >"$SOURCE_HASH_FILE" + +# --- 4) Drop extra wheels from source (they are only listed as binaries) +for pkg in ${EXTRA_WHEELS//,/ }; do + pkg=$(echo "$pkg" | tr -d '[:space:]') + [[ -n "$pkg" ]] && sed -i "/^${pkg}[=<>!~@]/d" "$SOURCE_FILE" +done + +# Build deps: pybuild-deps, with optional banks → hatchling workaround +{ + grep -v "^[#-]" "$SOURCE_FILE" | while IFS= read -r bline; do + [[ -z "$bline" ]] && continue + pkg_name="${bline%%@*}"; pkg_name="${pkg_name%%=*}"; pkg_name="${pkg_name// /}" + skip=0 + for skip_pkg in ${SKIP_PYBUILD_PACKAGES//,/ }; do + skip_pkg=$(echo "$skip_pkg" | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]') + [[ -n "$skip_pkg" ]] && [[ $(echo "$pkg_name" | tr '[:upper:]' '[:lower:]') == "$skip_pkg" ]] && skip=1 && break + done + [[ $skip -eq 0 ]] && echo "$bline" + done + if [[ "$SKIP_PYBUILD_PACKAGES" == *"banks"* ]] && grep -qE '^banks' "$SOURCE_FILE" 2>/dev/null; then + echo "hatchling==1.29.0" + fi +} >>"$SOURCE_FILE_FOR_BUILD" + +# --- 4b) Build-deps lockfile (cpu + lsc only). GPU uses the same root pyproject build graph as cpu; +# own-app pipelines prefetch requirements-build.cpu.txt to avoid an empty duplicate requirements-build.gpu.txt. +if [[ "$FLAVOR" == "gpu" ]]; then + echo "Skipping pybuild-deps for gpu (prefetch uses requirements-build.cpu.txt)." +else + # Treat pybuild-deps failures as non-fatal (it chokes on some sdist graphs, e.g. meson-based packages). + if ! uv run --no-project --with "pybuild-deps>=0.5" pybuild-deps compile --output-file="$BUILD_FILE" "$SOURCE_FILE_FOR_BUILD"; then + echo "WARNING: pybuild-deps failed — $BUILD_FILE not generated" >&2 + : >"$BUILD_FILE" + fi + + # --- 5) Do not list wheel deps twice in build file + IFS=, + for pkg in $wheel_packages; do + pkg=$(echo "$pkg" | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]') + [[ -z "$pkg" ]] && continue + sed -i "/^${pkg}[=<>!~@]/d" "$BUILD_FILE" 2>/dev/null || true + done + unset IFS +fi + +# --- 6) Sync pip.binary.packages in prefetch-input (same sed as openshift/lightspeed-service). +# Requires a one-line JSON value containing "packages": "comma,separated,names". +for extra in ${EXTRA_WHEELS//,/ }; do + extra=$(echo "$extra" | tr -d '[:space:]') + [[ -n "$extra" ]] && wheel_packages="${wheel_packages:+$wheel_packages,}$extra" +done + +update_prefetch_binary_packages() { + local tf="$1" + [[ -f "$tf" ]] || return 0 + if grep -q '"packages": "[^"]*"' "$tf"; then + sed -i 's/"packages": "[^"]*"/"packages": "'"$wheel_packages"'"/' "$tf" + echo " updated pip.binary.packages: $tf" + else + echo " skip (no matching \"packages\" string): $tf" >&2 + fi +} + +case "$FLAVOR" in +cpu) + for tf in \ + .tekton/lightspeed-rag-tool-pull-request.yaml \ + .tekton/lightspeed-rag-tool-push.yaml \ + .konflux/lightspeed-rag-tool-pull-request.yaml \ + .konflux/lightspeed-rag-tool-push.yaml; do + update_prefetch_binary_packages "$tf" + done + ;; +gpu) + for tf in \ + .tekton/own-app-lightspeed-rag-content-pull-request.yaml \ + .tekton/own-app-lightspeed-rag-content-push.yaml \ + .konflux/own-app-lightspeed-rag-content-pull-request.yaml \ + .konflux/own-app-lightspeed-rag-content-push.yaml; do + update_prefetch_binary_packages "$tf" + done + ;; +lsc) + for tf in \ + .tekton/lightspeed-ocp-rag-pull-request.yaml \ + .tekton/lightspeed-ocp-rag-push.yaml; do + update_prefetch_binary_packages "$tf" + done + ;; +esac + +echo "Done for flavor: $FLAVOR" +echo " $SOURCE_HASH_FILE ($(grep -c -v '^#' <"$SOURCE_HASH_FILE" 2>/dev/null || true) non-comment lines; hash lines vary)" +echo " $WHEEL_HASH_FILE" +if [[ "$FLAVOR" != "gpu" ]]; then + echo " $BUILD_FILE" +else + echo " (build-deps: requirements-build.cpu.txt — run cpu flavor first or \`make update-konflux-deps\`)" +fi +echo " pip.binary.packages value: $wheel_packages" +echo "Commit these, requirements.overrides*, and any updated PipelineRun YAML under .tekton/ (and .konflux/ if used)."