The content field is a writable property on the model which is persisted in object storage. We take advantage of the versioning, robustness and scalability of S3.
142 lines
3.5 KiB
TOML
142 lines
3.5 KiB
TOML
#
|
|
# impress package
|
|
#
|
|
[build-system]
|
|
requires = ["setuptools"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "impress"
|
|
version = "0.1.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.10",
|
|
]
|
|
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.10"
|
|
dependencies = [
|
|
"boto3==1.33.6",
|
|
"Brotli==1.1.0",
|
|
"celery[redis]==5.3.6",
|
|
"django-configurations==2.5",
|
|
"django-cors-headers==4.3.1",
|
|
"django-countries==7.5.1",
|
|
"django-parler==2.3",
|
|
"redis==5.0.3",
|
|
"django-redis==5.4.0",
|
|
"django-storages[s3]==1.14.2",
|
|
"django-timezone-field>=5.1",
|
|
"django==5.0.3",
|
|
"djangorestframework==3.14.0",
|
|
"drf_spectacular==0.26.5",
|
|
"dockerflow==2022.8.0",
|
|
"easy_thumbnails==2.8.5",
|
|
"factory_boy==3.3.0",
|
|
"gunicorn==22.0.0",
|
|
"jsonschema==4.20.0",
|
|
"markdown==3.5.1",
|
|
"nested-multipart-parser==1.5.0",
|
|
"psycopg[binary]==3.1.14",
|
|
"PyJWT==2.8.0",
|
|
"python-frontmatter==1.0.1",
|
|
"requests==2.31.0",
|
|
"sentry-sdk==1.38.0",
|
|
"url-normalize==1.4.3",
|
|
"WeasyPrint>=60.2",
|
|
"whitenoise==6.6.0",
|
|
"mozilla-django-oidc==4.0.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==3.2.3",
|
|
"drf-spectacular-sidecar==2023.12.1",
|
|
"ipdb==0.13.13",
|
|
"ipython==8.18.1",
|
|
"pyfakefs==5.3.2",
|
|
"pylint-django==2.5.5",
|
|
"pylint==3.0.3",
|
|
"pytest-cov==4.1.0",
|
|
"pytest-django==4.7.0",
|
|
"pytest==7.4.3",
|
|
"pytest-icdiff==0.8",
|
|
"pytest-xdist==3.5.0",
|
|
"responses==0.24.1",
|
|
"ruff==0.1.6",
|
|
"types-requests==2.31.0.10",
|
|
]
|
|
|
|
[tool.setuptools]
|
|
packages = { find = { where = ["."], exclude = ["tests"] } }
|
|
zip-safe = true
|
|
|
|
[tool.distutils.bdist_wheel]
|
|
universal = true
|
|
|
|
[tool.ruff]
|
|
exclude = [
|
|
".git",
|
|
".venv",
|
|
"build",
|
|
"venv",
|
|
"__pycache__",
|
|
"*/migrations/*",
|
|
]
|
|
ignore= ["DJ001", "PLR2004"]
|
|
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
|
|
]
|
|
|
|
[tool.ruff.lint.isort]
|
|
section-order = ["future","standard-library","django","third-party","impress","first-party","local-folder"]
|
|
sections = { impress=["core"], django=["django"] }
|
|
|
|
[tool.ruff.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",
|
|
]
|