Files
momentum-system/pyproject.toml
T
momentum devandClaude Opus 4.8 b1ef0930ca WS0 cleanup: DuckDB-free + wire DATABASE_URL
- Drop duckdb dependency (pyproject, requirements) -> psycopg2-binary.
- run_live_paper: boot log shows the real Postgres target (masked); add
  _db_target_desc() helper.
- .env.example: document DATABASE_URL / PG* vars; mark WATCHER_EVENT_DB_PATH legacy.
- evaluation/storage.py: INSERT OR REPLACE -> INSERT (setup_id is a fresh uuid).

Verified: 67/67 tests green on Postgres with duckdb UNINSTALLED; app boots
against the live endpoint (127.0.0.1:5432 proxy) and wrote 205 daily bars.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 00:15:19 -04:00

38 lines
946 B
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "momentum"
version = "0.4.0"
description = "Small-cap momentum research & paper-trading system"
requires-python = ">=3.11"
dependencies = [
"psycopg2-binary>=2.9.0",
"pandas>=2.0.0",
"pydantic>=2.0.0",
"pydantic-settings>=2.0.0",
"pyyaml>=6.0",
"typer>=0.9.0",
"rich>=13.0.0",
"numpy>=1.24.0",
"python-dotenv>=1.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
[tool.uv]
# This is a runnable app (flat layout: scripts at the repo root plus api/,
# storage/, runtime/, ... packages), not a distributable library. Don't try to
# build/install it as a wheel — just provision the dependencies. Code runs via
# `uv run run_live_paper.py` from the repo root (pytest uses pythonpath="." ).
package = false