-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpyproject.toml
More file actions
132 lines (116 loc) · 4.89 KB
/
pyproject.toml
File metadata and controls
132 lines (116 loc) · 4.89 KB
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
121
122
123
124
125
126
127
128
129
130
131
132
[project]
name = "web"
requires-python = "==3.11.*"
classifiers = [
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
]
dynamic = [ "version" ]
dependencies = [
# Django-related packages
"Django==5.0.2",
"django-hosts==6.0",
"django-ckeditor==6.7.0",
"django-cleanup==8.1.0",
"django-constance==3.1.0",
"django-decorator-include==3.0",
# (See this page for a list of all management commands:
# https://django-extensions.readthedocs.io/en/latest/command_extensions.html)
"django-extensions==3.2.3",
"django-ical==1.9.2",
"django-multiselectfield==0.1.12",
"django-phonenumber-field[phonenumbers]==7.3.0",
"django-simple-history==3.5.0",
"sorl-thumbnail==12.10.0",
# Packages related to authentication and other "social" stuff
"social-auth-app-django==5.4.1",
# This is already a requirement of `social-auth-app-django`, but it's listed here
# to provide the `openidconnect` extra - see
# https://python-social-auth.readthedocs.io/en/stable/installing.html#using-the-extras-options
"social-auth-core[openidconnect]==4.4.2",
"python-ldap==3.4.4",
# Async-related packages (mainly for sending of emails)
"channels[daphne]==4.1.0",
"channels-redis==4.2.0",
# Environment variables
"python-dotenv==1.2.2",
# Misc. packages
"bleach[css]==6.1.0",
"Pillow==12.2.0",
"uuid==1.30",
"XlsxWriter==3.2.0",
]
[dependency-groups]
dev = [
"django-debug-toolbar==6.0.0",
{ include-group = "linting" },
]
ci = [
"coverage==7.10.6",
{ include-group = "linting" },
]
linting = [
"pre-commit==4.5.1",
]
[tool.ruff]
line-length = 88
show-fixes = true
# Reformat code snippets in docstrings
format.docstring-code-format = true
lint.select = [
"A", # https://docs.astral.sh/ruff/rules/#flake8-builtins-a
"ASYNC", # https://docs.astral.sh/ruff/rules/#flake8-async-async
"B", # https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
"BLE", # https://docs.astral.sh/ruff/rules/#flake8-blind-except-ble
"E", # https://docs.astral.sh/ruff/rules/#error-e
"F", # https://docs.astral.sh/ruff/rules/#pyflakes-f
"FLY", # https://docs.astral.sh/ruff/rules/#flynt-fly
"FURB", # https://docs.astral.sh/ruff/rules/#refurb-furb
"I", # https://docs.astral.sh/ruff/rules/#isort-i
"ICN", # https://docs.astral.sh/ruff/rules/#flake8-import-conventions-icn
"INP", # https://docs.astral.sh/ruff/rules/#flake8-no-pep420-inp
"INT", # https://docs.astral.sh/ruff/rules/#flake8-gettext-int
"ISC", # https://docs.astral.sh/ruff/rules/#flake8-implicit-str-concat-isc
"LOG", # https://docs.astral.sh/ruff/rules/#flake8-logging-log
"PERF", # https://docs.astral.sh/ruff/rules/#perflint-perf
"PGH", # https://docs.astral.sh/ruff/rules/#pygrep-hooks-pgh
"PL", # https://docs.astral.sh/ruff/rules/#pylint-pl
"PTH", # https://docs.astral.sh/ruff/rules/#flake8-use-pathlib-pth
"PYI", # https://docs.astral.sh/ruff/rules/#flake8-pyi-pyi
"RSE", # https://docs.astral.sh/ruff/rules/#flake8-raise-rse
"SLOT", # https://docs.astral.sh/ruff/rules/#flake8-slots-slot
"T10", # https://docs.astral.sh/ruff/rules/#flake8-debugger-t10
"TID252", # https://docs.astral.sh/ruff/rules/relative-imports/#relative-imports-tid252
"TRY", # https://docs.astral.sh/ruff/rules/#tryceratops-try
"W", # https://docs.astral.sh/ruff/rules/#warning-w
"YTT", # https://docs.astral.sh/ruff/rules/#flake8-2020-ytt
]
lint.ignore = [
"PLC0415", # `import` should be at the top-level of a file
"PLC2701", # Private name imported from external module
"PLR09", # Too many <X>
"PLR1702", # Too many nested blocks
"PLR1704", # Redefining argument with the local name
"PLR5501", # Use `elif` instead of `else` then `if`, to reduce indentation
"TRY003", # Avoid specifying long messages outside the exception class
]
# Disable line length check in migrations
lint.per-file-ignores."**/migrations/**" = [ "E501" ]
lint.flake8-tidy-imports.ban-relative-imports = "all"
lint.isort.combine-as-imports = true
# Ignore E501 for comments starting with TODO, FIXME, etc.
lint.pycodestyle.ignore-overlong-task-comments = true
[tool.uv]
# Don't install `dev` by default (see
# https://docs.astral.sh/uv/concepts/projects/dependencies/#default-groups), to make it
# easier to *not* install those dependencies in prod
default-groups = [ ]
[tool.uv.sources]
python-ldap = [
# Christoph Gohlke distributes pre-compiled binaries of various Python packages,
# among others: https://github.com/cgohlke/python-ldap-build/releases.
# The library version must match the version selected under the `dev`
# dependency group, and the `cp3xx` version must match `requires-python`.
# URL found at https://github.com/cgohlke/python-ldap-build/releases/tag/v3.4.4-2
{ url = "https://github.com/cgohlke/python-ldap-build/releases/download/v3.4.4-2/python_ldap-3.4.4-cp311-cp311-win_amd64.whl", marker = "sys_platform == 'win32'" },
]