-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
92 lines (84 loc) · 2.4 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
[tool.poetry]
name = "homefinancier"
version = "0.1.0"
description = ""
authors = ["Enes Gulakhmet <[email protected]>"]
readme = "README.md"
package-mode = false
[tool.poetry.dependencies]
python = "3.12.x"
asyncpg = "0.29.0"
gspread = "6.0.2"
pyjwt = "^2.8.0"
grpcio = "^1.62.1"
homefinancier-grpc = {git = "https://github.com/e-gulakhmet/HomeFinancierProtos.git", subdirectory = "gen/python"}
protobuf = "^5.26.1"
grpcio-reflection = "^1.62.1"
[tool.poetry.group.dev.dependencies]
ruff = "==0.0.287"
pre-commit = "==3.4.0"
pytest = "==8.0.2"
pytest-mock = "==3.11.1"
mypy = "==1.6.1"
pytest-asyncio = "==0.21.0"
asyncpg-stubs = "0.29.0"
python-dotenv = {extras = ["cli"], version = "^1.0.1"}
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
line-length = 120
select = ["ALL"]
ignore = [
"D", # Docstring
"PGH003", # https://docs.astral.sh/ruff/rules/blanket-type-ignore/
"FBT001", # https://docs.astral.sh/ruff/rules/boolean-type-hint-positional-argument/
"ANN101", # https://docs.astral.sh/ruff/rules/missing-type-self/
"A003", # https://docs.astral.sh/ruff/rules/builtin-attribute-shadowing/
"TCH002", # https://docs.astral.sh/ruff/rules/typing-only-third-party-import/
"FA102", # https://docs.astral.sh/ruff/rules/future-required-type-annotation/
"RET504" # https://docs.astral.sh/ruff/rules/unnecessary-assign/
]
fix = true
exclude = [
".git",
".idea",
".pytest_cache",
".mypy_cache",
".ruff_cache",
".venv",
"__pypackages__",
"venv",
"migrations",
]
[tool.ruff.per-file-ignores]
"tests/*" = [
"SLF001", # https://docs.astral.sh/ruff/rules/private-member-access/
"S101", # https://docs.astral.sh/ruff/rules/assert/
"S106", # https://docs.astral.sh/ruff/rules/hardcoded-password-func-arg/
"PT004", # https://docs.astral.sh/ruff/rules/pytest-missing-fixture-name-underscore/
"BLE001", # https://docs.astral.sh/ruff/rules/blind-except/
]
"src/infrastructure/transport/grpc/*" = [
"N802" # https://docs.astral.sh/ruff/rules/invalid-function-name/
]
[tool.mypy]
strict = true
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
[tool.pyright]
typeCheckingMode = "strict"
python-version = "3.11"
exclude = [
".git",
".idea",
".pytest_cache",
".mypy_cache",
".ruff_cache",
".venv",
"__pypackages__",
"venv",
"migrations",
]