-
Notifications
You must be signed in to change notification settings - Fork 18
/
pyproject.toml
118 lines (104 loc) · 2.78 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
113
114
115
116
117
118
[tool.poetry]
name = "v3-operator"
version = "v2.1.3"
description = "StakeWise operator service for registering vault validators"
authors = ["StakeWise Labs <info@stakewise.io>"]
package-mode = false
[tool.poetry.dependencies]
python = ">=3.10,<3.11"
python-decouple = "==3.8"
sentry-sdk = "==1.32.0"
py-ecc = "==6.0.0"
gql = {extras = ["aiohttp"], version = "==3.5.0"}
multiproof = { git = "https://github.com/stakewise/multiproof.git", rev = "v0.1.8" }
sw-utils = {git = "https://github.com/stakewise/sw-utils.git", rev = "v0.6.24"}
staking-deposit = { git = "https://github.com/ethereum/staking-deposit-cli.git", rev = "v2.4.0" }
pycryptodomex = "3.19.1"
click = "==8.1.7"
tomli = "~2"
eciespy = "==0.4.0"
prometheus-client = "==0.17.1"
psycopg2 = "==2.9.9"
pyyaml = "==6.0.1"
python-json-logger = "==2.0.7"
[tool.poetry.group.dev.dependencies]
pylint = "==3.0.1"
mypy = "==1.6.1"
isort = "==5.12.0"
pytest = "==7.4.2"
pytest-asyncio = "==0.21.1"
pre-commit = "==3.5.0"
Flake8-pyproject = "==1.2.3"
bandit = { version = "==1.7.5", extras = ["toml"] }
black = { version = "==23.10.0", extras = ["d"] }
faker = "==19.11.0"
flake8-print = "==5.0.0"
flake8-datetimez = "==20.10.0"
types-pyyaml = "==6.0.12.12"
coverage = "==7.3.2"
aioresponses = "^0.7.4"
types-requests = "==2.31.0.20240406"
types-setuptools = "==70.0.0.20240524"
[tool.poetry.group.build.dependencies]
pyinstaller = "==5.13.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.bandit]
exclude_dirs = ["*/tests/*", "src/config/networks.py", "conftest.py"]
skips = ["B608"]
[tool.pylint."pre-commit-hook"]
disable = [
"C0103", # invalid-name
"W0511", # todo (fixme)
"W0703", # broad-except
"C0114", # missing-class-docstring
"C0115", # missing-class-docstring
"C0116", # missing-function-docstring
"R0801", # duplicate-code
"R0903" # too-few-public-methods
]
ignore-paths=["src/.*/tests/.*", "src/test_fixtures/.*"]
ignore=["conftest.py"]
[tool.pylint."BASIC"]
good-names = ["db", "i", "w3"]
ignored-modules=["milagro_bls_binding"]
[tool.flake8]
extend-ignore = ["E203", "E501"] # line length will be checked by pylint
exclude = ["conftest.py"]
[tool.mypy]
exclude = ["test"]
ignore_missing_imports = true
python_version = "3.10"
disallow_untyped_defs = true
disallow_incomplete_defs = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
[[tool.mypy.overrides]]
module = 'web3.*'
no_implicit_optional = false
[tool.isort]
profile = "black"
[tool.black]
line-length = 100
skip-string-normalization = true
include = '\.pyi?$'
exclude = '''
/(
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
'''
[tool.coverage.report]
fail_under = 70
[tool.pytest.ini_options]
asyncio_mode = "auto"