mirror of
https://github.com/suitenumerique/docs.git
synced 2026-09-23 10:05:10 +02:00
The frontend application is using Vercel AI SDK and it's data stream protocol. We decided to use the pydantic AI library to use it's vercel ai adapter. It will make the payload validation, use AsyncIterator and deal with vercel specification.
154 lines
3.9 KiB
TOML
154 lines
3.9 KiB
TOML
#
|
|
# impress package
|
|
#
|
|
[build-system]
|
|
requires = ["setuptools"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "impress"
|
|
version = "4.5.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.12",
|
|
]
|
|
description = "Docs is a collaborative text editor designed to address common challenges in knowledge building and sharing."
|
|
keywords = ["Django", "Contacts", "Templates", "RBAC"]
|
|
license = { file = "LICENSE" }
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"beautifulsoup4==4.14.3",
|
|
"boto3==1.42.17",
|
|
"Brotli==1.2.0",
|
|
"celery[redis]==5.5.3",
|
|
"django-configurations==2.5.1",
|
|
"django-cors-headers==4.9.0",
|
|
"django-countries==8.2.0",
|
|
"django-csp==4.0",
|
|
"django-filter==25.2",
|
|
"django-lasuite[all]==0.0.22",
|
|
"django-parler==2.3",
|
|
"django-redis==6.0.0",
|
|
"django-storages[s3]==1.14.6",
|
|
"django-timezone-field>=5.1",
|
|
"django<6.0.0",
|
|
"django-treebeard==4.8.0",
|
|
"djangorestframework==3.16.1",
|
|
"drf_spectacular==0.29.0",
|
|
"dockerflow==2024.4.2",
|
|
"easy_thumbnails==2.10.1",
|
|
"factory_boy==3.3.3",
|
|
"gunicorn==23.0.0",
|
|
"jsonschema==4.25.1",
|
|
"langfuse==3.11.2",
|
|
"lxml==6.0.2",
|
|
"markdown==3.10",
|
|
"mozilla-django-oidc==5.0.2",
|
|
"nested-multipart-parser==1.6.0",
|
|
"openai==2.21.0",
|
|
"psycopg[binary]==3.3.2",
|
|
"pycrdt==0.12.44",
|
|
"pydantic==2.12.5",
|
|
"pydantic-ai-slim[openai,logfire,web]==1.58.0",
|
|
"PyJWT==2.10.1",
|
|
"python-magic==0.4.27",
|
|
"redis<6.0.0",
|
|
"requests==2.32.5",
|
|
"sentry-sdk==2.48.0",
|
|
"uvicorn==0.40.0",
|
|
"whitenoise==6.11.0",
|
|
]
|
|
|
|
[project.urls]
|
|
"Bug Tracker" = "https://github.com/suitenumerique/docs/issues/new"
|
|
"Changelog" = "https://github.com/suitenumerique/docs/blob/main/CHANGELOG.md"
|
|
"Homepage" = "https://github.com/suitenumerique/docs"
|
|
"Repository" = "https://github.com/suitenumerique/docs"
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"django-extensions==4.1",
|
|
"django-test-migrations==1.5.0",
|
|
"drf-spectacular-sidecar==2025.12.1",
|
|
"freezegun==1.5.5",
|
|
"ipdb==0.13.13",
|
|
"ipython==9.8.0",
|
|
"pyfakefs==6.0.0",
|
|
"pylint-django==2.6.1",
|
|
"pylint<4.0.0",
|
|
"pytest-cov==7.0.0",
|
|
"pytest-django==4.11.1",
|
|
"pytest==9.0.2",
|
|
"pytest-icdiff==0.9",
|
|
"pytest-xdist==3.8.0",
|
|
"responses==0.25.8",
|
|
"ruff==0.14.10",
|
|
"types-requests==2.32.4.20250913",
|
|
]
|
|
|
|
[tool.setuptools]
|
|
packages = { find = { where = ["."], exclude = ["tests"] } }
|
|
zip-safe = true
|
|
|
|
[tool.distutils.bdist_wheel]
|
|
universal = true
|
|
|
|
[tool.ruff]
|
|
exclude = [
|
|
".git",
|
|
".venv",
|
|
"build",
|
|
"venv",
|
|
"__pycache__",
|
|
]
|
|
line-length = 88
|
|
|
|
|
|
[tool.ruff.lint]
|
|
ignore = ["DJ001", "PLR2004"]
|
|
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
|
|
]
|
|
|
|
[tool.ruff.lint.isort]
|
|
section-order = ["future","standard-library","django","third-party","impress","first-party","local-folder"]
|
|
sections = { impress=["core"], django=["django"] }
|
|
extra-standard-library = ["tomllib"]
|
|
|
|
[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",
|
|
]
|