Spaces:
Sleeping
Sleeping
File size: 2,203 Bytes
aacf792 d498226 aacf792 f37f03d aacf792 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | # CrownCode Backend - Linting and Formatting Configuration
[project]
name = "crowncode-backend"
requires-python = ">=3.11"
[tool.black]
line-length = 100
target-version = ['py311']
include = '\.pyi?$'
extend-exclude = '''
/(
# directories
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| build
| dist
)/
'''
[tool.ruff]
line-length = 100
target-version = "py311"
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"C", # flake8-comprehensions
"B", # flake8-bugbear
"UP", # pyupgrade
"N", # pep8-naming
"S", # bandit security
"A", # flake8-builtins
"T20", # flake8-print
]
ignore = [
"E501", # line too long (handled by black)
"B008", # do not perform function calls in argument defaults
"C901", # too complex
"S101", # use of assert
"T201", # print found (allowed in scripts)
]
[tool.ruff.per-file-ignores]
"__init__.py" = ["F401"] # unused imports
"tests/*" = ["S101"] # assert allowed in tests
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
warn_unreachable = true
strict_equality = true
[[tool.mypy.overrides]]
module = "yt_dlp.*"
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "httpx.*"
ignore_missing_imports = true
[tool.pytest.ini_options]
minversion = "7.0"
addopts = "-ra -q --strict-markers --cov=app --cov-report=term-missing"
testpaths = [
"tests",
]
python_files = "test_*.py"
python_functions = "test_*"
filterwarnings = [
"ignore::FutureWarning:google",
"ignore::DeprecationWarning:httpx",
"ignore::PendingDeprecationWarning:starlette",
]
[tool.coverage.run]
source = ["app"]
omit = [
"*/tests/*",
"*/test_*.py",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise AssertionError",
"raise NotImplementedError",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
"@abstractmethod",
]
|