[project] name = "aitrader" version = "0.1.0" description = "AI-driven crypto trader using Gemini + Claude ensemble against Kraken Futures Demo" requires-python = ">=3.11" dependencies = [ "ccxt>=4.4.0", "pandas>=2.2.0", "numpy>=1.26.0", "apscheduler>=3.10.4", "pydantic>=2.6.0", "pydantic-settings>=2.2.0", "pyyaml>=6.0.1", "google-genai>=0.8.0", "anthropic>=0.40.0", "openai>=1.50.0", "requests>=2.32.0", "discord.py>=2.3.0", "vaderSentiment>=3.3.2", "sqlmodel>=0.0.22", "streamlit>=1.36.0", "plotly>=5.22.0", "python-dotenv>=1.0.1", "structlog>=24.1.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.23.0", "ruff>=0.5.0", ] [project.scripts] aitrader = "aitrader.main:cli" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/aitrader"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"] [tool.ruff] line-length = 100 target-version = "py311"