Files
rengine/backend/pyproject.toml
T
2026-01-26 14:44:50 +05:30

91 lines
2.0 KiB
TOML

[project]
name = "rengine-backend"
version = "3.0.0"
description = "reNgine: Automated attack surface management platform"
requires-python = ">=3.13"
dependencies = [
"argon2-cffi>=25.1.0",
"asyncpg>=0.31.0",
"fastapi>=0.128.0",
"passlib[bcrypt]>=1.7.4",
"pydantic-settings>=2.12.0",
"python-jose>=3.5.0",
"sqlmodel>=0.0.31",
"uvicorn>=0.40.0",
"zxcvbn>=4.5.0",
]
[tool.ruff]
target-version = "py313"
line-length = 88
exclude = [
".git",
".venv",
"__pycache__",
"*.pyc",
".pytest_cache",
".ruff_cache",
]
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"N", # pep8-naming
"UP", # pyupgrade
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez
"T10", # flake8-debugger
"EM", # flake8-errmsg
"ISC", # flake8-implicit-str-concat
"ICN", # flake8-import-conventions
"PIE", # flake8-pie
"T20", # flake8-print
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"RET", # flake8-return
"SIM", # flake8-simplify
"ARG", # flake8-unused-arguments
"PTH", # flake8-use-pathlib
"ERA", # eradicate (commented-out code)
"PL", # pylint
"RUF", # ruff-specific rules
"ASYNC", # flake8-async
"S", # flake8-bandit (security)
]
ignore = [
"E501", # line too long (handled by formatter)
"PLR0913", # too many arguments in function
]
[tool.ruff.lint.isort]
known-first-party = ["app"]
section-order = [
"future",
"standard-library",
"third-party",
"first-party",
"local-folder"
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401", "F403"] # only for __init__
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
[dependency-groups]
dev = [
"ruff>=0.14.14",
]