[project] name = "Solo_bot" version = "0.5.3" dependencies = [ "aiofiles==24.1.0", "aiogram>=3.24.0", "aiohappyeyeballs>=2.5.0", "aiohttp==3.13.3", "aiosignal>=1.4.0", "annotated-types==0.7.0", "async-timeout==4.0.3", "asyncpg==0.30.0", "attrs==24.2.0", "certifi>=2023.5.7,<2024.0.0", "charset-normalizer==3.4.0", "deprecated==1.2.14", "distro==1.9.0", "frozenlist==1.4.1", "idna==3.10", "magic-filter==1.0.12", "multidict==6.1.0", "netaddr==1.3.0", "propcache==0.2.0", "pydantic", "typing-extensions==4.12.2", "urllib3==2.6.3", "wrapt==1.16.0", "yarl>=1.17.0,<2.0", "yookassa==3.3.0", "loguru", "aiocryptopay", "py3xui", "sqlalchemy", "robokassa", "ping3", "ruff", "pytz", "cachetools", "babel", ] [tool.ruff] line-length = 120 target-version = "py312" fix = true unsafe-fixes = true preview = true [tool.uv] package = false [tool.ruff.lint] select = ["E", "F", "W", "I", "N", "UP", "ANN", "ASYNC", "S", "BLE", "FBT", "B", "A", "C4", "DTZ", "T10", "ISC", "ICN", "G", "PIE"] ignore = ["ANN101", "ANN102", "S101", "ANN201", "ANN001", "BLE001", "W291", "ANN401", "DTZ003", "DTZ005", "F401", "FBT002", "FBT001", "FBT003", "A005", "E501", "UP017", "DTZ004", "W293", "ANN202", "DTZ007"] exclude = [ ".git", "venv", "main.py", ] [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto" docstring-code-format = true docstring-code-line-length = 88 [tool.ruff.lint.isort] case-sensitive = true combine-as-imports = true force-wrap-aliases = true known-first-party = ["Solo_bot"] lines-after-imports = 2 lines-between-types = 1 [tool.ruff.lint.flake8-quotes] docstring-quotes = "double" inline-quotes = "double" multiline-quotes = "double" [tool.ruff.lint.pydocstyle] convention = "google" [tool.ruff.lint.pycodestyle] max-doc-length = 120 [tool.ruff.lint.mccabe] max-complexity = 10 [tool.darker] src = ["."] revision = "HEAD" diff = false check = false exclude = [ ".git", "venv", "main.py", "handlers/payments", ]