14 socials integration #34

Merged
Nunzi99 merged 12 commits from 14-socials-integration into main 2025-10-20 16:56:11 +02:00
5 changed files with 105 additions and 4 deletions
Showing only changes of commit e2125d5815 - Show all commits

View File

@@ -5,6 +5,8 @@
# https://makersuite.google.com/app/apikey # https://makersuite.google.com/app/apikey
Berack96 commented 2025-10-19 16:11:21 +02:00 (Migrated from github.com)
Review

Vanno bene le chiavi di provider diversi, ma non è da fare in questa PR.
Fai un branch nuovo in cui ci sono queste modifiche

Vanno bene le chiavi di provider diversi, ma non è da fare in questa PR. Fai un branch nuovo in cui ci sono queste modifiche
GOOGLE_API_KEY= GOOGLE_API_KEY=
OPENAI_API_KEY=
DEEPSEEK_API_KEY=
############################################################################### ###############################################################################
# Configurazioni per gli agenti di mercato # Configurazioni per gli agenti di mercato
############################################################################### ###############################################################################

View File

@@ -22,6 +22,9 @@ dependencies = [
# Modelli supportati e installati (aggiungere qui sotto quelli che si vogliono usare) # Modelli supportati e installati (aggiungere qui sotto quelli che si vogliono usare)
"google-genai", "google-genai",
"ollama", "ollama",
"openai",
"deepseek",
# API di exchange di criptovalute # API di exchange di criptovalute
"coinbase-advanced-py", "coinbase-advanced-py",

View File

@@ -51,6 +51,7 @@ if __name__ == "__main__":
type="index", type="index",
label="Modello da usare" label="Modello da usare"
) )
# Per qualche motivo deep seek non viene mostrato ma se si fa print(provider.choices) sembra esserci
provider.change(fn=chat.choose_provider, inputs=provider, outputs=None) provider.change(fn=chat.choose_provider, inputs=provider, outputs=None)
style = gr.Dropdown( style = gr.Dropdown(

View File

@@ -5,6 +5,8 @@ from agno.agent import Agent
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
from agno.models.base import Model from agno.models.base import Model
from agno.models.google import Gemini from agno.models.google import Gemini
from agno.models.ollama import Ollama from agno.models.ollama import Ollama
from agno.models.openai import OpenAIChat
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
from agno.models.deepseek import DeepSeek
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
from agno.utils.log import log_warning from agno.utils.log import log_warning
from agno.tools import Toolkit from agno.tools import Toolkit
from pydantic import BaseModel from pydantic import BaseModel
@@ -19,6 +21,8 @@ class AppModels(Enum):
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
""" """
GEMINI = "gemini-2.0-flash" # API online GEMINI = "gemini-2.0-flash" # API online
GEMINI_PRO = "gemini-2.0-pro" # API online, più costoso ma migliore GEMINI_PRO = "gemini-2.0-pro" # API online, più costoso ma migliore
GPT_4 = "gpt-4"
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
DEEPSEEK = "deepseek-chat"
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
OLLAMA_GPT = "gpt-oss:latest" # + good - slow (13b) OLLAMA_GPT = "gpt-oss:latest" # + good - slow (13b)
OLLAMA_QWEN = "qwen3:latest" # + good + fast (8b) OLLAMA_QWEN = "qwen3:latest" # + good + fast (8b)
OLLAMA_QWEN_4B = "qwen3:4b" # + fast + decent (4b) OLLAMA_QWEN_4B = "qwen3:4b" # + fast + decent (4b)
@@ -49,10 +53,20 @@ class AppModels(Enum):
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Controlla quali provider di modelli LLM online hanno le loro API keys disponibili Controlla quali provider di modelli LLM online hanno le loro API keys disponibili
come variabili d'ambiente e ritorna una lista di provider disponibili. come variabili d'ambiente e ritorna una lista di provider disponibili.
""" """
availables = []
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
if not os.getenv("GOOGLE_API_KEY"): if not os.getenv("GOOGLE_API_KEY"):
log_warning("No GOOGLE_API_KEY set in environment variables.") log_warning("No GOOGLE_API_KEY set in environment variables.")
return [] else:
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
availables = [AppModels.GEMINI, AppModels.GEMINI_PRO] availables.append(AppModels.GEMINI)
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
availables.append(AppModels.GEMINI_PRO)
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
if not os.getenv("OPENAI_API_KEY"):
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
log_warning("No OPENAI_API_KEY set in environment variables.")
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
else:
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
availables.append(AppModels.GPT_4)
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
if not os.getenv("DEEPSEEK_API_KEY"):
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
log_warning("No DEEPSEEK_API_KEY set in environment variables.")
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
else:
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
availables.append(AppModels.DEEPSEEK)
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
return availables return availables
@staticmethod @staticmethod
@@ -63,7 +77,9 @@ class AppModels(Enum):
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
d'ambiente e ritorna una lista di provider disponibili. d'ambiente e ritorna una lista di provider disponibili.
L'ordine di preferenza è: L'ordine di preferenza è:
1. Gemini (Google) 1. Gemini (Google)
2. Ollama (locale) 2. OpenAI
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
3. DeepSeek
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
4. Ollama (locale)
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
""" """
availables = [ availables = [
*AppModels.availables_online(), *AppModels.availables_online(),
@@ -87,7 +103,10 @@ class AppModels(Enum):
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
return Gemini(name, instructions=[instructions]) return Gemini(name, instructions=[instructions])
elif self in {model for model in AppModels if model.name.startswith("OLLAMA")}: elif self in {model for model in AppModels if model.name.startswith("OLLAMA")}:
return Ollama(name, instructions=[instructions]) return Ollama(name, instructions=[instructions])
elif self in {model for model in AppModels if model.name.startswith("GPT")}:
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
return OpenAIChat(name, instructions=[instructions])
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
elif self in {model for model in AppModels if model.name.startswith("DEEPSEEK")}:
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
return DeepSeek(name, instructions=[instructions])
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
raise ValueError(f"Modello non supportato: {self}") raise ValueError(f"Modello non supportato: {self}")
def get_agent(self, instructions: str, name: str = "", output: BaseModel | None = None, tools: list[Toolkit] = []) -> Agent: def get_agent(self, instructions: str, name: str = "", output: BaseModel | None = None, tools: list[Toolkit] = []) -> Agent:
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose
Berack96 commented 2025-10-19 16:10:14 +02:00 (Migrated from github.com)
Review

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

Modifica non necessaria, dato che il main ha già fatto degli aggiornamenti su questa sezione e c'è già una altra Issue marcata per queste cose

76
uv.lock generated
View File

@@ -377,6 +377,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/40/cd/ef820662e0d87f46b829bba7e2324c7978e0153692bbd2f08f7746049708/ddgs-9.6.0-py3-none-any.whl", hash = "sha256:24120f1b672fd3a28309db029e7038eb3054381730aea7a08d51bb909dd55520", size = 41558, upload-time = "2025-09-17T13:27:08.99Z" }, { url = "https://files.pythonhosted.org/packages/40/cd/ef820662e0d87f46b829bba7e2324c7978e0153692bbd2f08f7746049708/ddgs-9.6.0-py3-none-any.whl", hash = "sha256:24120f1b672fd3a28309db029e7038eb3054381730aea7a08d51bb909dd55520", size = 41558, upload-time = "2025-09-17T13:27:08.99Z" },
] ]
[[package]]
name = "distro"
version = "1.9.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" },
]
[[package]] [[package]]
name = "dnspython" name = "dnspython"
version = "2.8.0" version = "2.8.0"
@@ -386,6 +395,20 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" }, { url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" },
] ]
[[package]]
name = "docker"
version = "7.1.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pywin32", marker = "sys_platform == 'win32'" },
{ name = "requests" },
{ name = "urllib3" },
]
sdist = { url = "https://files.pythonhosted.org/packages/91/9b/4a2ea29aeba62471211598dac5d96825bb49348fa07e906ea930394a83ce/docker-7.1.0.tar.gz", hash = "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c", size = 117834, upload-time = "2024-05-23T11:13:57.216Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/e3/26/57c6fb270950d476074c087527a558ccb6f4436657314bfb6cdf484114c4/docker-7.1.0-py3-none-any.whl", hash = "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0", size = 147774, upload-time = "2024-05-23T11:13:55.01Z" },
]
[[package]] [[package]]
name = "docstring-parser" name = "docstring-parser"
version = "0.17.0" version = "0.17.0"
@@ -776,6 +799,26 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" },
] ]
[[package]]
name = "jiter"
version = "0.11.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/9d/c0/a3bb4cc13aced219dd18191ea66e874266bd8aa7b96744e495e1c733aa2d/jiter-0.11.0.tar.gz", hash = "sha256:1d9637eaf8c1d6a63d6562f2a6e5ab3af946c66037eb1b894e8fad75422266e4", size = 167094, upload-time = "2025-09-15T09:20:38.212Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/ba/b5/3009b112b8f673e568ef79af9863d8309a15f0a8cdcc06ed6092051f377e/jiter-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:2fb7b377688cc3850bbe5c192a6bd493562a0bc50cbc8b047316428fbae00ada", size = 305510, upload-time = "2025-09-15T09:19:25.893Z" },
{ url = "https://files.pythonhosted.org/packages/fe/82/15514244e03b9e71e086bbe2a6de3e4616b48f07d5f834200c873956fb8c/jiter-0.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a1b7cbe3f25bd0d8abb468ba4302a5d45617ee61b2a7a638f63fee1dc086be99", size = 316521, upload-time = "2025-09-15T09:19:27.525Z" },
{ url = "https://files.pythonhosted.org/packages/92/94/7a2e905f40ad2d6d660e00b68d818f9e29fb87ffe82774f06191e93cbe4a/jiter-0.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0a7f0ec81d5b7588c5cade1eb1925b91436ae6726dc2df2348524aeabad5de6", size = 338214, upload-time = "2025-09-15T09:19:28.727Z" },
{ url = "https://files.pythonhosted.org/packages/a8/9c/5791ed5bdc76f12110158d3316a7a3ec0b1413d018b41c5ed399549d3ad5/jiter-0.11.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07630bb46ea2a6b9c6ed986c6e17e35b26148cce2c535454b26ee3f0e8dcaba1", size = 361280, upload-time = "2025-09-15T09:19:30.013Z" },
{ url = "https://files.pythonhosted.org/packages/d4/7f/b7d82d77ff0d2cb06424141000176b53a9e6b16a1125525bb51ea4990c2e/jiter-0.11.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7764f27d28cd4a9cbc61704dfcd80c903ce3aad106a37902d3270cd6673d17f4", size = 487895, upload-time = "2025-09-15T09:19:31.424Z" },
{ url = "https://files.pythonhosted.org/packages/42/44/10a1475d46f1fc1fd5cc2e82c58e7bca0ce5852208e0fa5df2f949353321/jiter-0.11.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d4a6c4a737d486f77f842aeb22807edecb4a9417e6700c7b981e16d34ba7c72", size = 378421, upload-time = "2025-09-15T09:19:32.746Z" },
{ url = "https://files.pythonhosted.org/packages/9a/5f/0dc34563d8164d31d07bc09d141d3da08157a68dcd1f9b886fa4e917805b/jiter-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf408d2a0abd919b60de8c2e7bc5eeab72d4dafd18784152acc7c9adc3291591", size = 347932, upload-time = "2025-09-15T09:19:34.612Z" },
{ url = "https://files.pythonhosted.org/packages/f7/de/b68f32a4fcb7b4a682b37c73a0e5dae32180140cd1caf11aef6ad40ddbf2/jiter-0.11.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cdef53eda7d18e799625023e1e250dbc18fbc275153039b873ec74d7e8883e09", size = 386959, upload-time = "2025-09-15T09:19:35.994Z" },
{ url = "https://files.pythonhosted.org/packages/76/0a/c08c92e713b6e28972a846a81ce374883dac2f78ec6f39a0dad9f2339c3a/jiter-0.11.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:53933a38ef7b551dd9c7f1064f9d7bb235bb3168d0fa5f14f0798d1b7ea0d9c5", size = 517187, upload-time = "2025-09-15T09:19:37.426Z" },
{ url = "https://files.pythonhosted.org/packages/89/b5/4a283bec43b15aad54fcae18d951f06a2ec3f78db5708d3b59a48e9c3fbd/jiter-0.11.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:11840d2324c9ab5162fc1abba23bc922124fedcff0d7b7f85fffa291e2f69206", size = 509461, upload-time = "2025-09-15T09:19:38.761Z" },
{ url = "https://files.pythonhosted.org/packages/34/a5/f8bad793010534ea73c985caaeef8cc22dfb1fedb15220ecdf15c623c07a/jiter-0.11.0-cp312-cp312-win32.whl", hash = "sha256:4f01a744d24a5f2bb4a11657a1b27b61dc038ae2e674621a74020406e08f749b", size = 206664, upload-time = "2025-09-15T09:19:40.096Z" },
{ url = "https://files.pythonhosted.org/packages/ed/42/5823ec2b1469395a160b4bf5f14326b4a098f3b6898fbd327366789fa5d3/jiter-0.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:29fff31190ab3a26de026da2f187814f4b9c6695361e20a9ac2123e4d4378a4c", size = 203520, upload-time = "2025-09-15T09:19:41.798Z" },
]
[[package]] [[package]]
name = "lxml" name = "lxml"
version = "6.0.2" version = "6.0.2"
@@ -919,6 +962,25 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/b5/c1/edc9f41b425ca40b26b7c104c5f6841a4537bb2552bfa6ca66e81405bb95/ollama-0.6.0-py3-none-any.whl", hash = "sha256:534511b3ccea2dff419ae06c3b58d7f217c55be7897c8ce5868dfb6b219cf7a0", size = 14130, upload-time = "2025-09-24T22:46:01.19Z" }, { url = "https://files.pythonhosted.org/packages/b5/c1/edc9f41b425ca40b26b7c104c5f6841a4537bb2552bfa6ca66e81405bb95/ollama-0.6.0-py3-none-any.whl", hash = "sha256:534511b3ccea2dff419ae06c3b58d7f217c55be7897c8ce5868dfb6b219cf7a0", size = 14130, upload-time = "2025-09-24T22:46:01.19Z" },
] ]
[[package]]
name = "openai"
version = "2.3.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
{ name = "distro" },
{ name = "httpx" },
{ name = "jiter" },
{ name = "pydantic" },
{ name = "sniffio" },
{ name = "tqdm" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/de/90/8f26554d24d63ed4f94d33c24271559863223a67e624f4d2e65ba8e48dca/openai-2.3.0.tar.gz", hash = "sha256:8d213ee5aaf91737faea2d7fc1cd608657a5367a18966372a3756ceaabfbd812", size = 589616, upload-time = "2025-10-10T01:12:50.851Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/9c/5b/4be258ff072ed8ee15f6bfd8d5a1a4618aa4704b127c0c5959212ad177d6/openai-2.3.0-py3-none-any.whl", hash = "sha256:a7aa83be6f7b0ab2e4d4d7bcaf36e3d790874c0167380c5d0afd0ed99a86bd7b", size = 999768, upload-time = "2025-10-10T01:12:48.647Z" },
]
[[package]] [[package]]
name = "orjson" name = "orjson"
version = "3.11.3" version = "3.11.3"
@@ -1298,6 +1360,16 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" },
] ]
[[package]]
name = "pywin32"
version = "311"
source = { registry = "https://pypi.org/simple" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" },
{ url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" },
{ url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" },
]
[[package]] [[package]]
name = "pyyaml" name = "pyyaml"
version = "6.0.3" version = "6.0.3"
@@ -1605,12 +1677,14 @@ dependencies = [
{ name = "agno" }, { name = "agno" },
{ name = "coinbase-advanced-py" }, { name = "coinbase-advanced-py" },
{ name = "ddgs" }, { name = "ddgs" },
{ name = "docker" },
{ name = "dotenv" }, { name = "dotenv" },
{ name = "gnews" }, { name = "gnews" },
{ name = "google-genai" }, { name = "google-genai" },
{ name = "gradio" }, { name = "gradio" },
{ name = "newsapi-python" }, { name = "newsapi-python" },
{ name = "ollama" }, { name = "ollama" },
{ name = "openai" },
{ name = "praw" }, { name = "praw" },
{ name = "pytest" }, { name = "pytest" },
{ name = "python-binance" }, { name = "python-binance" },
@@ -1622,12 +1696,14 @@ requires-dist = [
{ name = "agno" }, { name = "agno" },
{ name = "coinbase-advanced-py" }, { name = "coinbase-advanced-py" },
{ name = "ddgs" }, { name = "ddgs" },
{ name = "docker" },
{ name = "dotenv" }, { name = "dotenv" },
{ name = "gnews" }, { name = "gnews" },
{ name = "google-genai" }, { name = "google-genai" },
{ name = "gradio" }, { name = "gradio" },
{ name = "newsapi-python" }, { name = "newsapi-python" },
{ name = "ollama" }, { name = "ollama" },
{ name = "openai" },
{ name = "praw" }, { name = "praw" },
{ name = "pytest" }, { name = "pytest" },
{ name = "python-binance" }, { name = "python-binance" },