-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
109 lines (97 loc) · 2.42 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[project]
name = "django-slack-tools"
version = "0.1.0"
description = "Little helpers working with Slack bot 🤖 in Django."
authors = [{ name = "Yuchan Lee", email = "lasuillard@gmail.com" }]
readme = "README.md"
license = "MIT"
requires-python = ">=3.8, <4.0"
dependencies = [
"slack-bolt>=1,<2",
"django>=4.2,<5.2",
"xmltodict>=0.14.1,<1",
]
[project.optional-dependencies]
celery = ["celery>=5,<6"]
dev = [
"mypy~=1.11",
"ruff~=0.6",
"django-stubs[compatible-mypy]~=5.1",
"ipykernel~=6.27",
"django-extensions~=3.2",
"django-debug-toolbar~=4.4",
"mkdocs~=1.6",
"mkdocstrings[python]~=0.26",
"mkdocs-material~=9.5",
]
test = [
"coverage~=7.3",
"pytest~=8.0",
"pytest-cov~=5.0",
"pytest-sugar~=1.0",
"django-coverage-plugin~=3.1",
"pytest-django~=4.9",
"faker~=30.3",
"factory-boy~=3.3",
"pytest-xdist~=3.6",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["django_slack_tools"]
[tool.ruff]
target-version = "py38"
lint.select = ["ALL"]
lint.ignore = ["ANN101", "ANN401", "TD003", "FIX002", "ANN102", "D105"]
line-length = 120
[tool.ruff.lint.extend-per-file-ignores]
"__init__.py" = ["D104"]
"tests/*" = ["D", "S101", "PLR2004", "SLF001"]
"testproj/*" = ["D100"]
"*/migrations/*" = ["RUF012", "D"]
"examples/*" = ["D100", "D101"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.mypy]
python_version = "3.8"
exclude = ['^\.venv/*']
plugins = ["mypy_django_plugin.main"]
namespace_packages = true
check_untyped_defs = true
disallow_untyped_defs = true
ignore_missing_imports = true
warn_unused_ignores = true
warn_redundant_casts = true
warn_unused_configs = true
warn_return_any = true
show_error_codes = true
strict_optional = true
no_implicit_reexport = true
explicit_package_bases = true
[tool.django-stubs]
django_settings_module = "testproj.config.settings"
[tool.pytest.ini_options]
addopts = [
"--numprocesses=auto",
"--strict-markers",
"--doctest-modules",
"--ds=testproj.config.settings",
"--reuse-db",
"--cov",
"--cov-report=term",
"--cov-report=xml",
"--show-capture=no",
"--junitxml=junit.xml",
]
testpaths = ["tests"]
markers = ["slack: Tests working with Slack."]
[tool.coverage.run]
include = ["django_slack_tools/*"]
omit = ["*/migrations/*", "*tests*"]
branch = true
plugins = ["django_coverage_plugin"]
[tool.coverage.report]
skip_empty = true
show_missing = true
exclude_lines = ["pragma: no cover", "if TYPE_CHECKING"]