-
Notifications
You must be signed in to change notification settings - Fork 5
/
pyproject.toml
120 lines (110 loc) · 3.54 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
119
120
[tool.poetry]
name = "govapp"
version = "0.1.0"
description = "DBCA CDDP Catalogue and Publishing Django REST API"
authors = ["Gaia Resources <[email protected]>"]
[tool.poetry.dependencies]
python = "^3.10"
django = "^3.2.23"
django-extensions = "3.2.3"
djangorestframework = "^3.14.0"
python-decouple = "^3.6"
dj-database-url = "^1.0.0"
psycopg2 = "^2.9.4"
gunicorn = "21.2.0"
whitenoise = "5.3.0"
dbca-utils = {git = "https://github.com/dbca-wa/dbca-utils.git"}
webtemplate_dbca = {git = "https://github.com/dbca-wa/webtemplate2.git", rev = "master"}
wagov_utils = {git = "https://github.com/dbca-wa/wagov_utils.git"}
drf-spectacular = "^0.24.2"
django-filter = "^22.1"
python-dateutil = "^2.8.2"
shareplum = {git = "https://github.com/jasonrollins/shareplum.git", rev = "55d860b"}
django-reversion = "^5.0.4"
django-reversion-rest-framework = "^1.1.2"
django-cron = "^0.6.0"
py7zr = "^0.20.2"
rarfile = "^4.0"
httpx = "^0.23.2"
lxml = "^4.9.2"
owslib = "0.29.2"
numpy = "1.25.0"
appmonitor_client = {git = "https://github.com/dbca-wa/appmonitor_client.git"}
cryptography = "42.0.7"
pillow = "10.3.0"
pyjwt = "2.8.0"
setuptools = "69.0.3"
urllib3 = "2.1.0"
wheel = "0.42.0"
oauthlib = "3.2.2"
sentry-sdk = "1.44"
requests = "^2.32.3"
anyio = "^4.4.0"
djangorestframework-datatables = "^0.7.2"
[tool.poetry.group.dev.dependencies]
poethepoet = "^0.16.2"
mypy = "^0.961"
django-stubs = {extras = ["compatible-mypy"], version = "^1.12.0"}
djangorestframework-stubs = {extras = ["compatible-mypy"], version = "^1.7.0"}
flake8 = "^5.0.4"
flake8-bandit = "^4.1.1"
flake8-bugbear = "^22.9.23"
flake8-builtins = "^1.5.3"
flake8-django = "^1.1.5"
flake8-docstrings = "^1.6.0"
flake8-pyproject = "^1.1.0"
flake8-pytest-style = "^1.6.0"
pytest = "^7.1.3"
pytest-cov = "^4.0.0"
pytest-mock = "^3.10.0"
pytest-django = "^4.5.2"
django-coverage-plugin = "^2.0.3"
types-python-dateutil = "^2.8.19.2"
factory-boy = "^3.2.1"
pytest-factoryboy = "^2.5.0"
freezegun = "^1.2.2"
[tool.poe.tasks]
manage = "python3 manage.py"
dev = "python3 manage.py runserver"
test = "pytest tests"
type = "mypy tests govapp"
lint = "flake8 tests govapp"
clean = "rm -rf **/.coverage **/.mypy_cache **/.pytest_cache **/__pycache__"
[tool.mypy]
check_untyped_defs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
disallow_any_unimported = false
ignore_missing_imports = true
warn_return_any = true
warn_unused_ignores = true
no_implicit_optional = true
show_error_codes = true
plugins = ["mypy_django_plugin.main", "mypy_drf_plugin.main"]
exclude = ["frontend", "static", "templates"]
[tool.django-stubs]
django_settings_module = "govapp.settings"
[tool.flake8]
max-line-length = 120
exclude = [".git", "__pycache__", ".pytest_cache", ".mypy_cache", "migrations", "frontend", "static", "templates"]
per-file-ignores = ["__init__.py:F401", "tests/*/__init__.py:F401", "tests/*.py:S101"]
enable-extensions = "G"
docstring-convention = "google"
[tool.pytest.ini_options]
addopts = "--verbose --cov=govapp"
log_cli_level = "DEBUG"
log_cli_format = "%(asctime)s.%(msecs)03d [%(levelname)-8s] (%(name)-11s): %(message)s"
log_cli_date_format = "%Y%m%dT%H%M%S"
DJANGO_SETTINGS_MODULE = "tests.settings"
filterwarnings = ["ignore::DeprecationWarning:django.*:"]
[tool.coverage.run]
branch = false
omit = ["*/frontend/*", "*/static/*", "*/templates/*"]
plugins = ["django_coverage_plugin"]
[tool.coverage.report]
show_missing = true
exclude_lines = ["if __name__ == .__main__.:", "if TYPE_CHECKING:", "if platform.*:"]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"