Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
72 lines (61 loc) · 2.27 KB
/
Copy pathpyproject.toml
File metadata and controls
72 lines (61 loc) · 2.27 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
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools>=61.0"]
[project]
name = "repostyle"
description = "Shared repo-style lint rules for gradienthealth Python repos, plus a base ruff config."
readme = "README.md"
license = "Apache-2.0"
license-files = ["LICENSE"]
requires-python = ">=3.11"
# Managed by release-please from Conventional-Commit PR titles; do not edit by
# hand.
version = "0.37.0"
dependencies = []
[project.urls]
Homepage = "https://github.com/gradienthealth/repostyle"
Repository = "https://github.com/gradienthealth/repostyle"
[project.optional-dependencies]
dev = ["pytest"]
# The house third-party lint gates, version-pinned so every consuming repo gets
# the same versions through one `repostyle[gates]` dependency rather than
# tracking each tool itself. A consumer installs this extra alongside
# repostyle, keeps its own `local` hooks, and reads each tool's `[tool.*]`
# table from its own pyproject. This is the package counterpart to the exported
# `repostyle-*` pre-commit hooks: same tools, same pinned versions, for a repo
# that consumes repostyle as a package instead of as a hook. mypy, pyright, and
# pip-audit are absent by design; they need the consuming repo's full
# environment, not repostyle's pinned set.
gates = [
"bandit[toml]==1.9.4",
"codespell==2.4.2",
"deptry==0.25.1",
"interrogate==1.7.0",
"shellcheck-py==0.11.0.1",
"shfmt-py==4.0.0",
"tomli",
"vulture==2.16",
]
[project.scripts]
repostyle = "repostyle.cli:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
repostyle = ["rules/catalog.toml", "rules/imperative-verbs.toml"]
[tool.ruff]
# Dogfood the shared base this package ships to consuming repos, so the family
# set every consumer inherits also runs on repostyle's own code.
extend = "ruff-base.toml"
line-length = 88
[tool.ruff.format]
quote-style = "double"
[tool.ruff.lint.per-file-ignores]
# cli.py is the `repostyle` console entrypoint; printing findings and `explain`
# cards to stdout/stderr is its whole job, so it is exempt from T20's
# print-in-production ban (which ruff-base selects for consuming repos).
"src/repostyle/cli.py" = ["T201"]
[tool.pytest.ini_options]
pythonpath = ["src"]
testpaths = ["tests"]
[tool.repostyle]
warnings-as-errors = true