Configurazioni dell'app #27

Merged
Berack96 merged 16 commits from configs into main 2025-10-12 18:05:43 +02:00
21 changed files with 17 additions and 17 deletions
Showing only changes of commit ba2a15d46b - Show all commits

View File

@@ -108,7 +108,7 @@ src
├── config.py <-- Configurazioni app ├── config.py <-- Configurazioni app
├── agents <-- Agenti, Team, prompts e simili ├── agents <-- Agenti, Team, prompts e simili
├── api <-- Tutte le API esterne ├── api <-- Tutte le API esterne
│ ├── base <-- Classi base per le API │ ├── core <-- Classi core per le API
│ ├── markets <-- Market data provider (Es. Binance) │ ├── markets <-- Market data provider (Es. Binance)
│ ├── news <-- News data provider (Es. NewsAPI) │ ├── news <-- News data provider (Es. NewsAPI)
│ └── social <-- Social data provider (Es. Reddit) │ └── social <-- Social data provider (Es. Reddit)

View File

@@ -2,7 +2,7 @@ from agno.run.agent import RunOutput
from app.agents.team import create_team_with from app.agents.team import create_team_with
from app.agents.predictor import PredictorInput, PredictorOutput from app.agents.predictor import PredictorInput, PredictorOutput
from app.agents.prompts import * from app.agents.prompts import *
from app.api.base.markets import ProductInfo from app.api.core.markets import ProductInfo
from app.configs import AppConfig from app.configs import AppConfig

View File

@@ -1,5 +1,5 @@
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from app.api.base.markets import ProductInfo from app.api.core.markets import ProductInfo
class PredictorInput(BaseModel): class PredictorInput(BaseModel):
data: list[ProductInfo] = Field(..., description="Market data as a list of ProductInfo") data: list[ProductInfo] = Field(..., description="Market data as a list of ProductInfo")

View File

@@ -1,6 +1,6 @@
from agno.tools import Toolkit from agno.tools import Toolkit
from app.api.wrapper_handler import WrapperHandler from app.api.wrapper_handler import WrapperHandler
from app.api.base.markets import MarketWrapper, Price, ProductInfo from app.api.core.markets import MarketWrapper, Price, ProductInfo
from app.api.markets.binance import BinanceWrapper from app.api.markets.binance import BinanceWrapper
from app.api.markets.coinbase import CoinBaseWrapper from app.api.markets.coinbase import CoinBaseWrapper
from app.api.markets.cryptocompare import CryptoCompareWrapper from app.api.markets.cryptocompare import CryptoCompareWrapper

View File

@@ -1,7 +1,7 @@
import os import os
from typing import Any from typing import Any
from binance.client import Client # type: ignore from binance.client import Client # type: ignore
from app.api.base.markets import ProductInfo, MarketWrapper, Price from app.api.core.markets import ProductInfo, MarketWrapper, Price
def extract_product(currency: str, ticker_data: dict[str, Any]) -> ProductInfo: def extract_product(currency: str, ticker_data: dict[str, Any]) -> ProductInfo:

View File

@@ -3,7 +3,7 @@ from enum import Enum
from datetime import datetime, timedelta from datetime import datetime, timedelta
from coinbase.rest import RESTClient # type: ignore from coinbase.rest import RESTClient # type: ignore
from coinbase.rest.types.product_types import Candle, GetProductResponse, Product # type: ignore from coinbase.rest.types.product_types import Candle, GetProductResponse, Product # type: ignore
from app.api.base.markets import ProductInfo, MarketWrapper, Price from app.api.core.markets import ProductInfo, MarketWrapper, Price
def extract_product(product_data: GetProductResponse | Product) -> ProductInfo: def extract_product(product_data: GetProductResponse | Product) -> ProductInfo:

View File

@@ -1,7 +1,7 @@
import os import os
from typing import Any from typing import Any
import requests import requests
from app.api.base.markets import ProductInfo, MarketWrapper, Price from app.api.core.markets import ProductInfo, MarketWrapper, Price
def extract_product(asset_data: dict[str, Any]) -> ProductInfo: def extract_product(asset_data: dict[str, Any]) -> ProductInfo:

View File

@@ -1,6 +1,6 @@
import json import json
from agno.tools.yfinance import YFinanceTools from agno.tools.yfinance import YFinanceTools
from app.api.base.markets import MarketWrapper, ProductInfo, Price from app.api.core.markets import MarketWrapper, ProductInfo, Price
def extract_product(stock_data: dict[str, str]) -> ProductInfo: def extract_product(stock_data: dict[str, str]) -> ProductInfo:

View File

@@ -1,6 +1,6 @@
from agno.tools import Toolkit from agno.tools import Toolkit
from app.api.wrapper_handler import WrapperHandler from app.api.wrapper_handler import WrapperHandler
from app.api.base.news import NewsWrapper, Article from app.api.core.news import NewsWrapper, Article
from app.api.news.newsapi import NewsApiWrapper from app.api.news.newsapi import NewsApiWrapper
from app.api.news.googlenews import GoogleNewsWrapper from app.api.news.googlenews import GoogleNewsWrapper
from app.api.news.cryptopanic_api import CryptoPanicWrapper from app.api.news.cryptopanic_api import CryptoPanicWrapper

View File

@@ -2,7 +2,7 @@ import os
from typing import Any from typing import Any
import requests import requests
from enum import Enum from enum import Enum
from app.api.base.news import NewsWrapper, Article from app.api.core.news import NewsWrapper, Article
class CryptoPanicFilter(Enum): class CryptoPanicFilter(Enum):

View File

@@ -1,7 +1,7 @@
import json import json
from typing import Any from typing import Any
from agno.tools.duckduckgo import DuckDuckGoTools from agno.tools.duckduckgo import DuckDuckGoTools
from app.api.base.news import Article, NewsWrapper from app.api.core.news import Article, NewsWrapper
def extract_article(result: dict[str, Any]) -> Article: def extract_article(result: dict[str, Any]) -> Article:

View File

@@ -1,6 +1,6 @@
from typing import Any from typing import Any
from gnews import GNews # type: ignore from gnews import GNews # type: ignore
from app.api.base.news import Article, NewsWrapper from app.api.core.news import Article, NewsWrapper
def extract_article(result: dict[str, Any]) -> Article: def extract_article(result: dict[str, Any]) -> Article:

View File

@@ -1,7 +1,7 @@
import os import os
from typing import Any from typing import Any
import newsapi # type: ignore import newsapi # type: ignore
from app.api.base.news import Article, NewsWrapper from app.api.core.news import Article, NewsWrapper
def extract_article(result: dict[str, Any]) -> Article: def extract_article(result: dict[str, Any]) -> Article:

View File

@@ -1,6 +1,6 @@
from agno.tools import Toolkit from agno.tools import Toolkit
from app.api.wrapper_handler import WrapperHandler from app.api.wrapper_handler import WrapperHandler
from app.api.base.social import SocialPost, SocialWrapper from app.api.core.social import SocialPost, SocialWrapper
from app.api.social.reddit import RedditWrapper from app.api.social.reddit import RedditWrapper
__all__ = ["SocialAPIsTool", "RedditWrapper", "SocialPost"] __all__ = ["SocialAPIsTool", "RedditWrapper", "SocialPost"]

View File

@@ -1,7 +1,7 @@
import os import os
from praw import Reddit # type: ignore from praw import Reddit # type: ignore
from praw.models import Submission # type: ignore from praw.models import Submission # type: ignore
from app.api.base.social import SocialWrapper, SocialPost, SocialComment from app.api.core.social import SocialWrapper, SocialPost, SocialComment
MAX_COMMENTS = 5 MAX_COMMENTS = 5

View File

@@ -2,7 +2,7 @@ import pytest
from app.agents import AppModels from app.agents import AppModels
from app.agents.predictor import PredictorInput, PredictorOutput, PredictorStyle from app.agents.predictor import PredictorInput, PredictorOutput, PredictorStyle
from app.agents.prompts import PREDICTOR_INSTRUCTIONS from app.agents.prompts import PREDICTOR_INSTRUCTIONS
from app.api.base.markets import ProductInfo from app.api.core.markets import ProductInfo
def unified_checks(model: AppModels, input: PredictorInput) -> None: def unified_checks(model: AppModels, input: PredictorInput) -> None:
llm = model.get_agent(PREDICTOR_INSTRUCTIONS, output_schema=PredictorOutput) # type: ignore[arg-type] llm = model.get_agent(PREDICTOR_INSTRUCTIONS, output_schema=PredictorOutput) # type: ignore[arg-type]

View File

@@ -1,6 +1,6 @@
import pytest import pytest
from datetime import datetime from datetime import datetime
from app.api.base.markets import ProductInfo, Price from app.api.core.markets import ProductInfo, Price
@pytest.mark.aggregator @pytest.mark.aggregator