-
Notifications
You must be signed in to change notification settings - Fork 23
/
pyproject.toml
111 lines (104 loc) · 3.15 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
[project]
name = "onlineweb4"
version = "1.0.0"
description = "Web pages for Online, Linjeforeningen for Informatikk at NTNU"
requires-python = "~=3.12.1"
dependencies = [
"django~=5.0",
"djangorestframework~=3.15",
"django-filter~=24.3",
"django-dynamic-fixture~=4.0",
"django-watson~=1.6",
"django-reversion~=5.1",
"django-guardian~=2.4",
"django-taggit~=6.0",
"django-markdown-deux~=1.0",
"django-cors-headers~=4.4",
"django-webpack-loader~=3.1",
"django-turnstile~=0.1",
"django-crispy-forms~=2.3",
"crispy-bootstrap3~=2024.1",
"pillow~=11.0",
"icalendar~=6.0",
"google-api-python-client~=2.141",
"pdfdocument~=4.0",
"unidecode~=1.3",
"dj-database-url~=2.2",
"python-decouple~=3.8",
"oic~=1.7",
"requests[security]~=2.32",
"wiki~=0.11",
"django-js-reverse~=0.10",
"pyyaml~=6.0",
"stripe~=3.5",
"pywebpush~=2.0.0",
"sentry-sdk[django]~=2.13",
"psycopg2-binary~=2.9",
"mozilla-django-oidc~=4.0",
"auth0-python~=4.7",
"drf-spectacular~=0.27",
]
[project.optional-dependencies]
prod = [
"django-ses~=4.1",
"django-storages[s3]~=1.14",
"zappa~=0.59",
"boto3~=1.35",
# required for zappa
"setuptools~=75.2",
]
s3 = [
"django-storages[s3]~=1.14",
]
[tool.uv]
dev-dependencies = [
"pytest~=8.3",
"pytest-cov~=6.0",
"pytest-django~=4.8",
"pytest-xdist~=3.6",
"coverage~=7.6",
"ruff~=0.6",
"pre-commit~=3.8",
"freezegun>=1.5.1",
]
[tool.ruff]
src = [ "apps", "utils", "onlineweb4", "scripts" ]
target-version = "py312"
[tool.ruff.lint]
select = [
"E", # pycodestyle
# "UP", # pyupgrade
# "B", # flake8-bugbear
# "SIM", # flake8 simplify
# "C901", # Mccabe complexiy
"F", # Pyflakes
"I", # isort
]
ignore = ["E501"]
extend-per-file-ignores = { "__init__.py" = ["F403"] }
[tool.ruff.lint.isort]
known-first-party = ["apps", "utils", "onlineweb4", "scripts"]
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "onlineweb4.settings"
norecursedirs = [ ".*", "env*", "tmp*" ]
python_files = [ "tests.py", "*_tests.py" ]
addopts = "--nomigrations -n auto --dist loadgroup"
filterwarnings = [
# for future maintainers: these fields are documented here
# https://docs.python.org/3/library/warnings.html#the-warnings-filter
# we should probably care about OpenAPI-warnings, but they are extremely noisy
"ignore:You have a duplicated operationId in your OpenAPI schema:UserWarning",
"ignore:<class '.*'> is not compatible with schema generation:UserWarning",
# remove once migrated, this is just setting a transitional setting
"ignore:The FORMS_URLFIELD_ASSUME_HTTPS transitional setting is deprecated.:django.utils.deprecation.RemovedInDjango60Warning",
"ignore:The default scheme will be changed from 'http' to 'https' in Django 6.0.*:django.utils.deprecation.RemovedInDjango60Warning",
"ignore:ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead:DeprecationWarning",
]
[tool.coverage.report]
omit = [
"apps/**/migrations/*",
"apps/**/tests/*",
"apps/**/tests.py",
"apps/**/test_*.py",
"onlineweb4/settings/**",
]