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",
|
|
|
|
]
|
2024-05-13 22:25:03 +00:00
|
|
|
|
2023-03-25 20:01:14 +01:00
|
|
|
[tool.ruff]
|
2025-01-05 11:48:05 +01:00
|
|
|
target-version = "py313"
|
2024-05-13 22:25:03 +00:00
|
|
|
src = [
|
|
|
|
"src",
|
|
|
|
]
|
|
|
|
select = [
|
|
|
|
"ALL",
|
|
|
|
]
|
|
|
|
unfixable = [
|
|
|
|
"T20",
|
|
|
|
"RUF001",
|
|
|
|
"RUF002",
|
|
|
|
"RUF003",
|
|
|
|
]
|
2023-03-25 20:01:14 +01:00
|
|
|
|
|
|
|
ignore = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"ANN", # flake8-annotations
|
|
|
|
"BLE", # flake8-blind-except
|
|
|
|
"TCH", # flake8-type-checking / TODO: revisit later ?
|
2023-03-25 20:01:14 +01:00
|
|
|
|
2024-05-13 22:25:03 +00: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
|
|
|
]
|
|
|
|
|
2024-05-20 21:54:40 +00:00
|
|
|
pydocstyle.convention = "pep257"
|
|
|
|
per-file-ignores."**/tests/*" = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"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`.
|
2024-05-20 21:54:40 +00:00
|
|
|
per-file-ignores."tasks.py" = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"INP001",
|
|
|
|
]
|
2024-05-20 21:54:40 +00:00
|
|
|
per-file-ignores."src/conftest.py" = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"INP001",
|
|
|
|
]
|
2024-05-20 21:54:40 +00:00
|
|
|
per-file-ignores."src/manage.py" = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"INP001",
|
|
|
|
]
|
2024-05-20 21:54:40 +00:00
|
|
|
per-file-ignores."src/purchase/management/commands/generate_dummy_baskets.py" = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes.
|
2022-04-24 15:51:25 +02:00
|
|
|
]
|
2024-05-20 21:54:40 +00:00
|
|
|
mccabe.max-complexity = 10
|
2023-06-20 07:04:30 +00:00
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
addopts = "--color=yes --driver Firefox"
|
|
|
|
minversion = "6.0"
|
|
|
|
DJANGO_SETTINGS_MODULE = "checkout.settings"
|
|
|
|
testpaths = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"src",
|
2023-06-20 07:04:30 +00:00
|
|
|
]
|
|
|
|
|
2024-02-04 00:19:58 +01:00
|
|
|
markers = [
|
2024-05-13 22:25:03 +00:00
|
|
|
"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
|
|
|
|
|
2023-06-20 07:04:30 +00:00
|
|
|
###############################################################################
|
|
|
|
# ruff
|
|
|
|
###############################################################################
|