-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
112 lines (96 loc) · 2.08 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[tool.poetry]
name = "iam-microservice"
version = "0.0.1"
description = "An Identity Access Manager microservice"
authors = ["firminoneto11 <firminoneto11@hotmail.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "3.12.*"
typer = "0.12.*"
sqlalchemy = "2.0.*"
alembic = "1.13.*"
environs = "11.0.*"
fastapi = "0.112.*"
pydantic = "2.8.*"
asyncpg = "0.29.*"
anyio = "4.4.*"
redis = "5.0.*"
uvicorn = "0.30.*"
httptools = "0.6.*"
httpx = "0.27.*"
python-slugify = "8.0.*"
uvloop = "0.20.*"
fastapi-camelcase = "2.0.*"
jinja2 = "3.1.*"
celery = "5.4.*"
[tool.poetry.group.dev.dependencies]
ruff = "0.6.*"
pytest = "8.3.*"
pytest-env = "1.1.*"
pytest-asyncio = "0.24.*"
coverage = "7.6.*"
pre-commit = "3.8.*"
bandit = "1.7.*"
aiosqlite = "0.20.*"
pyright = "1.1.*"
pytest-sugar = "1.0.*"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# -- Library configs -- #
# 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]
IAM_MS_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"]
# -- Previous rye configs -- #
# [tool.hatch.metadata]
# allow-direct-references = true
# [tool.hatch.build.targets.wheel]
# packages = ["src/iam_microservice"]