mirror of
https://github.com/ae-utbm/sith.git
synced 2025-01-09 16:41:12 +00:00
129 lines
3.9 KiB
TOML
129 lines
3.9 KiB
TOML
[project]
|
|
name = "Sith"
|
|
version = "3"
|
|
description = "Le web Sith de l'AE"
|
|
readme = "README.md"
|
|
authors = [
|
|
{name = "Skia", email = "skia@hya.sk"},
|
|
{name = "klmp200", email = "antoine@bartuccio.fr"},
|
|
{name = "Krophil", email = "pierre.brunet@krophil.fr"},
|
|
{name = "Maréchal", email = "thgirod@hotmail.com"},
|
|
{name = "Och", email = "francescowitz68@gmail.com"},
|
|
{name = "tleb", email = "tleb@openmailbox.org"},
|
|
{name = "Soldat", email = "ryan-68@live.fr"},
|
|
{name = "Nabos", email = "gnikwo@hotmail.com"},
|
|
{name = "Terre", email = "jbaptiste.lenglet+git@gmail.com"},
|
|
{name = "Lo-J", email = "renaudg779@gmail.com"},
|
|
{name = "Vial", email = "robin.trioux@utbm.fr"},
|
|
]
|
|
license = {text = "GPL-3.0-only"}
|
|
requires-python = "<4.0,>=3.12"
|
|
dependencies = [
|
|
"Django<5.0.0,>=4.2.17",
|
|
"django-ninja<2.0.0,>=1.3.0",
|
|
"django-ninja-extra<1.0.0,>=0.21.8",
|
|
"Pillow<12.0.0,>=11.0.0",
|
|
"mistune<4.0.0,>=3.0.2",
|
|
"django-jinja<3.0.0,>=2.11.0",
|
|
"cryptography<45.0.0,>=44.0.0",
|
|
"django-phonenumber-field<9.0.0,>=8.0.0",
|
|
"phonenumbers<9.0.0,>=8.13.52",
|
|
"reportlab<5.0.0,>=4.2.5",
|
|
"django-haystack<4.0.0,>=3.3.0",
|
|
"xapian-haystack<4.0.0,>=3.1.0",
|
|
"libsass<1.0.0,>=0.23.0",
|
|
"django-ordered-model<4.0.0,>=3.7.4",
|
|
"django-simple-captcha<1.0.0,>=0.6.0",
|
|
"python-dateutil<3.0.0.0,>=2.9.0.post0",
|
|
"sentry-sdk<3.0.0,>=2.19.2",
|
|
"Jinja2<4.0.0,>=3.1.4",
|
|
"django-countries<8.0.0,>=7.6.1",
|
|
"dict2xml<2.0.0,>=1.7.6",
|
|
"Sphinx<6,>=5",
|
|
"tomli<3.0.0,>=2.2.1",
|
|
"django-honeypot<2.0.0,>=1.2.1",
|
|
"pydantic-extra-types<3.0.0,>=2.10.1",
|
|
"ical<9.0.0,>=8.3.0",
|
|
]
|
|
|
|
[project.urls]
|
|
homepage = "https://ae.utbm.fr/"
|
|
documentation = "https://sith-ae.readthedocs.io/"
|
|
|
|
[dependency-groups]
|
|
prod = [
|
|
"psycopg[c]<4.0.0,>=3.2.3",
|
|
"redis[hiredis]<6.0.0,>=5.2.0",
|
|
]
|
|
dev = [
|
|
"django-debug-toolbar<5.0.0,>=4.4.6",
|
|
"ipython<9.0.0,>=8.30.0",
|
|
"pre-commit<5.0.0,>=4.0.1",
|
|
"ruff<1.0.0,>=0.8.3",
|
|
"djhtml<4.0.0,>=3.0.7",
|
|
"faker<34.0.0,>=33.1.0",
|
|
"rjsmin<2.0.0,>=1.2.3",
|
|
]
|
|
tests = [
|
|
"freezegun<2.0.0,>=1.5.1",
|
|
"pytest<9.0.0,>=8.3.4",
|
|
"pytest-cov<7.0.0,>=6.0.0",
|
|
"pytest-django<5.0.0,>=4.9.0",
|
|
"model-bakery<2.0.0,>=1.20.0",
|
|
]
|
|
docs = [
|
|
"mkdocs<2.0.0,>=1.6.1",
|
|
"mkdocs-material<10.0.0,>=9.5.47",
|
|
"mkdocstrings<1.0.0,>=0.27.0",
|
|
"mkdocstrings-python<2.0.0,>=1.12.2",
|
|
"mkdocs-include-markdown-plugin<8.0.0,>=7.1.2",
|
|
]
|
|
|
|
[tool.uv]
|
|
default-groups = ["dev", "tests", "docs"]
|
|
|
|
[tool.xapian]
|
|
version = "1.4.25"
|
|
|
|
[tool.ruff]
|
|
output-format = "concise" # makes ruff error logs easier to read
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"A", # shadowing of Python builtins
|
|
"B",
|
|
"C4", # use comprehensions when possible
|
|
"DJ", # django-specific rules,
|
|
"E", # pycodestyle (https://docs.astral.sh/ruff/rules/#pycodestyle-e-w)
|
|
"ERA", # commented code
|
|
"F", # pyflakes (https://docs.astral.sh/ruff/rules/#pyflakes-f)
|
|
"FBT", # boolean trap
|
|
"FLY", # f-string instead of str.join
|
|
"FURB", # https://docs.astral.sh/ruff/rules/#refurb-furb
|
|
"I", # isort
|
|
"INT", # gettext
|
|
"PERF", # performance
|
|
"PLW", # pylint warnings (https://docs.astral.sh/ruff/rules/#pylint-pl)
|
|
"RUF", # Ruff specific rules
|
|
"SIM", # simplify (https://docs.astral.sh/ruff/rules/#flake8-simplify-sim)
|
|
"T100", # breakpoint()
|
|
"T2", # print statements
|
|
"TCH", # type-checking block
|
|
"UP008", # Use super() instead of super(__class__, self)
|
|
"UP009", # utf-8 encoding declaration is unnecessary
|
|
]
|
|
|
|
ignore = [
|
|
"DJ001", # null=True in CharField/TextField. this one would require a migration
|
|
"E501", # line too long. The rule is too harsh, and the formatter deals with it in most cases
|
|
"RUF012" # mutable class attributes. This rule doesn't integrate well with django
|
|
]
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
convention = "google"
|
|
|
|
[tool.pytest.ini_options]
|
|
DJANGO_SETTINGS_MODULE = "sith.settings"
|
|
python_files = ["tests.py", "test_*.py", "*_tests.py"]
|
|
markers = ["slow"]
|