-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
83 lines (77 loc) · 3.43 KB
/
pyproject.toml
File metadata and controls
83 lines (77 loc) · 3.43 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
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "palette_gen"
version = "2.0.0"
description = "color scheme generator"
requires-python = ">=3.14"
authors = [{ name = "qdbp" }]
urls = { Homepage = "http://github.com/qdbp/palette_gen" }
dependencies = [
"numpy",
"numba>=0.63.1",
"matplotlib",
"scipy",
"pyyaml",
"colour-science",
"plotly",
]
[project.scripts]
palette-gen = "palette_gen:main"
[tool.setuptools.packages.find]
include = ["palette_gen*"]
[dependency-groups]
test = ["pytest"]
lint = ["ruff>=0.15.2"]
typecheck = ["ty>=0.0.17"]
dev = [
"pre-commit",
{ include-group = "lint" },
{ include-group = "typecheck" },
{ include-group = "test" },
]
[tool.ruff]
exclude = ['notebooks/**']
line-length = 105
target-version = "py314"
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"D", # Human-facing docstring formatting is intentionally de-emphasized.
"TRY", # Exception-message wording guidance is readability-biased.
"ANN001", # Legacy CLI/parser call signatures remain dynamically typed.
"ANN201", # Public helper return inference is acceptable in this codebase.
"ANN204", # Dunder return types are noise-heavy here.
"ANN401", # Boundary seams still route untyped third-party payloads.
"ARG002", # Descriptor/protocol hooks intentionally accept unused params.
"COM812", # Trailing-comma layout is delegated to Ruff's formatter.
"EM101", # Exception-construction style is intentionally unconstrained.
"EM102", # Exception-construction style is intentionally unconstrained.
"FIX002", # TODO policing is managed by issue workflow, not lint.
"G004", # Existing logging callsites intentionally use f-strings.
"LOG015", # Root logger usage is deliberate in CLI-facing glue.
"N802", # Conversion kernels preserve domain-standard function names.
"N803", # Formula variables preserve literature notation.
"N806", # Formula-local uppercase symbols preserve color-science notation.
"N816", # Global constants mirror upstream domain naming.
"NPY002", # RandomState is retained for deterministic solver behavior.
"PGH003", # Blanket type-ignore remains for numba-jitted boundaries.
"PLC0415", # Optional heavy imports remain lazy by design.
"PLC2401", # Unicode math symbols are acceptable in this domain.
"PLR0913", # Solver kernels trade arg-count brevity for explicit state lanes.
"PLR0915", # Long numeric kernels are kept contiguous for optimization clarity.
"PLR2004", # Color-space constants are domain literals, not magic values.
"RUF002", # Bibliography text intentionally preserves Unicode punctuation.
"RUF003", # Bibliography text intentionally preserves Unicode punctuation.
"S101", # Test assertions should stay idiomatic.
"SIM108", # Branch form is preferred when it keeps formula flow explicit.
"T201", # CLI and generation utilities intentionally print output.
"TC001", # Runtime-evaluated annotations require concrete imports at runtime.
"TC002", # Runtime-evaluated annotations require concrete imports at runtime.
"TC003", # Runtime-evaluated annotations require concrete imports at runtime.
"TD002", # TODO metadata conventions are not enforced here.
"TD003", # TODO metadata conventions are not enforced here.
"TD004", # TODO metadata conventions are not enforced here.
]
unfixable = ["F841", "ERA", "RUF100"]