checkout/pyproject.toml

112 lines
2.6 KiB
TOML
Raw Normal View History

2025-01-05 11:48:05 +01:00
[project]
name = "checkout"
version = "0.0.1"
requires-python = ">=3.13"
classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.13" ]
dependencies = [
"crispy-bootstrap5>=0.6",
"django>=4.1",
"django-anymail[mailgun]>=8.6",
"django-cleanup>=6",
"django-crispy-forms>=1.14",
"django-csp>=3.7",
"django-environ>=0.9",
"django-extensions>=3.1.5",
"django-htmx>=1.12.2",
"django-solo>=2",
"freezegun>=1.2.1",
"gunicorn>=20.1",
"matplotlib>=3.5.1",
"pillow>=9.3",
"requests>=2.28.1",
"whitenoise>=6.2",
]
2023-03-25 20:01:14 +01:00
[tool.ruff]
2025-01-05 11:48:05 +01:00
target-version = "py313"
src = [
"src",
]
select = [
"ALL",
]
unfixable = [
"T20",
"RUF001",
"RUF002",
"RUF003",
]
2023-03-25 20:01:14 +01:00
ignore = [
"ANN", # flake8-annotations
"BLE", # flake8-blind-except
"TCH", # flake8-type-checking / TODO: revisit later ?
2023-03-25 20:01:14 +01:00
"E501", # long lines
"D1", # missing docstring
"TRY003", # Avoid specifying long messages outside the exception class
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
2023-03-25 20:01:14 +01:00
]
pydocstyle.convention = "pep257"
per-file-ignores."**/tests/*" = [
"S101", # Use of assert detected.
"S105", # Possible hardcoded password.
"B011", # Do not call assert False since python -O removes these calls.
"ARG001", # Unused function argument (mostly fixtures)
"PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes.
2023-03-25 20:01:14 +01:00
]
# File {name} is part of an implicit namespace package. Add an `__init__.py`.
per-file-ignores."tasks.py" = [
"INP001",
]
per-file-ignores."src/conftest.py" = [
"INP001",
]
per-file-ignores."src/manage.py" = [
"INP001",
]
per-file-ignores."src/purchase/management/commands/generate_dummy_baskets.py" = [
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes.
2022-04-24 15:51:25 +02:00
]
mccabe.max-complexity = 10
[tool.pytest.ini_options]
addopts = "--color=yes --driver Firefox"
minversion = "6.0"
DJANGO_SETTINGS_MODULE = "checkout.settings"
testpaths = [
"src",
]
2024-02-04 00:19:58 +01:00
markers = [
"flaky",
2024-02-04 00:19:58 +01:00
]
2025-01-05 11:48:05 +01:00
[dependency-groups]
dev = [
"pre-commit>=2.7",
"pytest>=6.0",
"pytest-cov>=3.0.0",
"pytest-django>=4.5.0",
"pytest-selenium>=4.0.0",
"pytest-rerunfailures>=13.0",
"pre-commit>=2.7",
"model-bakery>=1.1",
"invoke>=2.0.0",
"factory-boy>=3.2.1",
"selenium>=4.4.3",
"black>=22.12.0",
"pip-tools>=6.0",
"ruff>=0.0.237",
]
[tool.uv]
package = false
###############################################################################
# ruff
###############################################################################