membersystem/pyproject.toml

140 lines
4.1 KiB
TOML
Raw Normal View History

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" },
{ name = "Benjamin Balder Bach", email = "benjamin@overtag.dk" },
2024-01-13 15:39:31 +01:00
]
dependencies = [
"Django~=5.1",
"django-allauth~=0.63",
"django-dirtyfields~=1.9.5",
"django-money~=3.5",
"django-oauth-toolkit~=2.4",
2025-03-04 21:34:56 +01:00
"django-registries==0.0.4",
2024-01-14 12:27:36 +01:00
"django-view-decorator==0.0.4",
"django-oauth-toolkit~=2.4",
"django-ratelimit~=4.1",
"django-zen-queries~=2.1",
"django_stubs_ext~=5.0",
"environs[django]>=11,<12",
"httpx~=0.28.1",
"psycopg[binary]~=3.2",
"stripe~=10.5",
"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 = [
"coverage[toml]~=7.6",
"pytest~=8.3",
2024-01-13 15:39:31 +01:00
"pytest-cov",
"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"
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"
plugins = ["mypy_django_plugin.main"]
2024-01-13 15:39:31 +01:00
[tool.django-stubs]
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__",
]
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)
"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
]
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
[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]
"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
]
"*/migrations/*" = [
"RUF001",
"RUF012",
"D" # https://docs.astral.sh/ruff/rules/#pydocstyle-d
]