-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
93 lines (83 loc) · 1.89 KB
/
pyproject.toml
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
[project]
name = "fastpi-with-django-orm"
version = "0.0.1"
description = "A PoC of using FastAPI alongside Django's ORM"
readme = "README.md"
requires-python = ">=3.12, <3.13"
dependencies = [
"adrf>=0.1.7, <0.2",
"django>=5.1.1, <5.2",
"djangorestframework>=3.15.2, <3.16",
"environs>=11.0.0, <11.1",
"fastapi>=0.114.2, <0.115",
"httptools>=0.6.1, <0.7",
"httpx>=0.27.2, <0.28",
"uuid7>=0.1.0",
"uvicorn>=0.30.6, <0.31",
"uvloop>=0.20.0, <0.21",
]
[tool.uv]
dev-dependencies = [
"bandit>=1.7.9, <1.8",
"coverage>=7.6.1, <7.7",
"pyright>=1.1.380, <1.2",
"pytest>=8.3.3, <8.4",
"pytest-asyncio>=0.24.0, <0.25",
"pytest-env>=1.1.4, <1.2",
"pytest-sugar>=1.0.0, <1.1",
"ruff>=0.6.5, <0.7",
"pre-commit>=3.8.0, <3.9",
"django-stubs>=5.0.4, <5.1",
"djangorestframework-stubs>=3.15.1, <3.16",
]
# Ruff Configs
[tool.ruff]
line-length = 88
target-version = "py312"
[tool.ruff.lint]
extend-select = ["E501"]
# Pytest configs
[tool.pytest.ini_options]
addopts = "-s -v --durations=10"
markers = []
asyncio_mode = "auto"
# Pytest-Env configs
[tool.pytest_env]
PROJECT_ENVIRONMENT = "testing"
# Coverage configs
[tool.coverage.run]
branch = false
data_file = ".coverage/coverage"
omit = [
"test/*",
"tests/*",
"venv/*",
".venv/*",
"*migrations/*",
"*cli/*",
"*conftest.py",
"manage.py",
]
[tool.coverage.report]
skip_covered = true
precision = 2
# fail_under = 80
exclude_also = [
"if TYPE_CHECKING:",
"@abstractmethod",
"raise NotImplementedError",
]
[tool.coverage.html]
directory = ".coverage/html-report"
skip_covered = true
# Pyright configs
[tool.pyright]
exclude = [".venv/", "venv/", "*/__pycache__/"]
pythonVersion = "3.12"
pythonPlatform = "Linux"
venvPath = "./.venv"
typeCheckingMode = "strict"
reportUnusedImport = false
# Bandit configs
[tool.bandit]
exclude_dirs = ["tests", "venv", ".venv"]