chore: project skeleton with uv + pyproject + deps
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
# Cerbero MCP (locale durante Phase 1)
|
||||||
|
CERBERO_BASE_URL=http://localhost:9000
|
||||||
|
CERBERO_TESTNET_TOKEN=
|
||||||
|
CERBERO_MAINNET_TOKEN=
|
||||||
|
CERBERO_BOT_TAG=swarm-poc-phase1
|
||||||
|
|
||||||
|
# LLM providers
|
||||||
|
OPENROUTER_API_KEY=
|
||||||
|
ANTHROPIC_API_KEY=
|
||||||
|
|
||||||
|
# Run config
|
||||||
|
RUN_NAME=phase1-spike-001
|
||||||
|
DATA_DIR=./data
|
||||||
|
SERIES_DIR=./series
|
||||||
|
DB_PATH=./runs.db
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# Multi_Swarm_Coevolutive — Phase 1
|
||||||
|
|
||||||
|
Lean spike del PoC. Vedi `docs/superpowers/specs/2026-05-09-decisione-strategica-design.md`
|
||||||
|
per il razionale e `docs/superpowers/plans/2026-05-09-phase1-lean-spike.md` per il
|
||||||
|
piano implementativo.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv sync
|
||||||
|
cp .env.example .env # compilare token e API key
|
||||||
|
uv run pytest # verifica che tutto installi
|
||||||
|
```
|
||||||
|
|
||||||
|
## Cerbero locale
|
||||||
|
|
||||||
|
Phase 1 backtest legge dataset OHLCV cached, ma alcune feature di indicatore
|
||||||
|
sono delegate a Cerbero. Avviare Cerbero locale prima di eseguire un run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/adriano/Documenti/Git_XYZ/CerberoSuite/Cerbero_mcp
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
## Comandi principali
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run pytest # tutti i test
|
||||||
|
uv run pytest tests/unit -v # solo unit
|
||||||
|
uv run pytest tests/integration -v -m integration # solo integration
|
||||||
|
uv run python scripts/run_phase1.py # run completo Phase 1
|
||||||
|
uv run streamlit run src/multi_swarm/dashboard/streamlit_app.py
|
||||||
|
```
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
[project]
|
||||||
|
name = "multi-swarm"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Multi-Swarm Coevolutive PoC trading swarm — Phase 1 lean spike"
|
||||||
|
authors = [{ name = "Adriano Dal Pastro", email = "adrianodalpastro@tielogic.com" }]
|
||||||
|
requires-python = ">=3.13"
|
||||||
|
dependencies = [
|
||||||
|
"ccxt>=4.4",
|
||||||
|
"pandas>=2.2",
|
||||||
|
"numpy>=2.1",
|
||||||
|
"scipy>=1.14",
|
||||||
|
"pydantic>=2.9",
|
||||||
|
"pydantic-settings>=2.6",
|
||||||
|
"sqlmodel>=0.0.22",
|
||||||
|
"sexpdata>=1.0.2",
|
||||||
|
"anthropic>=0.39",
|
||||||
|
"openai>=1.55",
|
||||||
|
"httpx>=0.28",
|
||||||
|
"tenacity>=9.0",
|
||||||
|
"pyyaml>=6.0",
|
||||||
|
"streamlit>=1.40",
|
||||||
|
"plotly>=5.24",
|
||||||
|
"pyarrow>=18.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[dependency-groups]
|
||||||
|
dev = [
|
||||||
|
"pytest>=8.3",
|
||||||
|
"pytest-mock>=3.14",
|
||||||
|
"pytest-asyncio>=0.24",
|
||||||
|
"responses>=0.25",
|
||||||
|
"ruff>=0.7",
|
||||||
|
"mypy>=1.13",
|
||||||
|
]
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["hatchling"]
|
||||||
|
build-backend = "hatchling.build"
|
||||||
|
|
||||||
|
[tool.hatch.build.targets.wheel]
|
||||||
|
packages = ["src/multi_swarm"]
|
||||||
|
|
||||||
|
[tool.ruff]
|
||||||
|
line-length = 100
|
||||||
|
target-version = "py313"
|
||||||
|
|
||||||
|
[tool.ruff.lint]
|
||||||
|
select = ["E", "F", "W", "I", "N", "UP", "B", "RUF"]
|
||||||
|
|
||||||
|
[tool.mypy]
|
||||||
|
python_version = "3.13"
|
||||||
|
strict = true
|
||||||
|
|
||||||
|
[tool.pytest.ini_options]
|
||||||
|
testpaths = ["tests"]
|
||||||
|
addopts = "-v --tb=short"
|
||||||
|
markers = [
|
||||||
|
"integration: tests that require external services (Cerbero, LLM API)",
|
||||||
|
"slow: tests that take more than 5 seconds",
|
||||||
|
]
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
"""Multi_Swarm_Coevolutive — Phase 1 lean spike."""
|
||||||
|
|
||||||
|
__version__ = "0.1.0"
|
||||||
Reference in New Issue
Block a user