-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
99 lines (88 loc) · 2.51 KB
/
pyproject.toml
File metadata and controls
99 lines (88 loc) · 2.51 KB
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
[project]
name = "raztodo"
version = "0.2.1"
description = "A fast, minimal dependency command-line todo/task manager backed by SQLite "
keywords = ["cli", "todo", "task", "command-line", "python"]
authors = [{ name = "Raz", email = "real.raz.dev@gmail.com" }]
license = "MIT"
readme = { file = "README.md", content-type = "text/markdown" }
requires-python = ">=3.13"
dependencies = ["raztint"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: End Users/Desktop",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Environment :: Console",
"Topic :: Utilities",
]
[project.urls]
Homepage = "https://github.com/razbuild/raztodo"
Repository = "https://github.com/razbuild/raztodo"
issues = "https://github.com/razbuild/raztodo/issues"
[project.scripts]
rt = "raztodo.__main__:main"
[project.optional-dependencies]
test = ["pytest"]
lint = ["ruff"]
formatter = ["black"]
typecheck = ["mypy"]
coverage = ["coverage"]
dev = ["pytest", "ruff", "black", "mypy", "coverage"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.mypy]
ignore_missing_imports = true
strict = true
[tool.ruff]
line-length = 100
src = ["src"]
exclude = [
".git",
"__pycache__",
"build",
"dist",
".venv",
"env",
"downloads",
"*.egg-info",
]
[tool.ruff.lint]
select = ["F", "E", "I", "N", "UP", "RUF", "B", "SIM"]
ignore = ["E501", "N818", "RUF019"]
[tool.pytest.ini_options]
addopts = ["--strict-config", "--strict-markers"]
xfail_strict = true
filterwarnings = ["error"]
[tool.coverage.run]
branch = true
source = ["src/raztodo"]
disable_warnings = ["no-data-collected"]
omit = [
"*/tests/*",
"*/__pycache__/*",
"*/__init__.py",
"*/__main__.py",
"*/presentation/cli/helpers.py", # Utility functions, tested indirectly
"*/presentation/cli/commands/*", # CLI commands, tested via integration
"*/presentation/cli/entrypoint.py", # CLI entry point, tested via integration
"*/presentation/cli/parser.py", # CLI parser, tested via integration
]
[tool.coverage.report]
exclude_also = [
"if TYPE_CHECKING:",
"raise NotImplementedError",
"@abstractmethod",
"def __repr__",
"def __str__",
"if __name__ == .__main__.:",
"class.*Error.*:",
"raise.*Error",
"pass$",
]
precision = 2
show_missing = true
skip_covered = false
skip_empty = true