We want to use the malware_detection module from lasuite library. We add a new setting MALWARE_DETECTION to configure the backend we want to use. The callback is also added. It removes the file if it is not safe or change it's status in the metadata to set it as ready.
149 lines
3.7 KiB
TOML
149 lines
3.7 KiB
TOML
#
|
|
# impress package
|
|
#
|
|
[build-system]
|
|
requires = ["setuptools"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "impress"
|
|
version = "3.2.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 = "An application to print markdown to pdf from a set of managed templates."
|
|
keywords = ["Django", "Contacts", "Templates", "RBAC"]
|
|
license = { file = "LICENSE" }
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"beautifulsoup4==4.13.4",
|
|
"boto3==1.38.9",
|
|
"Brotli==1.1.0",
|
|
"celery[redis]==5.5.2",
|
|
"django-configurations==2.5.1",
|
|
"django-cors-headers==4.7.0",
|
|
"django-countries==7.6.1",
|
|
"django-filter==25.1",
|
|
"django-lasuite[all]==0.0.8",
|
|
"django-parler==2.3",
|
|
"django-redis==5.4.0",
|
|
"django-storages[s3]==1.14.6",
|
|
"django-timezone-field>=5.1",
|
|
"django==5.1.9",
|
|
"django-treebeard==4.7.1",
|
|
"djangorestframework==3.16.0",
|
|
"drf_spectacular==0.28.0",
|
|
"dockerflow==2024.4.2",
|
|
"easy_thumbnails==2.10",
|
|
"factory_boy==3.3.3",
|
|
"gunicorn==23.0.0",
|
|
"jsonschema==4.23.0",
|
|
"lxml==5.4.0",
|
|
"markdown==3.8",
|
|
"mozilla-django-oidc==4.0.1",
|
|
"nested-multipart-parser==1.5.0",
|
|
"openai==1.77.0",
|
|
"psycopg[binary]==3.2.7",
|
|
"pycrdt==0.12.15",
|
|
"PyJWT==2.10.1",
|
|
"python-magic==0.4.27",
|
|
"redis<6.0.0",
|
|
"requests==2.32.3",
|
|
"sentry-sdk==2.27.0",
|
|
"whitenoise==6.9.0",
|
|
]
|
|
|
|
[project.urls]
|
|
"Bug Tracker" = "https://github.com/numerique-gouv/impress/issues/new"
|
|
"Changelog" = "https://github.com/numerique-gouv/impress/blob/main/CHANGELOG.md"
|
|
"Homepage" = "https://github.com/numerique-gouv/impress"
|
|
"Repository" = "https://github.com/numerique-gouv/impress"
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"django-extensions==4.1",
|
|
"django-test-migrations==1.5.0",
|
|
"drf-spectacular-sidecar==2025.5.1",
|
|
"freezegun==1.5.1",
|
|
"ipdb==0.13.13",
|
|
"ipython==9.2.0",
|
|
"pyfakefs==5.8.0",
|
|
"pylint-django==2.6.1",
|
|
"pylint==3.3.7",
|
|
"pytest-cov==6.1.1",
|
|
"pytest-django==4.11.1",
|
|
"pytest==8.3.5",
|
|
"pytest-icdiff==0.9",
|
|
"pytest-xdist==3.6.1",
|
|
"responses==0.25.7",
|
|
"ruff==0.11.8",
|
|
"types-requests==2.32.0.20250328",
|
|
]
|
|
|
|
[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",
|
|
]
|