trading/pyproject.toml
Viktor Barzin e035904e1c
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is running
fix(ci): add fakeredis to [dev] extras
CI test step in pipelines #41/#43/#44 (commits db103df, 06ede26,
552f5a1) failed during collection with ModuleNotFoundError:
fakeredis on test_blocklist.py, test_cursor.py, test_risk_counters.py.
The bridge tests use fakeredis.aioredis to mock Redis but the dep
wasn't pinned in pyproject. Locally it was installed manually, so
67 kevin tests pass via .venv but CI never installed it.

Unblocks the trading-bot-service rebuild that should ship the
PositionInfo.ticker fix the bridge pod is crash-looping on, and
also unblocks the dashboard rebuild (last pushed 2026-02-25, so
none of the Meet Kevin UI is live yet).
2026-05-26 19:47:15 +00:00

45 lines
1.4 KiB
TOML

[project]
name = "trading-bot"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"sqlalchemy[asyncio]>=2.0",
"asyncpg>=0.29",
"redis>=5.0",
"pydantic>=2.0",
"pydantic-settings>=2.0",
"opentelemetry-sdk>=1.20",
"opentelemetry-exporter-prometheus>=0.45b",
"opentelemetry-api>=1.20",
"alembic>=1.13",
]
[project.optional-dependencies]
api = ["fastapi>=0.110", "uvicorn[standard]>=0.27", "websockets>=12.0", "webauthn>=2.0", "pyjwt[crypto]>=2.8", "alpaca-py>=0.21"]
news = ["feedparser>=6.0", "praw>=7.7", "asyncpraw>=7.7", "httpx>=0.27"]
sentiment = ["transformers>=4.38", "torch>=2.2", "ollama>=0.1"]
trading = ["alpaca-py>=0.21", "pytz>=2024.1", "yfinance>=0.2", "httpx>=0.27"]
backtester = ["numpy>=1.26", "pandas>=2.2"]
meet_kevin = ["yt-dlp>=2025.12", "feedparser>=6.0", "anthropic>=0.40", "httpx>=0.27"]
dev = ["pytest>=8.0", "pytest-asyncio>=0.23", "pytest-cov>=4.1", "ruff>=0.3", "mypy>=1.8", "httpx>=0.27", "fakeredis>=2.20"]
[build-system]
requires = ["setuptools>=70.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
include = ["shared*", "services*", "backtester*", "scripts*", "tests*"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
markers = ["integration: marks tests requiring docker services (redis, postgres)"]
[tool.ruff]
line-length = 120
target-version = "py312"
[tool.mypy]
python_version = "3.12"
warn_return_any = true
warn_unused_configs = true