Spaces:
Running
on
Zero
Running
on
Zero
| [project] | |
| name = "portfolio-intelligence-platform" | |
| version = "0.1.0" | |
| description = "AI-powered portfolio analysis platform with MCP orchestration" | |
| readme = "README.md" | |
| requires-python = ">=3.10" | |
| dependencies = [ | |
| # AI Framework - use slim without mcp extra to avoid conflict with gradio[mcp] | |
| "pydantic-ai-slim[anthropic]==1.18.0", | |
| "anthropic>=0.39.0", | |
| "instructor>=1.6.4", | |
| # Agent Orchestration | |
| "langgraph>=0.1.0", | |
| "langchain-anthropic>=0.1.0", | |
| "langchain-core>=0.2.0", | |
| # MCP Framework - fastmcp 2.9.1 is latest compatible with mcp==1.10.1 (gradio[mcp] requirement) | |
| # Note: fastmcp 2.9.2+ requires mcp<1.10.0 which conflicts with gradio[mcp] | |
| "fastmcp==2.9.1", | |
| # Frontend - gradio with native MCP support | |
| "gradio[mcp]==5.49.1", | |
| # Backend | |
| "fastapi>=0.104.0", | |
| "uvicorn[standard]>=0.24.0", | |
| "pydantic>=2.5.0", | |
| # Database | |
| "supabase>=2.9.0", | |
| "psycopg2-binary>=2.9.9", | |
| # Caching & Rate Limiting | |
| "redis>=5.0.0", | |
| "upstash-redis>=0.15.0", | |
| "orjson>=3.10.0", | |
| # Quantitative Finance (P0 - Deterministic Models) | |
| # Research validated: Package name is 'pyportfolioopt', import as 'pypfopt' | |
| "pyportfolioopt>=1.5.6", | |
| "riskfolio-lib>=7.0.0", | |
| "arch>=8.0.0", | |
| "quantstats>=0.0.77", | |
| # Data & Analysis | |
| "pandas>=2.2.3", | |
| "numpy>=2.0.0", | |
| "yfinance>=0.2.40", | |
| "scipy>=1.11.0", | |
| "matplotlib>=3.8.0", | |
| "plotly>=5.18.0", | |
| # Export & Reporting | |
| "reportlab>=4.0.0", | |
| "pypdf>=3.17.0", | |
| # Feature Engineering (manual implementations used instead of pandas-ta) | |
| "PyWavelets>=1.4.1", | |
| "scikit-learn>=1.3.0", | |
| # ML Models (P1 - Optional) | |
| "torch>=2.0.0", | |
| "xgboost>=3.1.0", | |
| "chronos-forecasting>=1.0.0", | |
| # Deep Learning Time Series Models | |
| "granite-tsfm>=0.2.22", | |
| "neuralforecast>=3.1.0", | |
| # Utilities | |
| "python-dotenv>=1.0.0", | |
| "httpx>=0.25.0", | |
| "tenacity>=8.2.0", | |
| "python-dateutil>=2.8.0", | |
| # Sentiment Analysis | |
| "vaderSentiment>=3.3.2", | |
| # Text-to-Speech | |
| "elevenlabs>=1.0.0", | |
| # Monitoring & Observability | |
| "sentry-sdk[fastapi]>=2.0.0,<3.0.0", # Pin to stable, avoid 3.0 alpha | |
| "fmp-data>=1.0.2", | |
| ] | |
| [dependency-groups] | |
| dev = [ | |
| "pytest>=7.4.0", | |
| "pytest-asyncio>=0.21.0", | |
| "ruff>=0.1.0", | |
| "black>=23.11.0", | |
| "mypy>=1.7.0", | |
| "typer>=0.20.0", | |
| ] | |
| [tool.hatch.build.targets.wheel] | |
| packages = ["backend"] | |
| [build-system] | |
| requires = ["hatchling"] | |
| build-backend = "hatchling.build" | |