Spaces:
Runtime error
Runtime error
abtsousa
commited on
Commit
·
2f66bef
1
Parent(s):
823995c
Refactor agent configuration and model integration
Browse files- Updated API base URL and model name in config.py to use OpenAI's GPT-5.
- Added environment variable for OpenAI API key.
- Removed unused rate limiter and integrated backoff for handling rate limit errors in nodes.py.
- Updated model instantiation to use ChatOpenAI with new parameters.
- Added dotenv support for loading environment variables.
- Updated dependencies in pyproject.toml to include backoff library.
- Adjusted lock file to reflect changes in numpy version and added backoff package.
- agent/config.py +8 -3
- agent/nodes.py +28 -25
- pyproject.toml +1 -0
- uv.lock +35 -48
agent/config.py
CHANGED
|
@@ -1,9 +1,14 @@
|
|
| 1 |
from typing import Literal
|
| 2 |
|
| 3 |
-
API_BASE_URL = "https://openrouter.ai/api/v1"
|
| 4 |
-
MODEL_NAME = "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
MODEL_TEMPERATURE = 0.7
|
| 6 |
-
API_KEY_ENV_VAR = "OPENROUTER_API_KEY"
|
| 7 |
|
| 8 |
def create_agent_config(app_name: str, thread_id: int) -> dict:
|
| 9 |
"""
|
|
|
|
| 1 |
from typing import Literal
|
| 2 |
|
| 3 |
+
#API_BASE_URL = "https://openrouter.ai/api/v1"
|
| 4 |
+
#MODEL_NAME = "openai/gpt-oss-120b:floor"
|
| 5 |
+
#API_KEY_ENV_VAR = "OPENROUTER_API_KEY"
|
| 6 |
+
|
| 7 |
+
API_BASE_URL = "https://api.openai.com/v1/"
|
| 8 |
+
MODEL_NAME = "gpt-5"
|
| 9 |
+
API_KEY_ENV_VAR = "OPENAI_API_KEY_ORACLEBOT"
|
| 10 |
+
|
| 11 |
MODEL_TEMPERATURE = 0.7
|
|
|
|
| 12 |
|
| 13 |
def create_agent_config(app_name: str, thread_id: int) -> dict:
|
| 14 |
"""
|
agent/nodes.py
CHANGED
|
@@ -14,21 +14,19 @@ from agent.prompts import get_system_prompt
|
|
| 14 |
from agent.state import State
|
| 15 |
from langchain_core.messages import SystemMessage, HumanMessage
|
| 16 |
from langgraph.prebuilt import ToolNode
|
| 17 |
-
|
|
|
|
|
|
|
| 18 |
|
| 19 |
from agent.config import API_BASE_URL, MODEL_NAME, API_KEY_ENV_VAR, MODEL_TEMPERATURE
|
| 20 |
|
|
|
|
|
|
|
|
|
|
| 21 |
if API_KEY_ENV_VAR not in os.environ:
|
| 22 |
print(f"Please set the environment variable {API_KEY_ENV_VAR}.")
|
| 23 |
os.environ[API_KEY_ENV_VAR] = getpass(f"Enter your {API_KEY_ENV_VAR} (will not be echoed): ")
|
| 24 |
|
| 25 |
-
# Global singleton rate limiter
|
| 26 |
-
_rate_limiter = InMemoryRateLimiter(
|
| 27 |
-
requests_per_second=1,
|
| 28 |
-
check_every_n_seconds=0.1, # Wake up every 100 ms to check whether allowed to make a request,
|
| 29 |
-
max_bucket_size=5, # Controls the maximum burst size.
|
| 30 |
-
)
|
| 31 |
-
|
| 32 |
### Helper functions ###
|
| 33 |
|
| 34 |
def _get_model() -> BaseChatModel:
|
|
@@ -39,27 +37,26 @@ def _get_model() -> BaseChatModel:
|
|
| 39 |
# model="gemini-2.5-pro"
|
| 40 |
# )
|
| 41 |
|
| 42 |
-
|
| 43 |
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
# temperature=MODEL_TEMPERATURE if MODEL_TEMPERATURE else 0.0,
|
| 49 |
-
# rate_limiter=_rate_limiter,
|
| 50 |
-
# metadata={
|
| 51 |
-
# "reasoning": {
|
| 52 |
-
# "effort": "high" # Use high reasoning effort
|
| 53 |
-
# }
|
| 54 |
-
# }
|
| 55 |
-
# )
|
| 56 |
-
|
| 57 |
-
return ChatDeepSeek(
|
| 58 |
-
model="deepseek-chat",
|
| 59 |
temperature=MODEL_TEMPERATURE if MODEL_TEMPERATURE else 0.0,
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
)
|
| 62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
def _get_tools() -> list[BaseTool]:
|
| 64 |
from tools import get_all_tools
|
| 65 |
return get_all_tools()
|
|
@@ -69,6 +66,12 @@ def _bind_model(model: BaseChatModel) -> Runnable[LanguageModelInput, BaseMessag
|
|
| 69 |
|
| 70 |
### NODES ###
|
| 71 |
# Call model node
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
def call_model(state: State, config) -> dict[str, list[BaseMessage]]:
|
| 73 |
messages = state["messages"]
|
| 74 |
app_name = config.get('configurable', {}).get("app_name", "OracleBot")
|
|
|
|
| 14 |
from agent.state import State
|
| 15 |
from langchain_core.messages import SystemMessage, HumanMessage
|
| 16 |
from langgraph.prebuilt import ToolNode
|
| 17 |
+
import backoff
|
| 18 |
+
import openai
|
| 19 |
+
import re
|
| 20 |
|
| 21 |
from agent.config import API_BASE_URL, MODEL_NAME, API_KEY_ENV_VAR, MODEL_TEMPERATURE
|
| 22 |
|
| 23 |
+
from dotenv import load_dotenv
|
| 24 |
+
load_dotenv()
|
| 25 |
+
|
| 26 |
if API_KEY_ENV_VAR not in os.environ:
|
| 27 |
print(f"Please set the environment variable {API_KEY_ENV_VAR}.")
|
| 28 |
os.environ[API_KEY_ENV_VAR] = getpass(f"Enter your {API_KEY_ENV_VAR} (will not be echoed): ")
|
| 29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
### Helper functions ###
|
| 31 |
|
| 32 |
def _get_model() -> BaseChatModel:
|
|
|
|
| 37 |
# model="gemini-2.5-pro"
|
| 38 |
# )
|
| 39 |
|
| 40 |
+
api_key = os.getenv(API_KEY_ENV_VAR)
|
| 41 |
|
| 42 |
+
return ChatOpenAI(
|
| 43 |
+
api_key=SecretStr(api_key) if api_key else None,
|
| 44 |
+
base_url=API_BASE_URL,
|
| 45 |
+
model=MODEL_NAME,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
temperature=MODEL_TEMPERATURE if MODEL_TEMPERATURE else 0.0,
|
| 47 |
+
metadata={
|
| 48 |
+
"reasoning": {
|
| 49 |
+
"effort": "high" # Use high reasoning effort
|
| 50 |
+
}
|
| 51 |
+
}
|
| 52 |
)
|
| 53 |
|
| 54 |
+
# return ChatDeepSeek(
|
| 55 |
+
# model="deepseek-chat",
|
| 56 |
+
# temperature=MODEL_TEMPERATURE if MODEL_TEMPERATURE else 0.0,
|
| 57 |
+
# max_retries=2
|
| 58 |
+
# )
|
| 59 |
+
|
| 60 |
def _get_tools() -> list[BaseTool]:
|
| 61 |
from tools import get_all_tools
|
| 62 |
return get_all_tools()
|
|
|
|
| 66 |
|
| 67 |
### NODES ###
|
| 68 |
# Call model node
|
| 69 |
+
@backoff.on_exception(
|
| 70 |
+
backoff.runtime,
|
| 71 |
+
openai.RateLimitError,
|
| 72 |
+
value=lambda e: float(match.group(1)) if (match := re.search(r'try again in (\d+(?:\.\d+)?)s', str(e))) else 10.0,
|
| 73 |
+
max_tries=20,
|
| 74 |
+
)
|
| 75 |
def call_model(state: State, config) -> dict[str, list[BaseMessage]]:
|
| 76 |
messages = state["messages"]
|
| 77 |
app_name = config.get('configurable', {}).get("app_name", "OracleBot")
|
pyproject.toml
CHANGED
|
@@ -6,6 +6,7 @@ readme = "README.md"
|
|
| 6 |
requires-python = ">=3.13"
|
| 7 |
dependencies = [
|
| 8 |
"arize-phoenix-otel>=0.12.0",
|
|
|
|
| 9 |
"bs4>=0.0.2",
|
| 10 |
"gradio[oauth]>=5.42.0",
|
| 11 |
"grandalf>=0.8",
|
|
|
|
| 6 |
requires-python = ">=3.13"
|
| 7 |
dependencies = [
|
| 8 |
"arize-phoenix-otel>=0.12.0",
|
| 9 |
+
"backoff>=2.2.1",
|
| 10 |
"bs4>=0.0.2",
|
| 11 |
"gradio[oauth]>=5.42.0",
|
| 12 |
"grandalf>=0.8",
|
uv.lock
CHANGED
|
@@ -202,6 +202,15 @@ wheels = [
|
|
| 202 |
{ url = "https://files.pythonhosted.org/packages/f9/58/cc6a08053f822f98f334d38a27687b69c6655fb05cd74a7a5e70a2aeed95/authlib-1.6.1-py2.py3-none-any.whl", hash = "sha256:e9d2031c34c6309373ab845afc24168fe9e93dc52d252631f52642f21f5ed06e", size = 239299, upload-time = "2025-07-20T07:38:39.259Z" },
|
| 203 |
]
|
| 204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 205 |
[[package]]
|
| 206 |
name = "beautifulsoup4"
|
| 207 |
version = "4.13.4"
|
|
@@ -1571,54 +1580,30 @@ wheels = [
|
|
| 1571 |
|
| 1572 |
[[package]]
|
| 1573 |
name = "numpy"
|
| 1574 |
-
version = "2.
|
| 1575 |
-
source = { registry = "https://pypi.org/simple" }
|
| 1576 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
| 1577 |
-
wheels = [
|
| 1578 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1579 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1580 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1581 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1582 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1583 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1584 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1585 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1586 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1587 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1588 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1589 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1590 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1591 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1592 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1593 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1594 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1595 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1596 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1597 |
-
{ url = "https://files.pythonhosted.org/packages/
|
| 1598 |
-
{ url = "https://files.pythonhosted.org/packages/0b/ba/0937d66d05204d8f28630c9c60bc3eda68824abde4cf756c4d6aad03b0c6/numpy-2.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450", size = 12927049, upload-time = "2025-07-24T20:48:56.24Z" },
|
| 1599 |
-
{ url = "https://files.pythonhosted.org/packages/e9/ed/13542dd59c104d5e654dfa2ac282c199ba64846a74c2c4bcdbc3a0f75df1/numpy-2.3.2-cp313-cp313t-win_arm64.whl", hash = "sha256:72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a", size = 10262935, upload-time = "2025-07-24T20:49:13.136Z" },
|
| 1600 |
-
{ url = "https://files.pythonhosted.org/packages/c9/7c/7659048aaf498f7611b783e000c7268fcc4dcf0ce21cd10aad7b2e8f9591/numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a", size = 20950906, upload-time = "2025-07-24T20:50:30.346Z" },
|
| 1601 |
-
{ url = "https://files.pythonhosted.org/packages/80/db/984bea9d4ddf7112a04cfdfb22b1050af5757864cfffe8e09e44b7f11a10/numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b", size = 14185607, upload-time = "2025-07-24T20:50:51.923Z" },
|
| 1602 |
-
{ url = "https://files.pythonhosted.org/packages/e4/76/b3d6f414f4eca568f469ac112a3b510938d892bc5a6c190cb883af080b77/numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125", size = 5114110, upload-time = "2025-07-24T20:51:01.041Z" },
|
| 1603 |
-
{ url = "https://files.pythonhosted.org/packages/9e/d2/6f5e6826abd6bca52392ed88fe44a4b52aacb60567ac3bc86c67834c3a56/numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19", size = 6642050, upload-time = "2025-07-24T20:51:11.64Z" },
|
| 1604 |
-
{ url = "https://files.pythonhosted.org/packages/c4/43/f12b2ade99199e39c73ad182f103f9d9791f48d885c600c8e05927865baf/numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f", size = 14296292, upload-time = "2025-07-24T20:51:33.488Z" },
|
| 1605 |
-
{ url = "https://files.pythonhosted.org/packages/5d/f9/77c07d94bf110a916b17210fac38680ed8734c236bfed9982fd8524a7b47/numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5", size = 16638913, upload-time = "2025-07-24T20:51:58.517Z" },
|
| 1606 |
-
{ url = "https://files.pythonhosted.org/packages/9b/d1/9d9f2c8ea399cc05cfff8a7437453bd4e7d894373a93cdc46361bbb49a7d/numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58", size = 16071180, upload-time = "2025-07-24T20:52:22.827Z" },
|
| 1607 |
-
{ url = "https://files.pythonhosted.org/packages/4c/41/82e2c68aff2a0c9bf315e47d61951099fed65d8cb2c8d9dc388cb87e947e/numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0", size = 18576809, upload-time = "2025-07-24T20:52:51.015Z" },
|
| 1608 |
-
{ url = "https://files.pythonhosted.org/packages/14/14/4b4fd3efb0837ed252d0f583c5c35a75121038a8c4e065f2c259be06d2d8/numpy-2.3.2-cp314-cp314-win32.whl", hash = "sha256:7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2", size = 6366410, upload-time = "2025-07-24T20:56:44.949Z" },
|
| 1609 |
-
{ url = "https://files.pythonhosted.org/packages/11/9e/b4c24a6b8467b61aced5c8dc7dcfce23621baa2e17f661edb2444a418040/numpy-2.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b", size = 12918821, upload-time = "2025-07-24T20:57:06.479Z" },
|
| 1610 |
-
{ url = "https://files.pythonhosted.org/packages/0e/0f/0dc44007c70b1007c1cef86b06986a3812dd7106d8f946c09cfa75782556/numpy-2.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910", size = 10477303, upload-time = "2025-07-24T20:57:22.879Z" },
|
| 1611 |
-
{ url = "https://files.pythonhosted.org/packages/8b/3e/075752b79140b78ddfc9c0a1634d234cfdbc6f9bbbfa6b7504e445ad7d19/numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e", size = 21047524, upload-time = "2025-07-24T20:53:22.086Z" },
|
| 1612 |
-
{ url = "https://files.pythonhosted.org/packages/fe/6d/60e8247564a72426570d0e0ea1151b95ce5bd2f1597bb878a18d32aec855/numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45", size = 14300519, upload-time = "2025-07-24T20:53:44.053Z" },
|
| 1613 |
-
{ url = "https://files.pythonhosted.org/packages/4d/73/d8326c442cd428d47a067070c3ac6cc3b651a6e53613a1668342a12d4479/numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b", size = 5228972, upload-time = "2025-07-24T20:53:53.81Z" },
|
| 1614 |
-
{ url = "https://files.pythonhosted.org/packages/34/2e/e71b2d6dad075271e7079db776196829019b90ce3ece5c69639e4f6fdc44/numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2", size = 6737439, upload-time = "2025-07-24T20:54:04.742Z" },
|
| 1615 |
-
{ url = "https://files.pythonhosted.org/packages/15/b0/d004bcd56c2c5e0500ffc65385eb6d569ffd3363cb5e593ae742749b2daa/numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0", size = 14352479, upload-time = "2025-07-24T20:54:25.819Z" },
|
| 1616 |
-
{ url = "https://files.pythonhosted.org/packages/11/e3/285142fcff8721e0c99b51686426165059874c150ea9ab898e12a492e291/numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0", size = 16702805, upload-time = "2025-07-24T20:54:50.814Z" },
|
| 1617 |
-
{ url = "https://files.pythonhosted.org/packages/33/c3/33b56b0e47e604af2c7cd065edca892d180f5899599b76830652875249a3/numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2", size = 16133830, upload-time = "2025-07-24T20:55:17.306Z" },
|
| 1618 |
-
{ url = "https://files.pythonhosted.org/packages/6e/ae/7b1476a1f4d6a48bc669b8deb09939c56dd2a439db1ab03017844374fb67/numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf", size = 18652665, upload-time = "2025-07-24T20:55:46.665Z" },
|
| 1619 |
-
{ url = "https://files.pythonhosted.org/packages/14/ba/5b5c9978c4bb161034148ade2de9db44ec316fab89ce8c400db0e0c81f86/numpy-2.3.2-cp314-cp314t-win32.whl", hash = "sha256:6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1", size = 6514777, upload-time = "2025-07-24T20:55:57.66Z" },
|
| 1620 |
-
{ url = "https://files.pythonhosted.org/packages/eb/46/3dbaf0ae7c17cdc46b9f662c56da2054887b8d9e737c1476f335c83d33db/numpy-2.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b", size = 13111856, upload-time = "2025-07-24T20:56:17.318Z" },
|
| 1621 |
-
{ url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226, upload-time = "2025-07-24T20:56:34.509Z" },
|
| 1622 |
]
|
| 1623 |
|
| 1624 |
[[package]]
|
|
@@ -1814,6 +1799,7 @@ version = "0.1.0"
|
|
| 1814 |
source = { virtual = "." }
|
| 1815 |
dependencies = [
|
| 1816 |
{ name = "arize-phoenix-otel" },
|
|
|
|
| 1817 |
{ name = "bs4" },
|
| 1818 |
{ name = "gradio", extra = ["oauth"] },
|
| 1819 |
{ name = "grandalf" },
|
|
@@ -1840,6 +1826,7 @@ dependencies = [
|
|
| 1840 |
[package.metadata]
|
| 1841 |
requires-dist = [
|
| 1842 |
{ name = "arize-phoenix-otel", specifier = ">=0.12.0" },
|
|
|
|
| 1843 |
{ name = "bs4", specifier = ">=0.0.2" },
|
| 1844 |
{ name = "gradio", extras = ["oauth"], specifier = ">=5.42.0" },
|
| 1845 |
{ name = "grandalf", specifier = ">=0.8" },
|
|
|
|
| 202 |
{ url = "https://files.pythonhosted.org/packages/f9/58/cc6a08053f822f98f334d38a27687b69c6655fb05cd74a7a5e70a2aeed95/authlib-1.6.1-py2.py3-none-any.whl", hash = "sha256:e9d2031c34c6309373ab845afc24168fe9e93dc52d252631f52642f21f5ed06e", size = 239299, upload-time = "2025-07-20T07:38:39.259Z" },
|
| 203 |
]
|
| 204 |
|
| 205 |
+
[[package]]
|
| 206 |
+
name = "backoff"
|
| 207 |
+
version = "2.2.1"
|
| 208 |
+
source = { registry = "https://pypi.org/simple" }
|
| 209 |
+
sdist = { url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba", size = 17001, upload-time = "2022-10-05T19:19:32.061Z" }
|
| 210 |
+
wheels = [
|
| 211 |
+
{ url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148, upload-time = "2022-10-05T19:19:30.546Z" },
|
| 212 |
+
]
|
| 213 |
+
|
| 214 |
[[package]]
|
| 215 |
name = "beautifulsoup4"
|
| 216 |
version = "4.13.4"
|
|
|
|
| 1580 |
|
| 1581 |
[[package]]
|
| 1582 |
name = "numpy"
|
| 1583 |
+
version = "2.2.6"
|
| 1584 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1585 |
+
sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" }
|
| 1586 |
+
wheels = [
|
| 1587 |
+
{ url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" },
|
| 1588 |
+
{ url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" },
|
| 1589 |
+
{ url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" },
|
| 1590 |
+
{ url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" },
|
| 1591 |
+
{ url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" },
|
| 1592 |
+
{ url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" },
|
| 1593 |
+
{ url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" },
|
| 1594 |
+
{ url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" },
|
| 1595 |
+
{ url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" },
|
| 1596 |
+
{ url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" },
|
| 1597 |
+
{ url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" },
|
| 1598 |
+
{ url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" },
|
| 1599 |
+
{ url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" },
|
| 1600 |
+
{ url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" },
|
| 1601 |
+
{ url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" },
|
| 1602 |
+
{ url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" },
|
| 1603 |
+
{ url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" },
|
| 1604 |
+
{ url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" },
|
| 1605 |
+
{ url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" },
|
| 1606 |
+
{ url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1607 |
]
|
| 1608 |
|
| 1609 |
[[package]]
|
|
|
|
| 1799 |
source = { virtual = "." }
|
| 1800 |
dependencies = [
|
| 1801 |
{ name = "arize-phoenix-otel" },
|
| 1802 |
+
{ name = "backoff" },
|
| 1803 |
{ name = "bs4" },
|
| 1804 |
{ name = "gradio", extra = ["oauth"] },
|
| 1805 |
{ name = "grandalf" },
|
|
|
|
| 1826 |
[package.metadata]
|
| 1827 |
requires-dist = [
|
| 1828 |
{ name = "arize-phoenix-otel", specifier = ">=0.12.0" },
|
| 1829 |
+
{ name = "backoff", specifier = ">=2.2.1" },
|
| 1830 |
{ name = "bs4", specifier = ">=0.0.2" },
|
| 1831 |
{ name = "gradio", extras = ["oauth"], specifier = ">=5.42.0" },
|
| 1832 |
{ name = "grandalf", specifier = ">=0.8" },
|