pyproject.toml
[project]
name = "Western-Friend-website"
version = "0.1.0"
description = "A website for Western Friend (westernfriend.org), a Quaker publication that provides resources and support for Quaker communities and individuals seeking to live out their faith in the world."
readme = "README.md"
requires-python = ">=3.10"
license = { text = "agpl-3.0-or-later" }
authors = [
{ name = "Brylie Christopher Oxley", email = "brylie@amble.fi" },
{ name = "Mary Klein", email = "editor@westernfriend.org" },
{ name = "Western Friend" },
{ name = "Western Friend Board" },
]
maintainers = [{ name = "Brylie Christopher Oxley", email = "brylie@amble.fi" }]
keywords = [
# keep-sorted start
"django",
"interfaith",
"quaker",
"quaker-activism",
"quaker-archives",
"quaker-arts",
"quaker-ecology",
"quaker-ecumenism",
"quaker-education",
"quaker-epistles",
"quaker-faith",
"quaker-faith-and-practice",
"quaker-friends",
"quaker-history",
"quaker-letters",
"quaker-meetings",
"quaker-organizations",
"quaker-peace",
"quaker-philanthropy",
"quaker-philosophy",
"quaker-testimonies",
"quaker-worship",
"quakerism",
"wagtail",
"website",
"western-friend",
# keep-sorted end
]
classifiers = [
# keep-sorted start
"Development Status :: 4 - Beta",
"Environment :: Web Environment",
"Framework :: Django :: 3.2",
"Framework :: Django",
"Framework :: Wagtail",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python",
"Topic :: Religion :: Quaker",
"Topic :: Religion",
# keep-sorted end
]
dependencies = [
# keep-sorted start
"boto3",
"crispy-bootstrap5",
"dj-database-url",
"django",
"django-crispy-forms",
"django-extensions",
"django-flatpickr",
"django-honeypot",
"django-registration",
"django-storages",
"django-timezone-field",
"django_coverage_plugin",
"gunicorn",
"psycopg2-binary",
"python-dotenv",
"requests",
"sentry-sdk",
"tzdata",
"wagtail",
"wagtail-color-panel",
"wagtailmedia",
# keep-sorted end
]
[project.urls]
Homepage = "https://westernfriend.org"
Repository = "https://github.com/WesternFriend/WF-website"
[project.optional-dependencies]
dev = [
# keep-sorted start
"coverage",
"django-browser-reload",
"django-stubs[compatible-mypy]",
"factory_boy",
"mypy",
"pip-tools",
"pre-commit",
"types-beautifulsoup4",
"types-factory-boy",
"types-requests",
"validate-pyproject",
"wagtail-factories",
# keep-sorted end
]
[tool.isort]
profile = "black"
# TODO: add this back in when we figure out how to make it work
[tool.mypy]
plugins = ["mypy_django_plugin.main"]
[[tool.mypy.overrides]]
module = "wagtail.*"
ignore_missing_imports = true
[tool.django-stubs]
django_settings_module = "core.settings"
# Exclude a variety of commonly ignored directories.
exclude = [".git", ".mypy_cache", ".ruff_cache", ".venv", "**/migrations"]
# Assume Python 3.11
target-version = "py311"
[tool.setuptools]
py-modules = []
[tool.coverage.run]
plugins = ['django_coverage_plugin']
[tool.coverage.django_coverage_plugin]
template_extensions = 'html, txt, tex, email'