-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
95 lines (86 loc) · 2.11 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
[project]
name = "sonatoki"
version = "0.9.1"
description = "ilo li moku e toki li pana e sona ni: ni li toki ala toki pona?"
authors = [
{ name = "jan Kekan San (@gregdan3)", email = "[email protected]" },
]
dependencies = [
"unidecode>=1.3.6",
"regex>=2023.12.25",
"typing-extensions>=4.11.0",
"emoji>=2.12.1",
]
requires-python = ">=3.8"
readme = "README.md"
license = { text = "AGPL-3.0-or-later" }
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[tool.pdm]
distribution = true
[tool.pdm.dev-dependencies]
test = [
"pytest-asyncio>=0.21.1",
"pytest-cov>=5.0.0",
"pytest>=7.4.2",
"hypothesis>=6.86.2",
"line-profiler>=4.1.1",
"pyyaml>=6.0.1",
"ipython>=8.12.3",
]
lint = [
"black>=23.9.1",
"isort>=5.12.0",
"docformatter>=1.7.5",
]
doc = [
# "sphinx>=7.1.2",
# "furo>=2023.9.10",
# "sphinx-intl>=2.1.0"
]
[tool.pytest.ini_options]
log_cli = true
log_cli_level = "DEBUG"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
testpaths = [
"tests/",
]
asyncio_default_fixture_loop_scope = "function"
[tool.isort]
length_sort = "1"
profile = "black"
sections = "STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER"
import_heading_stdlib = "STL"
import_heading_thirdparty = "PDM"
import_heading_firstparty = "LOCAL"
import_heading_localfolder = "FILESYSTEM"
[tool.pyright]
include = ["src/", "tests/"]
exclude = ["**/__pycache__", "**/__pypackages__", "**/.venv"]
venvPath = "."
venv = ".venv"
executionEnvironments = [{ root = "." }]
[tool.ruff]
line-length = 88
src = ["src"]
[tool.coverage.run]
branch = true
source = ["src/sonatoki/"]
omit = [
"src/sonatoki/__main__.py"
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
# Don't complain about missing debug-only code:
"def __repr__",
"if self.debug",
# Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError",
# Don't complain if non-runnable code isn't run:
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]