342f992556
Migrate main meet app to use UV for dependancy management. Also optimized the backend image build sequence for faster rebuilds when dependencies don't change. Also removed compiled django translations files are they are done in the build process now. Changes inspired by drive repo.
150 lines
3.6 KiB
TOML
150 lines
3.6 KiB
TOML
#
|
|
# Meet package
|
|
#
|
|
[build-system]
|
|
requires = ["uv_build>=0.10.9,<0.11.0"]
|
|
build-backend = "uv_build"
|
|
|
|
[project]
|
|
name = "meet"
|
|
version = "1.10.0"
|
|
authors = [{ "name" = "DINUM", "email" = "dev@mail.numerique.gouv.fr" }]
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Framework :: Django",
|
|
"Framework :: Django :: 5",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Natural Language :: English",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
description = "A simple video and phone conferencing tool, powered by LiveKit"
|
|
keywords = ["Django", "Contacts", "Templates", "RBAC"]
|
|
license = "MIT"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"boto3==1.42.49",
|
|
"Brotli==1.2.0",
|
|
"brevo-python==1.2.0",
|
|
"celery[redis]==5.6.2",
|
|
"dj-database-url==3.1.0",
|
|
"django-configurations==2.5.1",
|
|
"django-cors-headers==4.9.0",
|
|
"django-countries==8.2.0",
|
|
"django-filter==25.2",
|
|
"django-lasuite[all]==0.0.24",
|
|
"django-parler==2.3",
|
|
"redis==5.2.1",
|
|
"django-redis==6.0.0",
|
|
"django-storages[s3]==1.14.6",
|
|
"django-timezone-field>=5.1",
|
|
"django-pydantic-field==0.5.4",
|
|
"django==5.2.12",
|
|
"djangorestframework==3.16.1",
|
|
"drf_spectacular==0.29.0",
|
|
"dockerflow==2026.1.26",
|
|
"easy_thumbnails==2.10.1",
|
|
"factory_boy==3.3.3",
|
|
"gunicorn==25.1.0",
|
|
"jsonschema==4.26.0",
|
|
"markdown==3.10.2",
|
|
"nested-multipart-parser==1.6.0",
|
|
"psycopg[binary]==3.3.2",
|
|
"pydantic==2.12.4",
|
|
"PyJWT==2.11.0",
|
|
"python-frontmatter==1.1.0",
|
|
"python-magic==0.4.27",
|
|
"requests==2.32.5",
|
|
"sentry-sdk==2.53.0",
|
|
"whitenoise==6.11.0",
|
|
"mozilla-django-oidc==5.0.2",
|
|
"livekit-api==1.1.0",
|
|
"aiohttp==3.13.3",
|
|
]
|
|
|
|
[project.urls]
|
|
"Bug Tracker" = "https://github.com/suitenumerique/meet/issues/new"
|
|
"Changelog" = "https://github.com/suitenumerique/meet/blob/main/CHANGELOG.md"
|
|
"Homepage" = "https://github.com/suitenumerique/meet"
|
|
"Repository" = "https://github.com/suitenumerique/meet"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"django-extensions==4.1",
|
|
"drf-spectacular-sidecar==2026.1.1",
|
|
"freezegun==1.5.5",
|
|
"ipdb==0.13.13",
|
|
"ipython==9.10.0",
|
|
"pyfakefs==6.1.1",
|
|
"pylint-django==2.7.0",
|
|
"pylint<4.0.0",
|
|
"pytest-cov==7.0.0",
|
|
"pytest-django==4.12.0",
|
|
"pytest==9.0.2",
|
|
"pytest-icdiff==0.9",
|
|
"pytest-xdist==3.8.0",
|
|
"responses==0.25.8",
|
|
"ruff==0.15.1",
|
|
"types-requests==2.32.4.20260107",
|
|
]
|
|
|
|
[tool.uv.build-backend]
|
|
module-root = ""
|
|
source-exclude = [
|
|
"**/tests/**",
|
|
"**/test_*.py",
|
|
"**/tests.py",
|
|
]
|
|
|
|
[tool.ruff]
|
|
exclude = [
|
|
".git",
|
|
".venv",
|
|
"build",
|
|
"venv",
|
|
"__pycache__",
|
|
"*/migrations/*",
|
|
]
|
|
line-length = 88
|
|
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"B", # flake8-bugbear
|
|
"BLE", # flake8-blind-except
|
|
"C4", # flake8-comprehensions
|
|
"DJ", # flake8-django
|
|
"I", # isort
|
|
"PLC", # pylint-convention
|
|
"PLE", # pylint-error
|
|
"PLR", # pylint-refactoring
|
|
"PLW", # pylint-warning
|
|
"RUF100", # Ruff unused-noqa
|
|
"RUF200", # Ruff check pyproject.toml
|
|
"S", # flake8-bandit
|
|
"SLF", # flake8-self
|
|
"T20", # flake8-print
|
|
]
|
|
ignore= ["DJ001", "PLR2004"]
|
|
|
|
[tool.ruff.lint.isort]
|
|
section-order = ["future","standard-library","django","third-party","meet","first-party","local-folder"]
|
|
sections = { meet=["core"], django=["django"] }
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"**/tests/*" = ["S", "SLF"]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = [
|
|
"-v",
|
|
"--cov-report",
|
|
"term-missing",
|
|
# Allow test files to have the same name in different directories.
|
|
"--import-mode=importlib",
|
|
]
|
|
python_files = [
|
|
"test_*.py",
|
|
"tests.py",
|
|
]
|