[project] name = "multi-swarm-coevolutive" version = "0.1.0" description = "Multi-Swarm Coevolutive: monorepo workspace (core + strategie)" authors = [{ name = "Adriano Dal Pastro", email = "adrianodalpastro@tielogic.com" }] requires-python = ">=3.13" # I due workspace member sono dipendenze runtime del deployable app root. # Cosi' `uv sync --frozen --no-dev` (nel builder Docker) li installa entrambi # come editable nella venv senza tirare pytest/ruff/mypy. dependencies = [ "multi-swarm-core", "strategy-crypto", "strategy-pythagoras", ] [tool.uv.workspace] members = ["src/multi_swarm_core", "src/strategy_crypto", "src/strategy_pythagoras"] [tool.uv.sources] multi-swarm-core = { workspace = true } strategy-crypto = { workspace = true } strategy-pythagoras = { workspace = true } [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", ] [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 = ["src/multi_swarm_core/tests", "src/strategy_crypto/tests", "src/strategy_pythagoras/tests"] addopts = "-v --tb=short --import-mode=importlib" markers = [ "integration: tests that require external services (Cerbero, LLM API)", "slow: tests that take more than 5 seconds", ]