2024-01-13 15:39:31 +01:00
|
|
|
[project]
|
|
|
|
name = "membersystem"
|
|
|
|
description = ''
|
|
|
|
readme = "README.md"
|
|
|
|
requires-python = ">=3.11"
|
|
|
|
keywords = []
|
|
|
|
authors = [
|
|
|
|
{ name = "Víðir Valberg Guðmundsson", email = "valberg@orn.li" },
|
2025-01-15 07:16:12 +00:00
|
|
|
{ name = "Benjamin Balder Bach", email = "benjamin@overtag.dk" },
|
2024-01-13 15:39:31 +01:00
|
|
|
]
|
|
|
|
dependencies = [
|
2024-08-09 08:33:14 +02:00
|
|
|
"Django~=5.1",
|
2024-07-31 21:17:00 +00:00
|
|
|
"django-allauth~=0.63",
|
2025-01-15 07:16:12 +00:00
|
|
|
"django-dirtyfields~=1.9.5",
|
2024-08-09 08:33:14 +02:00
|
|
|
"django-money~=3.5",
|
|
|
|
"django-oauth-toolkit~=2.4",
|
2024-01-13 15:39:31 +01:00
|
|
|
"django-registries==0.0.3",
|
2024-01-14 12:27:36 +01:00
|
|
|
"django-view-decorator==0.0.4",
|
2024-08-14 09:17:29 +00:00
|
|
|
"django-oauth-toolkit~=2.4",
|
|
|
|
"django-ratelimit~=4.1",
|
2024-08-09 08:33:14 +02:00
|
|
|
"django-zen-queries~=2.1",
|
2024-08-03 17:55:32 +00:00
|
|
|
"django_stubs_ext~=5.0",
|
2024-08-09 08:33:14 +02:00
|
|
|
"environs[django]>=11,<12",
|
2025-01-15 07:16:12 +00:00
|
|
|
"httpx~=0.28.1",
|
2024-08-09 08:33:14 +02:00
|
|
|
"psycopg[binary]~=3.2",
|
2024-08-03 17:55:32 +00:00
|
|
|
"stripe~=10.5",
|
2024-08-09 08:33:14 +02:00
|
|
|
"uvicorn~=0.30",
|
|
|
|
"whitenoise~=6.7",
|
2024-01-13 15:39:31 +01:00
|
|
|
]
|
2024-03-03 11:05:08 +01:00
|
|
|
version = "0.0.1"
|
2024-01-13 15:39:31 +01:00
|
|
|
|
2024-12-26 00:03:26 +01:00
|
|
|
[tool.uv]
|
|
|
|
dev-dependencies = [
|
2025-01-15 07:16:12 +00:00
|
|
|
"coverage[toml]~=7.6",
|
|
|
|
"pytest~=8.3",
|
2024-01-13 15:39:31 +01:00
|
|
|
"pytest-cov",
|
2025-01-15 07:16:12 +00:00
|
|
|
"pytest-django~=4.8",
|
|
|
|
"mypy~=1.11",
|
|
|
|
"django-stubs[compatible-mypy]~=5.0",
|
|
|
|
"django-debug-toolbar~=4.4",
|
|
|
|
"django-browser-reload~=1.15",
|
2024-01-13 15:39:31 +01:00
|
|
|
"model-bakery==1.17.0",
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
DJANGO_SETTINGS_MODULE="tests.settings"
|
|
|
|
addopts = "--reuse-db"
|
|
|
|
norecursedirs = "build dist docs .eggs/* *.egg-info htmlcov .git"
|
|
|
|
python_files = "test*.py"
|
|
|
|
testpaths = "tests"
|
2025-01-15 07:16:12 +00:00
|
|
|
pythonpath = ". src tests"
|
2024-01-13 15:39:31 +01:00
|
|
|
|
|
|
|
[tool.coverage.run]
|
|
|
|
branch = true
|
|
|
|
parallel = true
|
|
|
|
|
|
|
|
[tool.coverage.report]
|
|
|
|
exclude_lines = [
|
|
|
|
"no cov",
|
|
|
|
"if __name__ == .__main__.:",
|
|
|
|
"if TYPE_CHECKING:",
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.mypy]
|
|
|
|
mypy_path = "src/"
|
|
|
|
exclude = [
|
|
|
|
"venv/",
|
|
|
|
"dist/",
|
|
|
|
"docs/",
|
|
|
|
]
|
|
|
|
namespace_packages = false
|
|
|
|
show_error_codes = true
|
|
|
|
strict = true
|
|
|
|
warn_unreachable = true
|
|
|
|
follow_imports = "normal"
|
2024-08-03 17:55:32 +00:00
|
|
|
plugins = ["mypy_django_plugin.main"]
|
2024-01-13 15:39:31 +01:00
|
|
|
|
|
|
|
[tool.django-stubs]
|
2024-08-03 17:55:32 +00:00
|
|
|
django_settings_module = "project.settings"
|
2024-01-13 15:39:31 +01:00
|
|
|
|
|
|
|
[[tool.mypy.overrides]]
|
|
|
|
module = "tests.*"
|
|
|
|
allow_untyped_defs = true
|
2024-02-29 21:25:59 +01:00
|
|
|
|
|
|
|
[tool.ruff]
|
|
|
|
target-version = "py312"
|
|
|
|
extend-exclude = [
|
|
|
|
".git",
|
|
|
|
"__pycache__",
|
|
|
|
]
|
2025-01-26 12:44:10 +00:00
|
|
|
lint.select = ["ALL"]
|
|
|
|
lint.ignore = [
|
|
|
|
"G004", # https://docs.astral.sh/ruff/rules/logging-f-string/
|
|
|
|
"EM101", # https://docs.astral.sh/ruff/rules/raw-string-in-exception/
|
|
|
|
"EM102", # https://docs.astral.sh/ruff/rules/f-string-in-exception/
|
2024-02-29 21:25:59 +01:00
|
|
|
"COM812", # missing-trailing-comma (https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules)
|
|
|
|
"ISC001", # single-line-implicit-string-concatenation (https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules)
|
2025-01-26 12:44:10 +00:00
|
|
|
"ARG001", # https://docs.astral.sh/ruff/rules/unused-function-argument/
|
|
|
|
"ARG002", # https://docs.astral.sh/ruff/rules/unused-method-argument/
|
|
|
|
"ARG004", # https://docs.astral.sh/ruff/rules/unused-static-method-argument/
|
|
|
|
"S101", # https://docs.astral.sh/ruff/rules/assert/
|
|
|
|
"FIX002", # https://docs.astral.sh/ruff/rules/line-contains-todo/ - we rely on TD*
|
|
|
|
"D104", # https://docs.astral.sh/ruff/rules/undocumented-public-package/
|
|
|
|
"D105", # https://docs.astral.sh/ruff/rules/undocumented-magic-method/
|
|
|
|
"D106", # https://docs.astral.sh/ruff/rules/undocumented-public-nested-class/
|
|
|
|
"D107", # https://docs.astral.sh/ruff/rules/undocumented-public-init/
|
2024-02-29 21:25:59 +01:00
|
|
|
]
|
2025-01-26 12:44:10 +00:00
|
|
|
line-length = 120
|
2024-02-29 21:25:59 +01:00
|
|
|
|
|
|
|
[tool.ruff.lint.isort]
|
|
|
|
force-single-line = true
|
2024-07-15 00:19:37 +02:00
|
|
|
|
2025-01-26 12:44:10 +00:00
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
|
|
convention = "pep257"
|
|
|
|
|
|
|
|
[tool.ruff.lint.pylint]
|
|
|
|
max-args = 10
|
|
|
|
|
2024-07-15 00:19:37 +02:00
|
|
|
[tool.ruff.lint.per-file-ignores]
|
2025-01-26 12:44:10 +00:00
|
|
|
"test*.py" = [
|
|
|
|
"S101", # https://docs.astral.sh/ruff/rules/assert/
|
|
|
|
"PLR2004", # https://docs.astral.sh/ruff/rules/magic-value-comparison/
|
|
|
|
"PT009", # https://docs.astral.sh/ruff/rules/pytest-unittest-assertion/
|
|
|
|
"S106", # https://docs.astral.sh/ruff/rules/hardcoded-password-func-arg/
|
|
|
|
"PLR0912", # https://docs.astral.sh/ruff/rules/too-many-branches/
|
|
|
|
"C901", # https://docs.astral.sh/ruff/rules/complex-structure/
|
|
|
|
"SLF001", # https://docs.astral.sh/ruff/rules/private-member-access/
|
|
|
|
"ANN001", # https://docs.astral.sh/ruff/rules/missing-type-function-argument/
|
|
|
|
"ANN201", # https://docs.astral.sh/ruff/rules/missing-return-type-undocumented-public-function/
|
|
|
|
]
|
|
|
|
"factories.py" = [
|
|
|
|
"PLR0913" # https://docs.astral.sh/ruff/rules/too-many-arguments/
|
2024-07-15 00:19:37 +02:00
|
|
|
]
|
2025-01-26 12:44:10 +00:00
|
|
|
"*/migrations/*" = [
|
|
|
|
"RUF001",
|
|
|
|
"RUF012",
|
|
|
|
"D" # https://docs.astral.sh/ruff/rules/#pydocstyle-d
|
2025-01-15 07:16:12 +00:00
|
|
|
]
|