Switch from poetry to uv

This commit is contained in:
2025-01-06 16:17:54 +01:00
parent 429df81ec9
commit 0c4d72e17a
21 changed files with 1940 additions and 2980 deletions

View File

@ -1,91 +1,86 @@
[tool.poetry]
[project]
name = "Sith"
version = "3"
description = "Le web Sith de l'AE"
readme = "README.md"
authors = [
"Skia <skia@hya.sk>",
"klmp200 <antoine@bartuccio.fr>",
"Krophil <pierre.brunet@krophil.fr>",
"Maréchal <thgirod@hotmail.com>",
"Och <francescowitz68@gmail.com>",
"tleb <tleb@openmailbox.org>",
"Soldat <ryan-68@live.fr>",
"Nabos <gnikwo@hotmail.com>",
"Terre <jbaptiste.lenglet+git@gmail.com>",
"Lo-J <renaudg779@gmail.com>",
"Vial <robin.trioux@utbm.fr>"
{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"},
]
documentation = "https://sith-ae.readthedocs.io/"
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/"
license = "GPL-3.0-only"
documentation = "https://sith-ae.readthedocs.io/"
[tool.poetry.dependencies]
python = "^3.12"
Django = "^4.2.17"
django-ninja = "^1.3.0"
django-ninja-extra = "^0.21.8"
Pillow = "^11.0.0"
mistune = "^3.0.2"
django-jinja = "^2.11.0"
cryptography = "^44.0.0"
django-phonenumber-field = "^8.0.0"
phonenumbers = "^8.13.52"
reportlab = "^4.2.5"
django-haystack = "^3.3.0"
xapian-haystack = "^3.1.0"
libsass = "^0.23.0"
django-ordered-model = "^3.7.4"
django-simple-captcha = "^0.6.0"
python-dateutil = "^2.9.0.post0"
sentry-sdk = "^2.19.2"
Jinja2 = "^3.1.4"
django-countries = "^7.6.1"
dict2xml = "^1.7.6"
Sphinx = "^5" # Needed for building xapian
tomli = "^2.2.1"
django-honeypot = "^1.2.1"
pydantic-extra-types = "^2.10.1"
ical = "^8.3.0"
[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.poetry.group.prod.dependencies]
# deps used in prod, but unnecessary for development
# The C extra triggers compilation against system libs during install.
# Removing it would switch psycopg to a slower full-python implementation
psycopg = {extras = ["c"], version = "^3.2.3"}
redis = {extras = ["hiredis"], version = "^5.2.0"}
[tool.poetry.group.prod]
optional = true
[tool.poetry.group.dev.dependencies]
# deps used for development purposes, but unneeded in prod
django-debug-toolbar = "^4.4.6"
ipython = "^8.30.0"
pre-commit = "^4.0.1"
ruff = "^0.8.3" # Version used in pipeline is controlled by pre-commit hooks in .pre-commit.config.yaml
djhtml = "^3.0.7"
faker = "^33.1.0"
rjsmin = "^1.2.3"
[tool.poetry.group.tests.dependencies]
# deps used for testing purposes
freezegun = "^1.5.1" # used to test time-dependent code
pytest = "^8.3.4"
pytest-cov = "^6.0.0"
pytest-django = "^4.9.0"
model-bakery = "^1.20.0"
[tool.poetry.group.docs.dependencies]
# deps used to work on the documentation
mkdocs = "^1.6.1"
mkdocs-material = "^9.5.47"
mkdocstrings = "^0.27.0"
mkdocstrings-python = "^1.12.2"
mkdocs-include-markdown-plugin = "^7.1.2"
[tool.poetry.group.docs]
optional = true
[tool.uv]
default-groups = ["dev", "tests", "docs"]
[tool.xapian]
version = "1.4.25"
@ -131,7 +126,3 @@ convention = "google"
DJANGO_SETTINGS_MODULE = "sith.settings"
python_files = ["tests.py", "test_*.py", "*_tests.py"]
markers = ["slow"]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"