-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
104 lines (96 loc) · 2.62 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
[tool.poetry]
name = "modapp"
version = "0.3.24"
description = ""
authors = ["Vladyslav Hnatiuk <[email protected]>"]
license = "MIT"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.9"
loguru = "^0.7.0"
pydantic = "^2.0"
uvloop = { version = "^0.19.0", markers = "sys_platform != 'win32'", optional = true }
winloop = { version = "^0.0.8", markers = "sys_platform == 'win32'", optional = true }
grpclib = { version = "^0.4.7", optional = true }
googleapis-common-protos = { version = "^1.63.2", optional = true }
socketify = { version = "^0.0.31", optional = true }
orjson = { version = "^3.10.3", optional = true }
aiohttp = { extras = ["speedups"], version = "^3.9.5", optional = true }
anyio = {version = "^4.4.0", optional = true}
typing-extensions = "^4.12.2"
pyhumps = {version = "^3.8.0", optional = true}
httpx = {version = "^0.27.0", optional = true}
[tool.poetry.extras]
uvloop = ["uvloop", "winloop"]
grpc = ["grpclib", "googleapis-common-protos"]
web_socketify = ["socketify"]
json = ["orjson"]
web_aiohttp = ["aiohttp"]
anyio = ["anyio"]
case_change = ["pyhumps"]
web_httpx = ["httpx"]
[tool.poetry.group.dev.dependencies]
isort = "^5.13.2"
black = "^24.4.2"
flake8 = "^7.1.0"
flake8-docstrings = "^1.6.0"
darglint = "^1.8.1"
flake8-bugbear = "^24.4.26"
flake8-comprehensions = "^3.15.0"
bandit = "^1.7.4"
safety = "^2.1.1"
mypy = "^1.5.0"
types-protobuf = "^4.21.0.2"
pytest = "^8.3.0"
pytest-cov = "^4.0.0"
pytest-mock = "^3.10.0"
pytest-memray = { version = "^1.4.0", markers = "sys_platform == 'linux' or sys_platform == 'darwin'" }
pyinstrument = "^4.4.0"
pytest-benchmark = "^4.0.0"
grpcio-tools = "^1.56.0"
# use pre-release version to be able to use async fixtures with async tests:
# https://github.com/pytest-dev/pytest-asyncio/issues/868
# https://github.com/pytest-dev/pytest-asyncio/issues/706
pytest-asyncio = "^0.24.0a0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
target-version = ['py39', 'py310', 'py311']
preview = true
exclude = '''
(
asv_bench/env
| \.egg
| \.git
| \.hg
| \.mypy_cache
| \.nox
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
| setup.py
)
'''
[tool.isort]
profile = "black"
[tool.mypy]
disallow_any_generics = true
disallow_untyped_defs = true
disallow_any_unimported = true
no_implicit_optional = true
check_untyped_defs = true
warn_return_any = true
show_error_codes = true
warn_unused_ignores = true
enable_error_code = ['explicit-override']
[[tool.mypy.overrides]]
module = [
"modapp.transports.web_socketify",
"modapp.transports.web_socketify_config"
]
ignore_missing_imports = true
disallow_any_unimported = false