BrianIsaac's picture
fix: remove unused pandas-ta dependency causing Python version conflict
6c10ae1
raw
history blame
2.48 kB
[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"