From e0696202a0f72a837eb947e730bf704f9d61edfa Mon Sep 17 00:00:00 2001 From: Lukas Piwowarski Date: Mon, 12 May 2025 16:38:07 +0200 Subject: [PATCH] Introduce rca_accelerator_chatbot package Introduce rca_accelerator_chatbot package. This commit: - introduces the package - and rca_accelerator_chatbot entrypoint that can be used to start the chatbot without knowing the internals of the package --- Containerfile | 10 +- Containerfile.api | 6 +- api-entrypoint.sh | 2 +- pdm.lock | 417 +++++++++--------- pyproject.toml | 18 + src/rca_accelerator_chatbot/__init__.py | 0 src/{ => rca_accelerator_chatbot}/api.py | 16 +- src/{ => rca_accelerator_chatbot}/app.py | 12 +- src/{ => rca_accelerator_chatbot}/auth.py | 2 +- src/{ => rca_accelerator_chatbot}/chat.py | 18 +- src/{ => rca_accelerator_chatbot}/config.py | 2 +- .../constants.py | 0 .../data}/.chainlit/config.toml | 0 .../data}/.chainlit/translations/bn.json | 0 .../data}/.chainlit/translations/en-US.json | 0 .../data}/.chainlit/translations/gu.json | 0 .../data}/.chainlit/translations/he-IL.json | 0 .../data}/.chainlit/translations/hi.json | 0 .../data}/.chainlit/translations/ja.json | 0 .../data}/.chainlit/translations/kn.json | 0 .../data}/.chainlit/translations/ml.json | 0 .../data}/.chainlit/translations/mr.json | 0 .../data}/.chainlit/translations/nl.json | 0 .../data}/.chainlit/translations/ta.json | 0 .../data}/.chainlit/translations/te.json | 0 .../data}/.chainlit/translations/zh-CN.json | 0 .../data}/chainlit.md | 0 .../data}/public/avatars/RCAccelerator.svg | 0 .../data}/public/book.png | Bin .../data}/public/books-icon.png | Bin .../data}/public/ci-logs.png | Bin .../data}/public/debug.svg | 0 .../data}/public/favicon.png | Bin .../data}/public/logo_dark.png | Bin .../data}/public/logo_light.png | Bin .../embeddings.py | 4 +- .../generation.py | 8 +- src/rca_accelerator_chatbot/main.py | 13 + src/{ => rca_accelerator_chatbot}/prompt.py | 8 +- src/{ => rca_accelerator_chatbot}/settings.py | 0 src/{ => rca_accelerator_chatbot}/vectordb.py | 2 +- 41 files changed, 300 insertions(+), 238 deletions(-) create mode 100644 src/rca_accelerator_chatbot/__init__.py rename src/{ => rca_accelerator_chatbot}/api.py (95%) rename src/{ => rca_accelerator_chatbot}/app.py (93%) rename src/{ => rca_accelerator_chatbot}/auth.py (98%) rename src/{ => rca_accelerator_chatbot}/chat.py (97%) rename src/{ => rca_accelerator_chatbot}/config.py (99%) rename src/{ => rca_accelerator_chatbot}/constants.py (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/config.toml (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/bn.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/en-US.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/gu.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/he-IL.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/hi.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/ja.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/kn.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/ml.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/mr.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/nl.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/ta.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/te.json (100%) rename src/{ => rca_accelerator_chatbot/data}/.chainlit/translations/zh-CN.json (100%) rename src/{ => rca_accelerator_chatbot/data}/chainlit.md (100%) rename src/{ => rca_accelerator_chatbot/data}/public/avatars/RCAccelerator.svg (100%) rename src/{ => rca_accelerator_chatbot/data}/public/book.png (100%) rename src/{ => rca_accelerator_chatbot/data}/public/books-icon.png (100%) rename src/{ => rca_accelerator_chatbot/data}/public/ci-logs.png (100%) rename src/{ => rca_accelerator_chatbot/data}/public/debug.svg (100%) rename src/{ => rca_accelerator_chatbot/data}/public/favicon.png (100%) rename src/{ => rca_accelerator_chatbot/data}/public/logo_dark.png (100%) rename src/{ => rca_accelerator_chatbot/data}/public/logo_light.png (100%) rename src/{ => rca_accelerator_chatbot}/embeddings.py (97%) rename src/{ => rca_accelerator_chatbot}/generation.py (95%) create mode 100644 src/rca_accelerator_chatbot/main.py rename src/{ => rca_accelerator_chatbot}/prompt.py (95%) rename src/{ => rca_accelerator_chatbot}/settings.py (100%) rename src/{ => rca_accelerator_chatbot}/vectordb.py (98%) diff --git a/Containerfile b/Containerfile index bb4d128..cfa8a8a 100644 --- a/Containerfile +++ b/Containerfile @@ -6,12 +6,16 @@ RUN groupadd -g 65532 chatgroup && \ WORKDIR /app -COPY src/ . -COPY pdm.lock pyproject.toml Makefile . +COPY pdm.lock pyproject.toml Makefile LICENSE README.md . +COPY src/ src/ RUN make install-pdm install-global + RUN chown -R chatuser:chatgroup /app USER chatuser EXPOSE 8000 -CMD ["chainlit", "run", "app.py", "--host", "0.0.0.0"] +RUN cp -r src/rca_accelerator_chatbot/data/* . && \ + cp -r src/rca_accelerator_chatbot/data/.chainlit . + +CMD ["chainlit", "run", "src/rca_accelerator_chatbot/app.py", "--host", "0.0.0.0"] diff --git a/Containerfile.api b/Containerfile.api index fcfaaac..a31c043 100644 --- a/Containerfile.api +++ b/Containerfile.api @@ -9,12 +9,14 @@ RUN dnf install -y krb5-workstation krb5-libs WORKDIR /app RUN chown -R chatuser:chatgroup /app -COPY src/ . -COPY pdm.lock pyproject.toml Makefile api-entrypoint.sh . +COPY src/ src/ +COPY pdm.lock pyproject.toml Makefile api-entrypoint.sh LICENSE README.md . RUN make install-pdm install-global RUN chmod +x api-entrypoint.sh USER chatuser EXPOSE 8001 +RUN cp -r src/rca_accelerator_chatbot/data/.chainlit . + ENTRYPOINT ["/app/api-entrypoint.sh"] diff --git a/api-entrypoint.sh b/api-entrypoint.sh index ed1347a..3ea8b85 100755 --- a/api-entrypoint.sh +++ b/api-entrypoint.sh @@ -6,4 +6,4 @@ if [ -n "$KRB_USER" ] && [ -n "$KRB_PASS" ]; then echo "$KRB_PASS" | kinit "$KRB_USER" fi -exec uvicorn api:app --host 0.0.0.0 --port 8001 +exec uvicorn rca_accelerator_chatbot.api:app --host 0.0.0.0 --port 8001 diff --git a/pdm.lock b/pdm.lock index 6494dd9..7d5e2c9 100644 --- a/pdm.lock +++ b/pdm.lock @@ -98,7 +98,7 @@ files = [ [[package]] name = "anthropic" -version = "0.50.0" +version = "0.51.0" requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["default"] @@ -112,8 +112,8 @@ dependencies = [ "typing-extensions<5,>=4.10", ] files = [ - {file = "anthropic-0.50.0-py3-none-any.whl", hash = "sha256:defbd79327ca2fa61fd7b9eb2f1627dfb1f69c25d49288c52e167ddb84574f80"}, - {file = "anthropic-0.50.0.tar.gz", hash = "sha256:42175ec04ce4ff2fa37cd436710206aadff546ee99d70d974699f59b49adc66f"}, + {file = "anthropic-0.51.0-py3-none-any.whl", hash = "sha256:b8b47d482c9aa1f81b923555cebb687c2730309a20d01be554730c8302e0f62a"}, + {file = "anthropic-0.51.0.tar.gz", hash = "sha256:6f824451277992af079554430d5b2c8ff5bc059cc2c968cdc3f06824437da201"}, ] [[package]] @@ -340,26 +340,26 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.4.1" +version = "3.4.2" requires_python = ">=3.7" summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." groups = ["default"] files = [ - {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, - {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, - {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e"}, + {file = "charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0"}, + {file = "charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"}, ] [[package]] @@ -374,17 +374,16 @@ files = [ [[package]] name = "click" -version = "8.1.8" -requires_python = ">=3.7" +version = "8.2.0" +requires_python = ">=3.10" summary = "Composable command line interface toolkit" groups = ["default"] dependencies = [ "colorama; platform_system == \"Windows\"", - "importlib-metadata; python_version < \"3.8\"", ] files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, + {file = "click-8.2.0-py3-none-any.whl", hash = "sha256:6b303f0b2aa85f1cb4e5303078fadcbcd4e476f114fab9b5007005711839325c"}, + {file = "click-8.2.0.tar.gz", hash = "sha256:f5452aeddd9988eefa20f90f05ab66f17fce1ee2a36907fd30b05bbb5953814d"}, ] [[package]] @@ -563,22 +562,22 @@ files = [ [[package]] name = "greenlet" -version = "3.2.1" +version = "3.2.2" requires_python = ">=3.9" summary = "Lightweight in-process concurrent programming" groups = ["default"] marker = "(platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\") and python_version < \"3.14\"" files = [ - {file = "greenlet-3.2.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:0ba2811509a30e5f943be048895a983a8daf0b9aa0ac0ead526dfb5d987d80ea"}, - {file = "greenlet-3.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4245246e72352b150a1588d43ddc8ab5e306bef924c26571aafafa5d1aaae4e8"}, - {file = "greenlet-3.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7abc0545d8e880779f0c7ce665a1afc3f72f0ca0d5815e2b006cafc4c1cc5840"}, - {file = "greenlet-3.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6dcc6d604a6575c6225ac0da39df9335cc0c6ac50725063fa90f104f3dbdb2c9"}, - {file = "greenlet-3.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2273586879affca2d1f414709bb1f61f0770adcabf9eda8ef48fd90b36f15d12"}, - {file = "greenlet-3.2.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff38c869ed30fff07f1452d9a204ece1ec6d3c0870e0ba6e478ce7c1515acf22"}, - {file = "greenlet-3.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e934591a7a4084fa10ee5ef50eb9d2ac8c4075d5c9cf91128116b5dca49d43b1"}, - {file = "greenlet-3.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:063bcf7f8ee28eb91e7f7a8148c65a43b73fbdc0064ab693e024b5a940070145"}, - {file = "greenlet-3.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7132e024ebeeeabbe661cf8878aac5d2e643975c4feae833142592ec2f03263d"}, - {file = "greenlet-3.2.1.tar.gz", hash = "sha256:9f4dd4b4946b14bb3bf038f81e1d2e535b7d94f1b2a59fdba1293cd9c1a0a4d7"}, + {file = "greenlet-3.2.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:df4d1509efd4977e6a844ac96d8be0b9e5aa5d5c77aa27ca9f4d3f92d3fcf330"}, + {file = "greenlet-3.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da956d534a6d1b9841f95ad0f18ace637668f680b1339ca4dcfb2c1837880a0b"}, + {file = "greenlet-3.2.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c7b15fb9b88d9ee07e076f5a683027bc3befd5bb5d25954bb633c385d8b737e"}, + {file = "greenlet-3.2.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:752f0e79785e11180ebd2e726c8a88109ded3e2301d40abced2543aa5d164275"}, + {file = "greenlet-3.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ae572c996ae4b5e122331e12bbb971ea49c08cc7c232d1bd43150800a2d6c65"}, + {file = "greenlet-3.2.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02f5972ff02c9cf615357c17ab713737cccfd0eaf69b951084a9fd43f39833d3"}, + {file = "greenlet-3.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4fefc7aa68b34b9224490dfda2e70ccf2131368493add64b4ef2d372955c207e"}, + {file = "greenlet-3.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a31ead8411a027c2c4759113cf2bd473690517494f3d6e4bf67064589afcd3c5"}, + {file = "greenlet-3.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:b24c7844c0a0afc3ccbeb0b807adeefb7eff2b5599229ecedddcfeb0ef333bec"}, + {file = "greenlet-3.2.2.tar.gz", hash = "sha256:ad053d34421a2debba45aa3cc39acf454acbcd025b3fc1a9f8a0dee237abd485"}, ] [[package]] @@ -669,6 +668,24 @@ files = [ {file = "h2-4.2.0.tar.gz", hash = "sha256:c8a52129695e88b1a0578d8d2cc6842bbd79128ac685463b887ee278126ad01f"}, ] +[[package]] +name = "hf-xet" +version = "1.1.0" +requires_python = ">=3.8" +summary = "" +groups = ["default"] +marker = "platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"" +files = [ + {file = "hf_xet-1.1.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:0322c42551e275fcb7949c083a54a81b2898e50787c9aa74284fcb8d2c58c12c"}, + {file = "hf_xet-1.1.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:667153a0304ac2debf2af95a8ff7687186f885b493f4cd16344869af270cd110"}, + {file = "hf_xet-1.1.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:995eeffb119636ea617b96c7d7bf3c3f5ea8727fa57974574e25d700b8532d48"}, + {file = "hf_xet-1.1.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3aee847da362393331f515c4010d0aaa1c2669acfcca1f4b28946d6949cc0086"}, + {file = "hf_xet-1.1.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:68c5813a6074aa36e12ef5983230e3b03148cce61e0fcdd294096493795565b4"}, + {file = "hf_xet-1.1.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4ee9222bf9274b1c198b88a929de0b5a49349c4962d89c5b3b2f0f7f47d9761c"}, + {file = "hf_xet-1.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:73153eab9abf3d6973b21e94a67ccba5d595c3e12feb8c0bf50be02964e7f126"}, + {file = "hf_xet-1.1.0.tar.gz", hash = "sha256:a7c2a4c2b6eee9ce0a1a367a82b60d95ba634420ef1c250addad7aa4af419cf4"}, +] + [[package]] name = "hpack" version = "4.1.0" @@ -756,13 +773,14 @@ files = [ [[package]] name = "huggingface-hub" -version = "0.30.2" +version = "0.31.1" requires_python = ">=3.8.0" summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" groups = ["default"] dependencies = [ "filelock", "fsspec>=2023.5.0", + "hf-xet<2.0.0,>=1.1.0; platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"", "packaging>=20.9", "pyyaml>=5.1", "requests", @@ -770,8 +788,8 @@ dependencies = [ "typing-extensions>=3.7.4.3", ] files = [ - {file = "huggingface_hub-0.30.2-py3-none-any.whl", hash = "sha256:68ff05969927058cfa41df4f2155d4bb48f5f54f719dd0390103eefa9b191e28"}, - {file = "huggingface_hub-0.30.2.tar.gz", hash = "sha256:9a7897c5b6fd9dad3168a794a8998d6378210f5b9688d0dfc180b1a228dc2466"}, + {file = "huggingface_hub-0.31.1-py3-none-any.whl", hash = "sha256:43f73124819b48b42d140cbc0d7a2e6bd15b2853b1b9d728d4d55ad1750cac5b"}, + {file = "huggingface_hub-0.31.1.tar.gz", hash = "sha256:492bb5f545337aa9e2f59b75ef4c5f535a371e8958a6ce90af056387e67f1180"}, ] [[package]] @@ -942,7 +960,7 @@ files = [ [[package]] name = "mcp" -version = "1.6.0" +version = "1.8.0" requires_python = ">=3.10" summary = "Model Context Protocol SDK" groups = ["default"] @@ -952,13 +970,14 @@ dependencies = [ "httpx>=0.27", "pydantic-settings>=2.5.2", "pydantic<3.0.0,>=2.7.2", + "python-multipart>=0.0.9", "sse-starlette>=1.6.1", "starlette>=0.27", - "uvicorn>=0.23.1", + "uvicorn>=0.23.1; sys_platform != \"emscripten\"", ] files = [ - {file = "mcp-1.6.0-py3-none-any.whl", hash = "sha256:7bd24c6ea042dbec44c754f100984d186620d8b841ec30f1b19eda9b93a634d0"}, - {file = "mcp-1.6.0.tar.gz", hash = "sha256:d9324876de2c5637369f43161cd71eebfd803df5a95e46225cab8d280e366723"}, + {file = "mcp-1.8.0-py3-none-any.whl", hash = "sha256:889d9d3b4f12b7da59e7a3933a0acadae1fce498bfcd220defb590aa291a1334"}, + {file = "mcp-1.8.0.tar.gz", hash = "sha256:263dfb700540b726c093f0c3e043f66aded0730d0b51f04eb0a3eb90055fe49b"}, ] [[package]] @@ -1170,41 +1189,41 @@ files = [ [[package]] name = "opentelemetry-instrumentation-alephalpha" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Aleph Alpha instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_alephalpha-0.40.2-py3-none-any.whl", hash = "sha256:7b2ee9aa59c967750308740efd08f32a39f3578065ce1d5a5c750aac477576c7"}, - {file = "opentelemetry_instrumentation_alephalpha-0.40.2.tar.gz", hash = "sha256:57289870fdad546f4f898eb147de317bda60a3d1642008ad57ca3af3aa11db80"}, + {file = "opentelemetry_instrumentation_alephalpha-0.40.4-py3-none-any.whl", hash = "sha256:bf0d013aae211e7be1b9a051dd403d526450f4345e7e6ea03ca533e115909e57"}, + {file = "opentelemetry_instrumentation_alephalpha-0.40.4.tar.gz", hash = "sha256:99902684b91e6b5ce2de8019e2aa3ae20fb900622d417adc101acd744ec474d1"}, ] [[package]] name = "opentelemetry-instrumentation-anthropic" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Anthropic instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_anthropic-0.40.2-py3-none-any.whl", hash = "sha256:94e3474dfcb65ada10a5d83056e9e43dc0afbaae43a55bba6b7712672e28d21a"}, - {file = "opentelemetry_instrumentation_anthropic-0.40.2.tar.gz", hash = "sha256:949156556ed4d908196984fac1a8ea3d16edcf9d7395d85729a0e7712b2f818f"}, + {file = "opentelemetry_instrumentation_anthropic-0.40.4-py3-none-any.whl", hash = "sha256:75045e9e89ca0bde1a6f31726c4ab2e8098bc3382ad1ebb28deff2f8fc098fe0"}, + {file = "opentelemetry_instrumentation_anthropic-0.40.4.tar.gz", hash = "sha256:d45579fad546043fd6d55677297dd2924bf6c40400dcc63b3eb2ca652ae4e0fd"}, ] [[package]] name = "opentelemetry-instrumentation-bedrock" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Bedrock instrumentation" groups = ["default"] @@ -1212,154 +1231,154 @@ dependencies = [ "anthropic>=0.17.0", "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", "tokenizers>=0.13.0", ] files = [ - {file = "opentelemetry_instrumentation_bedrock-0.40.2-py3-none-any.whl", hash = "sha256:a12331e2cd77eb61f954acbaa50cdf31954f2b315b52da6354284ce0b83f2773"}, - {file = "opentelemetry_instrumentation_bedrock-0.40.2.tar.gz", hash = "sha256:a1d49d41d8435ba368698a884ffbd4fbda1f1325d6961b805706ee0bbbc6547f"}, + {file = "opentelemetry_instrumentation_bedrock-0.40.4-py3-none-any.whl", hash = "sha256:6cdc03e6e1a9747265bcf4926da9e226ee4b3feda54d69ef5cadb56e19954bf8"}, + {file = "opentelemetry_instrumentation_bedrock-0.40.4.tar.gz", hash = "sha256:0db189f33935df7907418d6439cda11d1542e00e4c628744eef816d74510b3b9"}, ] [[package]] name = "opentelemetry-instrumentation-chromadb" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Chroma DB instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_chromadb-0.40.2-py3-none-any.whl", hash = "sha256:3e5d5eb1831d04ccbcb3faec599572c394df6d72de5ff07d1ece7144b0bc7b54"}, - {file = "opentelemetry_instrumentation_chromadb-0.40.2.tar.gz", hash = "sha256:dc4829111a152b062daa7435cd9cc93c39bba7325d3682072c56e1ac5d016950"}, + {file = "opentelemetry_instrumentation_chromadb-0.40.4-py3-none-any.whl", hash = "sha256:bebc38627a2848f72be8bb632a26d4c4db411249378ca3bf72150802d3fb4008"}, + {file = "opentelemetry_instrumentation_chromadb-0.40.4.tar.gz", hash = "sha256:10f9218e629589200b7ce67ee85300f326023e703a343e58f34b9ab6aa23e8d0"}, ] [[package]] name = "opentelemetry-instrumentation-cohere" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Cohere instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_cohere-0.40.2-py3-none-any.whl", hash = "sha256:96fde68b0d8ce68f272f4c54f30178cb22cbadb196735a3943cc328891a9d508"}, - {file = "opentelemetry_instrumentation_cohere-0.40.2.tar.gz", hash = "sha256:df3cac041b0769540f2362d8280e7f0179ff1446e47fb2542f22d91822c30fc4"}, + {file = "opentelemetry_instrumentation_cohere-0.40.4-py3-none-any.whl", hash = "sha256:aca41ad80a10c604d73c8167a2e26bfeb7463b04c634951fa30fcb69c3648456"}, + {file = "opentelemetry_instrumentation_cohere-0.40.4.tar.gz", hash = "sha256:c4ac17c6d32f772da06cd9ee51e5da546dae4b2b9aa3114ff69b822e2997bbd4"}, ] [[package]] name = "opentelemetry-instrumentation-crewai" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.10" summary = "OpenTelemetry crewAI instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_crewai-0.40.2-py3-none-any.whl", hash = "sha256:696a80cadb5ce470562eba265b829779857cd72dc612767f19fc6b441886655c"}, - {file = "opentelemetry_instrumentation_crewai-0.40.2.tar.gz", hash = "sha256:5419d88e23d67b4dc48085574aeee3a22f13ce9855946bcc1f865fec8905b42a"}, + {file = "opentelemetry_instrumentation_crewai-0.40.4-py3-none-any.whl", hash = "sha256:4cdf0c98286b2150a349beccb7fef6da0d8f5e7455391220473c8ce0bf61ee01"}, + {file = "opentelemetry_instrumentation_crewai-0.40.4.tar.gz", hash = "sha256:bb5f861ba7ddd3cef54a3edc7e827f377ad641633e54b05fcfd70495cd42e33e"}, ] [[package]] name = "opentelemetry-instrumentation-google-generativeai" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Google Generative AI instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_google_generativeai-0.40.2-py3-none-any.whl", hash = "sha256:2b86404e6aa495ac961034ba375bbfa267fd1a828546d8d92646cf0ba1dc2755"}, - {file = "opentelemetry_instrumentation_google_generativeai-0.40.2.tar.gz", hash = "sha256:b5312051e4029827b6b6f89efed3c2c32a3e33631cd79e85dfe9b89a42391ace"}, + {file = "opentelemetry_instrumentation_google_generativeai-0.40.4-py3-none-any.whl", hash = "sha256:41f571bb32d1ae37bccdc6db16764686cf322a1ff3a8f24eb94127cb68c316d4"}, + {file = "opentelemetry_instrumentation_google_generativeai-0.40.4.tar.gz", hash = "sha256:76efafe827b7d3299c8ad4b9e1e4c792d36bf5dc0b8a4d6c63ff326b82269ab2"}, ] [[package]] name = "opentelemetry-instrumentation-groq" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Groq instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_groq-0.40.2-py3-none-any.whl", hash = "sha256:32e9220439b8356f33edbafbfd8b7f4ea063c1465ff29389abefcc93eca19530"}, - {file = "opentelemetry_instrumentation_groq-0.40.2.tar.gz", hash = "sha256:c127d089a5aec9f49ed9ba6bdbd00d67af596040a778eaef3641cd18d114ae93"}, + {file = "opentelemetry_instrumentation_groq-0.40.4-py3-none-any.whl", hash = "sha256:ca27464ab8365220685a34d6531611c5ce5087a222e0d751543ca6bee226c354"}, + {file = "opentelemetry_instrumentation_groq-0.40.4.tar.gz", hash = "sha256:83f3834148fd21062943f3e44295bae4bcdde6ccfc5331cc94843a41849d0131"}, ] [[package]] name = "opentelemetry-instrumentation-haystack" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Haystack instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_haystack-0.40.2-py3-none-any.whl", hash = "sha256:4e1852eaa1bf8c3cc4fd4acf77ebfd492c3eec3e52be1558ec32b59d960f9831"}, - {file = "opentelemetry_instrumentation_haystack-0.40.2.tar.gz", hash = "sha256:9b9fcb8e8ccbf942a427548e5c0e1958eaffd73a33cfdf87468cec7d69ba1bdb"}, + {file = "opentelemetry_instrumentation_haystack-0.40.4-py3-none-any.whl", hash = "sha256:8f9cf0a279efbcc799e850f6a62e4942db71817039626c0ad5ca33cd2205c2cd"}, + {file = "opentelemetry_instrumentation_haystack-0.40.4.tar.gz", hash = "sha256:48c83561a2ddba4296716c5a8b00a62a97b00893aae9fe19f14baea6976c9c9e"}, ] [[package]] name = "opentelemetry-instrumentation-lancedb" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Lancedb instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_lancedb-0.40.2-py3-none-any.whl", hash = "sha256:d4facd234693a585a06ba925f7557e8f587649a5d0038c67108a561546017a7f"}, - {file = "opentelemetry_instrumentation_lancedb-0.40.2.tar.gz", hash = "sha256:66a80ab9233a21d2fc6f329fe78f2552cfd2acd239db32e6e3b3bc3478778bae"}, + {file = "opentelemetry_instrumentation_lancedb-0.40.4-py3-none-any.whl", hash = "sha256:e72cacf5b61bbc1fc4b51185ccd8eb310a53623208fbc8be9bc7254870fa62f5"}, + {file = "opentelemetry_instrumentation_lancedb-0.40.4.tar.gz", hash = "sha256:2001593f26c0b86b33fdb6262d124d7c58db83e29036b3c8ee208af36438f920"}, ] [[package]] name = "opentelemetry-instrumentation-langchain" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Langchain instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_langchain-0.40.2-py3-none-any.whl", hash = "sha256:7bed719a6229361241fdc095024549c40a028aaefc809bc504ca3cf2c89b58ab"}, - {file = "opentelemetry_instrumentation_langchain-0.40.2.tar.gz", hash = "sha256:ce48dd19a2e7a03b2a44db137b2f2f5887030e2080d82682a16a2d679abf3e77"}, + {file = "opentelemetry_instrumentation_langchain-0.40.4-py3-none-any.whl", hash = "sha256:3fcc8ef07c66018babfd991f93f0f98055f5da5c5b52de8951c795fc89849f82"}, + {file = "opentelemetry_instrumentation_langchain-0.40.4.tar.gz", hash = "sha256:1bbfbc0ecfb8515dc0096d60165a1de2f543bc14e1a2f7cf6c9e737f5a4cb953"}, ] [[package]] name = "opentelemetry-instrumentation-llamaindex" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry LlamaIndex instrumentation" groups = ["default"] @@ -1367,12 +1386,12 @@ dependencies = [ "inflection<0.6.0,>=0.5.1", "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_llamaindex-0.40.2-py3-none-any.whl", hash = "sha256:7903f5afd3587a430ab83ac872a32a13a1749a4ee8a9d2b652561904be1f7d2d"}, - {file = "opentelemetry_instrumentation_llamaindex-0.40.2.tar.gz", hash = "sha256:dbafcd297a59df0585fbf9c0ff882fabf30f49f77af5d44784320c3ba740d749"}, + {file = "opentelemetry_instrumentation_llamaindex-0.40.4-py3-none-any.whl", hash = "sha256:1c70746b25a0f239f46f66b653771243c6663bac600acc639971d2987578fa5d"}, + {file = "opentelemetry_instrumentation_llamaindex-0.40.4.tar.gz", hash = "sha256:ddad42e6b7e61a64473fb276aa0dc371899a8ec85c4f2150d7f8789c75785a83"}, ] [[package]] @@ -1392,156 +1411,156 @@ files = [ [[package]] name = "opentelemetry-instrumentation-marqo" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Marqo instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_marqo-0.40.2-py3-none-any.whl", hash = "sha256:43454f0f6b075bc53bc6547bdd583c51b5a4911f884af54806816606bd9415ec"}, - {file = "opentelemetry_instrumentation_marqo-0.40.2.tar.gz", hash = "sha256:92d5487a525c964e710128c9036a50aef13079c1296a73e527062036f43bec3f"}, + {file = "opentelemetry_instrumentation_marqo-0.40.4-py3-none-any.whl", hash = "sha256:b7987783d98a62da3b8c97aa19c59d45976c15030516bd5973ccfcfb9c0908cd"}, + {file = "opentelemetry_instrumentation_marqo-0.40.4.tar.gz", hash = "sha256:3df48b240280038ac05d4eeabe29da18241fa3793c7d428d44e94766af642cf1"}, ] [[package]] name = "opentelemetry-instrumentation-mcp" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.10" summary = "OpenTelemetry mcp instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_mcp-0.40.2-py3-none-any.whl", hash = "sha256:1bbc7757427cb5161f8c3acb5050538234432b4553aace569f756467df19e61a"}, - {file = "opentelemetry_instrumentation_mcp-0.40.2.tar.gz", hash = "sha256:7215fba2e9e6fa5d5888ba8a06c7b173274412df80a566a54d1042c2f724247c"}, + {file = "opentelemetry_instrumentation_mcp-0.40.4-py3-none-any.whl", hash = "sha256:f519c5b59f1b71747c4b4f269e8f2943b7357259fa8ea60de44156d43564d493"}, + {file = "opentelemetry_instrumentation_mcp-0.40.4.tar.gz", hash = "sha256:1cdba77fd8cd3154fdd27dd03c22f8f67a745f01eba87b35c8339ef847c7a34a"}, ] [[package]] name = "opentelemetry-instrumentation-milvus" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Milvus instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_milvus-0.40.2-py3-none-any.whl", hash = "sha256:fdc4db1bcf6a7b4360bd323fdfe566716506ac408fffc5cdaffb7877ca5076c5"}, - {file = "opentelemetry_instrumentation_milvus-0.40.2.tar.gz", hash = "sha256:80cd348400a4d3ab17155617397b95e763e5c759f444cf1abf1b1d9fef833b6e"}, + {file = "opentelemetry_instrumentation_milvus-0.40.4-py3-none-any.whl", hash = "sha256:25d7c3d34aaef0fbfe3b3e8189b62c7fbae37dc73b9748cdbe34be66c0ecc631"}, + {file = "opentelemetry_instrumentation_milvus-0.40.4.tar.gz", hash = "sha256:91f088bd9ccd457f3c2faa22eaa2fe8e3ee5b2b1247c0e2577f0fac541b844ed"}, ] [[package]] name = "opentelemetry-instrumentation-mistralai" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Mistral AI instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_mistralai-0.40.2-py3-none-any.whl", hash = "sha256:065986c050881594d9ca6caad81a4ef6fb26e995380d144be625c707436516e0"}, - {file = "opentelemetry_instrumentation_mistralai-0.40.2.tar.gz", hash = "sha256:b128d8438114cc2389848e1a54a33f5e5cfb21fb3bf442d164d5ac8b7dda658b"}, + {file = "opentelemetry_instrumentation_mistralai-0.40.4-py3-none-any.whl", hash = "sha256:6a974bb9cf23aa39b8d8bb97d47b3883b5248f920b688a29405f14d1edecec7d"}, + {file = "opentelemetry_instrumentation_mistralai-0.40.4.tar.gz", hash = "sha256:48cdcabb5468b591ba9e3d2e3225ef145bd7e57822aaba1ab70d35656c7981c2"}, ] [[package]] name = "opentelemetry-instrumentation-ollama" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Ollama instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_ollama-0.40.2-py3-none-any.whl", hash = "sha256:fb57af6f1ef6c67542271f454ae5a7c69b3096f1e8c5d56a3eb9c2af6919be32"}, - {file = "opentelemetry_instrumentation_ollama-0.40.2.tar.gz", hash = "sha256:4185754bb4487249c4efae894ed6939fba49789b450fbe3840fafb9290f4c020"}, + {file = "opentelemetry_instrumentation_ollama-0.40.4-py3-none-any.whl", hash = "sha256:441488887d02a14ed8ec69a75e3e655a6fa6640861eaa8f31d20e1483be1858c"}, + {file = "opentelemetry_instrumentation_ollama-0.40.4.tar.gz", hash = "sha256:02621f8ea537e741b879f8d4b8ddede2f4b4ac80ffc7c44b81d317346659e878"}, ] [[package]] name = "opentelemetry-instrumentation-openai" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry OpenAI instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", "tiktoken<1,>=0.6.0", ] files = [ - {file = "opentelemetry_instrumentation_openai-0.40.2-py3-none-any.whl", hash = "sha256:62fe130f16f2933f1db75f9a14807bb08444534fd8d2e6ad4668ee8b1c3968a5"}, - {file = "opentelemetry_instrumentation_openai-0.40.2.tar.gz", hash = "sha256:61e46e7a9e3f5d7fb0cef82f1fd7bd6a26848a28ec384249875fe5622ddbf622"}, + {file = "opentelemetry_instrumentation_openai-0.40.4-py3-none-any.whl", hash = "sha256:39f8cc5a149cb5d9202a307280d8aca3eca703c2c689659fb45f256825c0cc55"}, + {file = "opentelemetry_instrumentation_openai-0.40.4.tar.gz", hash = "sha256:9a877f57967a068464bfb87ba38e8d34bcbd88483b4a3229e2876cd8334d0ad7"}, ] [[package]] name = "opentelemetry-instrumentation-pinecone" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Pinecone instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_pinecone-0.40.2-py3-none-any.whl", hash = "sha256:df5ed8a0bd55e6303484903d115bd59901b1dbb2ee4c879d2054199916fab948"}, - {file = "opentelemetry_instrumentation_pinecone-0.40.2.tar.gz", hash = "sha256:87a528b7c804e548894e8296a93d356a691eb92bfa958ae2438e25d3ea5bf441"}, + {file = "opentelemetry_instrumentation_pinecone-0.40.4-py3-none-any.whl", hash = "sha256:9dd2af78a4688b03121531156310821ba784c9688299430fbd11b797e363a2a4"}, + {file = "opentelemetry_instrumentation_pinecone-0.40.4.tar.gz", hash = "sha256:064d82b3b734ced8e128b4181ca7366cd406bb7d6c69f0be744a4a4a1ca7841b"}, ] [[package]] name = "opentelemetry-instrumentation-qdrant" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Qdrant instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_qdrant-0.40.2-py3-none-any.whl", hash = "sha256:d9c34c876a87595574432e463571d00de3f9d6d4e18226212711229b2e8a7c88"}, - {file = "opentelemetry_instrumentation_qdrant-0.40.2.tar.gz", hash = "sha256:3435f995f3e081c493b5e727477da0eedc2d3d04d61c7d0401a1f999304979b3"}, + {file = "opentelemetry_instrumentation_qdrant-0.40.4-py3-none-any.whl", hash = "sha256:2639a71c28e1a2969eedafe7b2875e03a5e4f7e836b6451edc8f96d933832082"}, + {file = "opentelemetry_instrumentation_qdrant-0.40.4.tar.gz", hash = "sha256:6be91be4b1ee7d135e7d128ada7ab55de13bf12b34d3ca7758e424a1ef4ca496"}, ] [[package]] name = "opentelemetry-instrumentation-replicate" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Replicate instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_replicate-0.40.2-py3-none-any.whl", hash = "sha256:ab6234081ae9803981e8e6302524bd25fc3d0e38e9a939bee6ad15f85405ccb8"}, - {file = "opentelemetry_instrumentation_replicate-0.40.2.tar.gz", hash = "sha256:e7edf785c07e94c951f8268ff1204e00b1fcc86059b3475ac04e01b74f9785c6"}, + {file = "opentelemetry_instrumentation_replicate-0.40.4-py3-none-any.whl", hash = "sha256:1d1f606df50605fef00f5e14c8d64a008b181da15636d8a1b82f7b96294a616d"}, + {file = "opentelemetry_instrumentation_replicate-0.40.4.tar.gz", hash = "sha256:b9e16cab539e8799ffedbe7c7ed8f01a32ffe4a4e2ce4bb19ea03ad499e14f6d"}, ] [[package]] @@ -1563,19 +1582,19 @@ files = [ [[package]] name = "opentelemetry-instrumentation-sagemaker" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry SageMaker instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.26.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_sagemaker-0.40.2-py3-none-any.whl", hash = "sha256:b30f5da27bc6fb6d7b8268ff6df344971b88faf2783e4f21cdc4576b34a21417"}, - {file = "opentelemetry_instrumentation_sagemaker-0.40.2.tar.gz", hash = "sha256:ff85cd8cbb66bd4da676768cf65b16c90607ec0535a2f8e4736dcfb3588c158d"}, + {file = "opentelemetry_instrumentation_sagemaker-0.40.4-py3-none-any.whl", hash = "sha256:c6a47b10831e63b8ffbb88e0bec10ce4fdbcb9d9b9b5777a589b512ce38cb29b"}, + {file = "opentelemetry_instrumentation_sagemaker-0.40.4.tar.gz", hash = "sha256:13a663fadec0826f39a0e4be7fe1486db3f54b43b5639a4f89160ff47d7c9c5e"}, ] [[package]] @@ -1614,36 +1633,36 @@ files = [ [[package]] name = "opentelemetry-instrumentation-together" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Together AI instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_together-0.40.2-py3-none-any.whl", hash = "sha256:688cfa32cb25a82ef6455f074f4ba994ee895b0eba1945cb5387f65d8b727b66"}, - {file = "opentelemetry_instrumentation_together-0.40.2.tar.gz", hash = "sha256:91647bc9a821a8bf1a97996a0fdd468e09d6079c775c5f39d02697a377ba0c57"}, + {file = "opentelemetry_instrumentation_together-0.40.4-py3-none-any.whl", hash = "sha256:6d97cae0c3cb2442765eab41e494c3159d8dc79f183ca136e8e5859fd731c66e"}, + {file = "opentelemetry_instrumentation_together-0.40.4.tar.gz", hash = "sha256:4767e8e3a813760eb63ef67cc0cd6204982e655a8a2348b337e6de7230bc8147"}, ] [[package]] name = "opentelemetry-instrumentation-transformers" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry transformers instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_transformers-0.40.2-py3-none-any.whl", hash = "sha256:fbcef0bd6c5fcb4007e36d83df84845292feb5eae1f424bd55323a8cb7036039"}, - {file = "opentelemetry_instrumentation_transformers-0.40.2.tar.gz", hash = "sha256:dcd434cea643e827bab33f46f7b15f1da1a9589589cf4bd454b318f27d3fcfdf"}, + {file = "opentelemetry_instrumentation_transformers-0.40.4-py3-none-any.whl", hash = "sha256:50cab7c1f4f2711a94874ad06201bdbbbbfbc35f1c51e89ab473ef1f49d03120"}, + {file = "opentelemetry_instrumentation_transformers-0.40.4.tar.gz", hash = "sha256:cd05c2d9dd023b66882809fa7ee7c2087cb4b27384ce0991e2a782a0fffb9dde"}, ] [[package]] @@ -1666,53 +1685,53 @@ files = [ [[package]] name = "opentelemetry-instrumentation-vertexai" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Vertex AI instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_vertexai-0.40.2-py3-none-any.whl", hash = "sha256:a41dfcd897fa8e0a8b15f9ef83e00a89fd28d48c5ffe5104355688575abc6115"}, - {file = "opentelemetry_instrumentation_vertexai-0.40.2.tar.gz", hash = "sha256:298f226ae539807777ebc1e004cad48927870a1d3f1b344bcb4e7cb6d394e8e1"}, + {file = "opentelemetry_instrumentation_vertexai-0.40.4-py3-none-any.whl", hash = "sha256:044e15bc4a747ed1c692c0082ab16129271b0df3d3e0bbbdff58a62ec9f8abd0"}, + {file = "opentelemetry_instrumentation_vertexai-0.40.4.tar.gz", hash = "sha256:e301793c45a20b654677351b881f7cc0fbb80e2be55444e6f569b376de3bf7a9"}, ] [[package]] name = "opentelemetry-instrumentation-watsonx" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry IBM Watsonx Instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_watsonx-0.40.2-py3-none-any.whl", hash = "sha256:259d162992010b9fd68cb2f5742de6fa99fa038f3fdc61af35440d1517a03c96"}, - {file = "opentelemetry_instrumentation_watsonx-0.40.2.tar.gz", hash = "sha256:894200e6f0034a56c659464ee099969a8ddf70d1e424c962156cf653accfac42"}, + {file = "opentelemetry_instrumentation_watsonx-0.40.4-py3-none-any.whl", hash = "sha256:d616939bb7b4827c0fc6885407a7f12e307144a1e030dde238b7fbca87730364"}, + {file = "opentelemetry_instrumentation_watsonx-0.40.4.tar.gz", hash = "sha256:500df39ebcb5fd87183331738989e7e471508b8d5ea557ef3158b66bd2ef426a"}, ] [[package]] name = "opentelemetry-instrumentation-weaviate" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.9" summary = "OpenTelemetry Weaviate instrumentation" groups = ["default"] dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-instrumentation>=0.50b0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "opentelemetry-semantic-conventions>=0.50b0", ] files = [ - {file = "opentelemetry_instrumentation_weaviate-0.40.2-py3-none-any.whl", hash = "sha256:45a1a2f3fdb9e9532cadf809662dffffc05e3bcea44dc5b44af2e9e2c0285958"}, - {file = "opentelemetry_instrumentation_weaviate-0.40.2.tar.gz", hash = "sha256:49dec9fde7974973f7f663a2d554ffb747e62c36acc62224d9ae29c054e3ffd3"}, + {file = "opentelemetry_instrumentation_weaviate-0.40.4-py3-none-any.whl", hash = "sha256:7b59ed15605a143ba0446954339a20de62a8a78c5618a0b5769c434b10a72c6f"}, + {file = "opentelemetry_instrumentation_weaviate-0.40.4.tar.gz", hash = "sha256:4dc3fd7a969da7db807d1d616c5ca9202f4b4e2c05b8acf07f8c0964121ce414"}, ] [[package]] @@ -1762,13 +1781,13 @@ files = [ [[package]] name = "opentelemetry-semantic-conventions-ai" -version = "0.4.5" +version = "0.4.8" requires_python = "<4,>=3.9" summary = "OpenTelemetry Semantic Conventions Extension for Large Language Models" groups = ["default"] files = [ - {file = "opentelemetry_semantic_conventions_ai-0.4.5-py3-none-any.whl", hash = "sha256:91e5c776d45190cebd88ea1cef021e231b5c04c448f5473fdaeb310f14e62b11"}, - {file = "opentelemetry_semantic_conventions_ai-0.4.5.tar.gz", hash = "sha256:15e2540aa807fb6748f1bdc60da933ee2fb2e40f6dec48fde8facfd9e22550d7"}, + {file = "opentelemetry_semantic_conventions_ai-0.4.8-py3-none-any.whl", hash = "sha256:02f7d5876a21e4376d5f4e7cd1157677e3e186f60bb3b6375a1205518a5f0908"}, + {file = "opentelemetry_semantic_conventions_ai-0.4.8.tar.gz", hash = "sha256:b4663403315aa08e83c4651c13dbc1fbe3e518229b4df87ca32e24895dd04007"}, ] [[package]] @@ -1795,13 +1814,13 @@ files = [ [[package]] name = "platformdirs" -version = "4.3.7" +version = "4.3.8" requires_python = ">=3.9" summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." groups = ["dev"] files = [ - {file = "platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94"}, - {file = "platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351"}, + {file = "platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"}, + {file = "platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc"}, ] [[package]] @@ -2049,7 +2068,7 @@ files = [ [[package]] name = "python-engineio" -version = "4.12.0" +version = "4.12.1" requires_python = ">=3.6" summary = "Engine.IO server and client for Python" groups = ["default"] @@ -2057,8 +2076,8 @@ dependencies = [ "simple-websocket>=0.10.0", ] files = [ - {file = "python_engineio-4.12.0-py3-none-any.whl", hash = "sha256:a0c47c129c39777e8ebc6d18011efd50db2144e4e8f08983acae8a3614626535"}, - {file = "python_engineio-4.12.0.tar.gz", hash = "sha256:f42a36a868d7063aa10ddccf6bd6117a169b6bd00d7ca53999772093b62014f9"}, + {file = "python_engineio-4.12.1-py3-none-any.whl", hash = "sha256:9ec20d7900def0886fb9621f86fd1f05140d407f8d4e6a51bef0cfba2d112ff7"}, + {file = "python_engineio-4.12.1.tar.gz", hash = "sha256:9f2b5a645c416208a9c727254316d487252493de52bee0ff70dc29ca9210397e"}, ] [[package]] @@ -2212,13 +2231,13 @@ files = [ [[package]] name = "setuptools" -version = "80.1.0" +version = "80.4.0" requires_python = ">=3.9" summary = "Easily download, build, install, upgrade, and uninstall Python packages" groups = ["default"] files = [ - {file = "setuptools-80.1.0-py3-none-any.whl", hash = "sha256:ea0e7655c05b74819f82e76e11a85b31779fee7c4969e82f72bab0664e8317e4"}, - {file = "setuptools-80.1.0.tar.gz", hash = "sha256:2e308396e1d83de287ada2c2fd6e64286008fe6aca5008e0b6a8cb0e2c86eedd"}, + {file = "setuptools-80.4.0-py3-none-any.whl", hash = "sha256:6cdc8cb9a7d590b237dbe4493614a9b75d0559b888047c1f67d49ba50fc3edb2"}, + {file = "setuptools-80.4.0.tar.gz", hash = "sha256:5a78f61820bc088c8e4add52932ae6b8cf423da2aff268c23f813cfbb13b4006"}, ] [[package]] @@ -2294,7 +2313,7 @@ files = [ [[package]] name = "sse-starlette" -version = "2.3.3" +version = "2.3.4" requires_python = ">=3.9" summary = "SSE plugin for Starlette" groups = ["default"] @@ -2303,8 +2322,8 @@ dependencies = [ "starlette>=0.41.3", ] files = [ - {file = "sse_starlette-2.3.3-py3-none-any.whl", hash = "sha256:8b0a0ced04a329ff7341b01007580dd8cf71331cc21c0ccea677d500618da1e0"}, - {file = "sse_starlette-2.3.3.tar.gz", hash = "sha256:fdd47c254aad42907cfd5c5b83e2282be15be6c51197bf1a9b70b8e990522072"}, + {file = "sse_starlette-2.3.4-py3-none-any.whl", hash = "sha256:b8100694f3f892b133d0f7483acb7aacfcf6ed60f863b31947664b6dc74e529f"}, + {file = "sse_starlette-2.3.4.tar.gz", hash = "sha256:0ffd6bed217cdbb74a84816437c609278003998b4991cd2e6872d0b35130e4d5"}, ] [[package]] @@ -2461,7 +2480,7 @@ files = [ [[package]] name = "traceloop-sdk" -version = "0.40.2" +version = "0.40.4" requires_python = "<4,>=3.10" summary = "Traceloop Software Development Kit (SDK) for Python" groups = ["default"] @@ -2473,47 +2492,47 @@ dependencies = [ "opentelemetry-api<2.0.0,>=1.28.0", "opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.28.0", "opentelemetry-exporter-otlp-proto-http<2.0.0,>=1.28.0", - "opentelemetry-instrumentation-alephalpha==0.40.2", - "opentelemetry-instrumentation-anthropic==0.40.2", - "opentelemetry-instrumentation-bedrock==0.40.2", - "opentelemetry-instrumentation-chromadb==0.40.2", - "opentelemetry-instrumentation-cohere==0.40.2", - "opentelemetry-instrumentation-crewai==0.40.2", - "opentelemetry-instrumentation-google-generativeai==0.40.2", - "opentelemetry-instrumentation-groq==0.40.2", - "opentelemetry-instrumentation-haystack==0.40.2", - "opentelemetry-instrumentation-lancedb==0.40.2", - "opentelemetry-instrumentation-langchain==0.40.2", - "opentelemetry-instrumentation-llamaindex==0.40.2", + "opentelemetry-instrumentation-alephalpha==0.40.4", + "opentelemetry-instrumentation-anthropic==0.40.4", + "opentelemetry-instrumentation-bedrock==0.40.4", + "opentelemetry-instrumentation-chromadb==0.40.4", + "opentelemetry-instrumentation-cohere==0.40.4", + "opentelemetry-instrumentation-crewai==0.40.4", + "opentelemetry-instrumentation-google-generativeai==0.40.4", + "opentelemetry-instrumentation-groq==0.40.4", + "opentelemetry-instrumentation-haystack==0.40.4", + "opentelemetry-instrumentation-lancedb==0.40.4", + "opentelemetry-instrumentation-langchain==0.40.4", + "opentelemetry-instrumentation-llamaindex==0.40.4", "opentelemetry-instrumentation-logging>=0.50b0", - "opentelemetry-instrumentation-marqo==0.40.2", - "opentelemetry-instrumentation-mcp==0.40.2", - "opentelemetry-instrumentation-milvus==0.40.2", - "opentelemetry-instrumentation-mistralai==0.40.2", - "opentelemetry-instrumentation-ollama==0.40.2", - "opentelemetry-instrumentation-openai==0.40.2", - "opentelemetry-instrumentation-pinecone==0.40.2", - "opentelemetry-instrumentation-qdrant==0.40.2", - "opentelemetry-instrumentation-replicate==0.40.2", + "opentelemetry-instrumentation-marqo==0.40.4", + "opentelemetry-instrumentation-mcp==0.40.4", + "opentelemetry-instrumentation-milvus==0.40.4", + "opentelemetry-instrumentation-mistralai==0.40.4", + "opentelemetry-instrumentation-ollama==0.40.4", + "opentelemetry-instrumentation-openai==0.40.4", + "opentelemetry-instrumentation-pinecone==0.40.4", + "opentelemetry-instrumentation-qdrant==0.40.4", + "opentelemetry-instrumentation-replicate==0.40.4", "opentelemetry-instrumentation-requests>=0.50b0", - "opentelemetry-instrumentation-sagemaker==0.40.2", + "opentelemetry-instrumentation-sagemaker==0.40.4", "opentelemetry-instrumentation-sqlalchemy>=0.50b0", "opentelemetry-instrumentation-threading>=0.50b0", - "opentelemetry-instrumentation-together==0.40.2", - "opentelemetry-instrumentation-transformers==0.40.2", + "opentelemetry-instrumentation-together==0.40.4", + "opentelemetry-instrumentation-transformers==0.40.4", "opentelemetry-instrumentation-urllib3>=0.50b0", - "opentelemetry-instrumentation-vertexai==0.40.2", - "opentelemetry-instrumentation-watsonx==0.40.2", - "opentelemetry-instrumentation-weaviate==0.40.2", + "opentelemetry-instrumentation-vertexai==0.40.4", + "opentelemetry-instrumentation-watsonx==0.40.4", + "opentelemetry-instrumentation-weaviate==0.40.4", "opentelemetry-sdk<2.0.0,>=1.28.0", - "opentelemetry-semantic-conventions-ai==0.4.5", + "opentelemetry-semantic-conventions-ai==0.4.8", "posthog<4,>3.0.2", "pydantic>=1", "tenacity<10.0,>=8.2.3", ] files = [ - {file = "traceloop_sdk-0.40.2-py3-none-any.whl", hash = "sha256:07986e9ba3898b5ea41bbe8730150a67a1f7c22f69899288b56cd40dfccf48d1"}, - {file = "traceloop_sdk-0.40.2.tar.gz", hash = "sha256:6490a914cb67f96ed7363735044c26b03608d8b8f6ca852c244e46a48d81993c"}, + {file = "traceloop_sdk-0.40.4-py3-none-any.whl", hash = "sha256:710cabb6c0df7c55bc03f85b4f8ad61060ca2f5c87c1ae24dcd7658e0d63cb53"}, + {file = "traceloop_sdk-0.40.4.tar.gz", hash = "sha256:621b5c345c5cd5c84521e2ff1ec5bf0f09f0b33f4d98a6db42dffac79ab94836"}, ] [[package]] @@ -2602,7 +2621,7 @@ files = [ [[package]] name = "virtualenv" -version = "20.30.0" +version = "20.31.2" requires_python = ">=3.8" summary = "Virtual Python Environment builder" groups = ["dev"] @@ -2613,8 +2632,8 @@ dependencies = [ "platformdirs<5,>=3.9.1", ] files = [ - {file = "virtualenv-20.30.0-py3-none-any.whl", hash = "sha256:e34302959180fca3af42d1800df014b35019490b119eba981af27f2fa486e5d6"}, - {file = "virtualenv-20.30.0.tar.gz", hash = "sha256:800863162bcaa5450a6e4d721049730e7f2dae07720e0902b0e4040bd6f9ada8"}, + {file = "virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11"}, + {file = "virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index a5d7a90..d511ab1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,6 +2,7 @@ name = "rca-accelerator-chatbot" version = "0.1.0" description = "Useful chatbot that can be used to do RCA of CI errors." +readme = "README.md" authors = [] dependencies = [ "openai==1.68.2", @@ -19,6 +20,7 @@ dependencies = [ "beautifulsoup4>=4.13.4", ] requires-python = "==3.12.*" +license = "Apache-2.0" [tool.pdm.dev-dependencies] dev = [ @@ -27,3 +29,19 @@ dev = [ "fastapi==0.115.8", "ruff==0.9.0", ] + +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + +[tool.setuptools] +include-package-data = true + +[tool.setuptools.package-data] +rca_accelerator_chatbot = ["data/**", "data/.chainlit/**"] + +[tool.setuptools.packages.find] +where = ["src"] + +[project.scripts] +rca_accelerator_chatbot = "rca_accelerator_chatbot.main:main" diff --git a/src/rca_accelerator_chatbot/__init__.py b/src/rca_accelerator_chatbot/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/api.py b/src/rca_accelerator_chatbot/api.py similarity index 95% rename from src/api.py rename to src/rca_accelerator_chatbot/api.py index a78fc05..51438c9 100644 --- a/src/api.py +++ b/src/rca_accelerator_chatbot/api.py @@ -4,17 +4,21 @@ import asyncio from typing import Dict, Any, List import re + import httpx from httpx_gssapi import HTTPSPNEGOAuth, OPTIONAL from bs4 import BeautifulSoup from fastapi import Depends, FastAPI, HTTPException from pydantic import BaseModel, Field, HttpUrl -from constants import CI_LOGS_PROFILE, DOCS_PROFILE, RCA_FULL_PROFILE -from chat import handle_user_message_api -from config import config -from settings import ModelSettings -from generation import discover_generative_model_names -from embeddings import discover_embeddings_model_names + +from rca_accelerator_chatbot.constants import ( + CI_LOGS_PROFILE, DOCS_PROFILE, RCA_FULL_PROFILE +) +from rca_accelerator_chatbot.chat import handle_user_message_api +from rca_accelerator_chatbot.config import config +from rca_accelerator_chatbot.settings import ModelSettings +from rca_accelerator_chatbot.generation import discover_generative_model_names +from rca_accelerator_chatbot.embeddings import discover_embeddings_model_names app = FastAPI(title="RCAccelerator API") diff --git a/src/app.py b/src/rca_accelerator_chatbot/app.py similarity index 93% rename from src/app.py rename to src/rca_accelerator_chatbot/app.py index f5de69d..be4c7e3 100644 --- a/src/app.py +++ b/src/rca_accelerator_chatbot/app.py @@ -5,12 +5,12 @@ import chainlit as cl from chainlit.input_widget import Select, Switch, Slider -from config import config -import constants -from chat import handle_user_message -from auth import authentification -from generation import discover_generative_model_names -from embeddings import discover_embeddings_model_names +from rca_accelerator_chatbot.config import config +from rca_accelerator_chatbot import constants +from rca_accelerator_chatbot.chat import handle_user_message +from rca_accelerator_chatbot.auth import authentification +from rca_accelerator_chatbot.generation import discover_generative_model_names +from rca_accelerator_chatbot.embeddings import discover_embeddings_model_names @cl.set_chat_profiles diff --git a/src/auth.py b/src/rca_accelerator_chatbot/auth.py similarity index 98% rename from src/auth.py rename to src/rca_accelerator_chatbot/auth.py index 9fdd85c..f8603c5 100644 --- a/src/auth.py +++ b/src/rca_accelerator_chatbot/auth.py @@ -8,7 +8,7 @@ from bcrypt import checkpw import chainlit as cl -from config import config +from rca_accelerator_chatbot.config import config # pylint: disable=too-few-public-methods diff --git a/src/chat.py b/src/rca_accelerator_chatbot/chat.py similarity index 97% rename from src/chat.py rename to src/rca_accelerator_chatbot/chat.py index 2a3c6e4..ffb06ab 100644 --- a/src/chat.py +++ b/src/rca_accelerator_chatbot/chat.py @@ -5,21 +5,21 @@ import httpx from openai.types.chat import ChatCompletionAssistantMessageParam -import constants -from prompt import build_prompt -from vectordb import vector_store -from generation import get_response -from embeddings import ( +from rca_accelerator_chatbot import constants +from rca_accelerator_chatbot.prompt import build_prompt +from rca_accelerator_chatbot.vectordb import vector_store +from rca_accelerator_chatbot.generation import get_response +from rca_accelerator_chatbot.embeddings import ( get_num_tokens, generate_embedding, get_rerank_score, get_default_embeddings_model_name ) -from settings import ModelSettings, HistorySettings, ThreadMessages -from config import config -from constants import ( +from rca_accelerator_chatbot.settings import ModelSettings, HistorySettings, ThreadMessages +from rca_accelerator_chatbot.config import config +from rca_accelerator_chatbot.constants import ( DOCS_PROFILE, RCA_FULL_PROFILE, TEXT_UPLOAD_TEMPLATE, - ) +) # Create mock message and response objects diff --git a/src/config.py b/src/rca_accelerator_chatbot/config.py similarity index 99% rename from src/config.py rename to src/rca_accelerator_chatbot/config.py index 5845124..537749c 100644 --- a/src/config.py +++ b/src/rca_accelerator_chatbot/config.py @@ -3,7 +3,7 @@ from dataclasses import dataclass import os -from constants import ( +from rca_accelerator_chatbot.constants import ( CI_LOGS_SYSTEM_PROMPT, DOCS_SYSTEM_PROMPT, WELCOME_MESSAGE, diff --git a/src/constants.py b/src/rca_accelerator_chatbot/constants.py similarity index 100% rename from src/constants.py rename to src/rca_accelerator_chatbot/constants.py diff --git a/src/.chainlit/config.toml b/src/rca_accelerator_chatbot/data/.chainlit/config.toml similarity index 100% rename from src/.chainlit/config.toml rename to src/rca_accelerator_chatbot/data/.chainlit/config.toml diff --git a/src/.chainlit/translations/bn.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/bn.json similarity index 100% rename from src/.chainlit/translations/bn.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/bn.json diff --git a/src/.chainlit/translations/en-US.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/en-US.json similarity index 100% rename from src/.chainlit/translations/en-US.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/en-US.json diff --git a/src/.chainlit/translations/gu.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/gu.json similarity index 100% rename from src/.chainlit/translations/gu.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/gu.json diff --git a/src/.chainlit/translations/he-IL.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/he-IL.json similarity index 100% rename from src/.chainlit/translations/he-IL.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/he-IL.json diff --git a/src/.chainlit/translations/hi.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/hi.json similarity index 100% rename from src/.chainlit/translations/hi.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/hi.json diff --git a/src/.chainlit/translations/ja.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/ja.json similarity index 100% rename from src/.chainlit/translations/ja.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/ja.json diff --git a/src/.chainlit/translations/kn.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/kn.json similarity index 100% rename from src/.chainlit/translations/kn.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/kn.json diff --git a/src/.chainlit/translations/ml.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/ml.json similarity index 100% rename from src/.chainlit/translations/ml.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/ml.json diff --git a/src/.chainlit/translations/mr.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/mr.json similarity index 100% rename from src/.chainlit/translations/mr.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/mr.json diff --git a/src/.chainlit/translations/nl.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/nl.json similarity index 100% rename from src/.chainlit/translations/nl.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/nl.json diff --git a/src/.chainlit/translations/ta.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/ta.json similarity index 100% rename from src/.chainlit/translations/ta.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/ta.json diff --git a/src/.chainlit/translations/te.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/te.json similarity index 100% rename from src/.chainlit/translations/te.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/te.json diff --git a/src/.chainlit/translations/zh-CN.json b/src/rca_accelerator_chatbot/data/.chainlit/translations/zh-CN.json similarity index 100% rename from src/.chainlit/translations/zh-CN.json rename to src/rca_accelerator_chatbot/data/.chainlit/translations/zh-CN.json diff --git a/src/chainlit.md b/src/rca_accelerator_chatbot/data/chainlit.md similarity index 100% rename from src/chainlit.md rename to src/rca_accelerator_chatbot/data/chainlit.md diff --git a/src/public/avatars/RCAccelerator.svg b/src/rca_accelerator_chatbot/data/public/avatars/RCAccelerator.svg similarity index 100% rename from src/public/avatars/RCAccelerator.svg rename to src/rca_accelerator_chatbot/data/public/avatars/RCAccelerator.svg diff --git a/src/public/book.png b/src/rca_accelerator_chatbot/data/public/book.png similarity index 100% rename from src/public/book.png rename to src/rca_accelerator_chatbot/data/public/book.png diff --git a/src/public/books-icon.png b/src/rca_accelerator_chatbot/data/public/books-icon.png similarity index 100% rename from src/public/books-icon.png rename to src/rca_accelerator_chatbot/data/public/books-icon.png diff --git a/src/public/ci-logs.png b/src/rca_accelerator_chatbot/data/public/ci-logs.png similarity index 100% rename from src/public/ci-logs.png rename to src/rca_accelerator_chatbot/data/public/ci-logs.png diff --git a/src/public/debug.svg b/src/rca_accelerator_chatbot/data/public/debug.svg similarity index 100% rename from src/public/debug.svg rename to src/rca_accelerator_chatbot/data/public/debug.svg diff --git a/src/public/favicon.png b/src/rca_accelerator_chatbot/data/public/favicon.png similarity index 100% rename from src/public/favicon.png rename to src/rca_accelerator_chatbot/data/public/favicon.png diff --git a/src/public/logo_dark.png b/src/rca_accelerator_chatbot/data/public/logo_dark.png similarity index 100% rename from src/public/logo_dark.png rename to src/rca_accelerator_chatbot/data/public/logo_dark.png diff --git a/src/public/logo_light.png b/src/rca_accelerator_chatbot/data/public/logo_light.png similarity index 100% rename from src/public/logo_light.png rename to src/rca_accelerator_chatbot/data/public/logo_light.png diff --git a/src/embeddings.py b/src/rca_accelerator_chatbot/embeddings.py similarity index 97% rename from src/embeddings.py rename to src/rca_accelerator_chatbot/embeddings.py index e2f76aa..848b69e 100644 --- a/src/embeddings.py +++ b/src/rca_accelerator_chatbot/embeddings.py @@ -7,8 +7,8 @@ import httpx from openai import AsyncOpenAI, OpenAIError -from config import config -from generation import extract_model_ids +from rca_accelerator_chatbot.config import config +from rca_accelerator_chatbot.generation import extract_model_ids # Initialize embedding LLM client emb_llm = AsyncOpenAI( diff --git a/src/generation.py b/src/rca_accelerator_chatbot/generation.py similarity index 95% rename from src/generation.py rename to src/rca_accelerator_chatbot/generation.py index f4b7865..ce13874 100644 --- a/src/generation.py +++ b/src/rca_accelerator_chatbot/generation.py @@ -3,9 +3,11 @@ import chainlit as cl from openai import AsyncOpenAI, OpenAIError -from settings import ModelSettings, ThreadMessages -from config import config -from constants import DOCS_PROFILE, RCA_FULL_PROFILE, CI_LOGS_PROFILE +from rca_accelerator_chatbot.settings import ModelSettings, ThreadMessages +from rca_accelerator_chatbot.config import config +from rca_accelerator_chatbot.constants import ( + DOCS_PROFILE, RCA_FULL_PROFILE, CI_LOGS_PROFILE +) # Initialize generative LLM client gen_llm = AsyncOpenAI( diff --git a/src/rca_accelerator_chatbot/main.py b/src/rca_accelerator_chatbot/main.py new file mode 100644 index 0000000..008c456 --- /dev/null +++ b/src/rca_accelerator_chatbot/main.py @@ -0,0 +1,13 @@ +"""Main package entrypoint""" +from pathlib import Path +import sys +import subprocess + +def main(): + """Main entrypoint for the chatbot""" + package_dir = Path(__file__).parent + data_dir = package_dir.joinpath("data").as_posix() + app_path = package_dir.joinpath("app.py").as_posix() + + subprocess.run(["chainlit", "run", app_path, *sys.argv[1:]], + cwd=data_dir, check=True) diff --git a/src/prompt.py b/src/rca_accelerator_chatbot/prompt.py similarity index 95% rename from src/prompt.py rename to src/rca_accelerator_chatbot/prompt.py index 1cdc4b1..d1d4f45 100644 --- a/src/prompt.py +++ b/src/rca_accelerator_chatbot/prompt.py @@ -4,12 +4,12 @@ ChatCompletionSystemMessageParam, ) -from config import config -from constants import ( +from rca_accelerator_chatbot.config import config +from rca_accelerator_chatbot.constants import ( NO_RESULTS_FOUND, SEARCH_RESULTS_TEMPLATE, SEARCH_RESULT_TRUNCATED_CHUNK ) -from settings import HistorySettings, ThreadMessages -from generation import get_system_prompt_per_profile +from rca_accelerator_chatbot.settings import HistorySettings, ThreadMessages +from rca_accelerator_chatbot.generation import get_system_prompt_per_profile def search_result_to_str(search_result: dict) -> str: diff --git a/src/settings.py b/src/rca_accelerator_chatbot/settings.py similarity index 100% rename from src/settings.py rename to src/rca_accelerator_chatbot/settings.py diff --git a/src/vectordb.py b/src/rca_accelerator_chatbot/vectordb.py similarity index 98% rename from src/vectordb.py rename to src/rca_accelerator_chatbot/vectordb.py index 07a3a98..353c48a 100644 --- a/src/vectordb.py +++ b/src/rca_accelerator_chatbot/vectordb.py @@ -5,7 +5,7 @@ from qdrant_client import QdrantClient from qdrant_client.http.exceptions import ApiException -from config import config +from rca_accelerator_chatbot.config import config class VectorStore: