[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "trademind" version = "0.1.0" description = "Selbstlernender Krypto-Trading-Bot mit Paper-Trading, Backtest und Live-Modus" readme = "README.md" requires-python = ">=3.11" license = { text = "MIT" } dependencies = [ "ccxt>=4.3.0", "numpy>=1.26", "PyYAML>=6.0", "pydantic>=2.6", "aiohttp>=3.9", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-asyncio>=0.23", "pytest-aiohttp>=1.0", "ruff>=0.4", ] [project.scripts] trademind = "trademind.cli:main" [tool.setuptools.packages.find] where = ["src"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" filterwarnings = ["ignore::DeprecationWarning"] [tool.ruff] line-length = 110 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B"] # UP042: str+Enum ist bewusst gewählt – es serialisiert ohne Sonderbehandlung nach JSON. ignore = ["B008", "UP042"] [tool.ruff.lint.per-file-ignores] # server.py enthält das eingebettete Dashboard (HTML/CSS/JS) als String. "src/trademind/server.py" = ["E501"]