[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", "requests>=2.32", "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", "types-requests>=2.32", ] [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", ]