mirror of
https://github.com/suitenumerique/docs
synced 2026-04-21 13:37:20 +00:00
## Purpose For beta testing purposes we need to be able to activate Find hybrid search to some users, Find full-text search to some others and leave remaining users on basic DRF title search. ## Proposal The solution proposed is based on [django-waffle ](https://waffle.readthedocs.io/en/stable/types/flag.html). - [x] install waffle and activate the default app in settings. - [x] implement `_get_search_type` in `DocumentViewset` to determine which search type (title, hybrid or full-text) to use. - [x] send the `search_type` in the search query. ## External contributions Thank you for your contribution! 🎉 Please ensure the following items are checked before submitting your pull request: - [x] I have read and followed the [contributing guidelines](https://github.com/suitenumerique/docs/blob/main/CONTRIBUTING.md) - [x] I have read and agreed to the [Code of Conduct](https://github.com/suitenumerique/docs/blob/main/CODE_OF_CONDUCT.md) - [x] I have signed off my commits with `git commit --signoff` (DCO compliance) - [x] I have signed my commits with my SSH or GPG key (`git commit -S`) - [x] My commit messages follow the required format: `<gitmoji>(type) title description` - [x] I have added a changelog entry under `## [Unreleased]` section (if noticeable change) - [x] I have added corresponding tests for new features or bug fixes (if applicable) --------- Signed-off-by: charles <charles.englebert@protonmail.com>
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.8.1"
|
|
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.59",
|
|
"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.24",
|
|
"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<5.0.0",
|
|
"djangorestframework==3.16.1",
|
|
"django-waffle==5.0.0",
|
|
"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",
|
|
"langfuse==3.11.2",
|
|
"lxml==6.0.2",
|
|
"markdown==3.10.2",
|
|
"mozilla-django-oidc==5.0.2",
|
|
"nested-multipart-parser==1.6.0",
|
|
"openai==2.24.0",
|
|
"psycopg[binary,pool]==3.3.3",
|
|
"pycrdt==0.12.47",
|
|
"pydantic==2.12.5",
|
|
"pydantic-ai-slim[openai,logfire,web]==1.58.0",
|
|
"PyJWT==2.11.0",
|
|
"python-magic==0.4.27",
|
|
"redis<6.0.0",
|
|
"requests==2.32.5",
|
|
"sentry-sdk==2.53.0",
|
|
"uvicorn==0.41.0",
|
|
"whitenoise==6.12.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==2026.3.1",
|
|
"freezegun==1.5.5",
|
|
"ipdb==0.13.13",
|
|
"ipython==9.10.0",
|
|
"pyfakefs==6.1.3",
|
|
"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.26.0",
|
|
"ruff==0.15.4",
|
|
"types-requests==2.32.4.20260107",
|
|
]
|
|
|
|
[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",
|
|
]
|