-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
95 lines (88 loc) · 2.59 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
[tool.poetry]
name = "consvc-shepherd"
version = "0.1.0"
description = ""
authors = ["Tif Tran <[email protected]>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.11"
django = "^4.2.15"
django-countries = "^7.5"
django-environ = "^0.10.0"
django-polymorphic = "^3.1.0"
django-storages = { extras = ["google"], version = "^1.13.1" }
django-stubs = "^1.13.1"
dockerflow = "^2022.8.0"
docutils = "^0.20"
google-auth = { extras = ["pyopenssl"], version = "^2.15.0" }
sentry-sdk = "^2.8.0"
psycopg2-binary = "^2.9.5"
jsonschema = "^4.17.3"
markus = { extras = ["datadog"], version = "^4.2.0" }
pyyaml = "^6.0.1"
requests = "^2.32.0"
ruff = "^0.6.4"
pytz = "^2024.2"
djangorestframework = "^3.15.2"
django-cors-headers = "^4.4.0"
django-utils = "^0.0.2"
faker = "^28.4.1"
google-cloud-bigquery = "^3.25.0"
pandas = "^2.2.1"
db-dtypes = "^1.3.0"
django-filter = "^24.3"
[tool.poetry.group.dev.dependencies]
bandit = { extras = ["toml"], version = "^1.7.4" }
black = "^24.3.0"
coverage = "^6.5.0"
factory-boy = "^3.2.1"
flake8 = "^6.0.0"
isort = "^5.11.3"
mock = "^4.0.3"
pydocstyle = "^6.3.0"
pytest = "^7.2.0"
pytest-django = "^4.5.2"
pytest-cov = "^4.0.0"
selenium = "^4.8.0"
mypy = "^1.2.0"
types-python-dateutil = "^2.9.0"
types-requests = "^2.32.0"
types-mock = "^5.1.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.isort]
profile = "black"
skip_gitignore = true
[tool.bandit]
# skips asserts
# B101: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html#
# B104: https://bandit.readthedocs.io/en/latest/plugins/b104_hardcoded_bind_all_interfaces.html
skips = ["B101", "B104"]
[tool.mypy]
python_version = "3.11"
disallow_untyped_calls = true
follow_imports = "normal"
ignore_missing_imports = true
pretty = true
show_error_codes = true
strict_optional = true
warn_no_return = true
warn_redundant_casts = true
warn_return_any = true
warn_unused_ignores = true
warn_unreachable = true
[tool.pydocstyle]
match = ".*\\.py"
convention = "pep257"
# Error Code Ref: https://www.pydocstyle.org/en/stable/error_codes.html
# D212 Multi-line docstring summary should start at the first line
add-select = ["D212"]
# D105 Docstrings for magic methods
# D107 Docstrings for __init__
# D203 as it conflicts with D211 https://github.com/PyCQA/pydocstyle/issues/141
# D205 1 blank line required between summary line and description, awkward spacing
# D400 First line should end with a period, doesn't work when sentence spans 2 lines
add-ignore = ["D105", "D107", "D203", "D205", "D400"]
# '^(?!migrations).*' ignores all Django-generated migration files
match-dir = '^(?!migrations).*'