pkgmgr review writes one self-contained HTML page for a repository: commits ahead of the base, the staged, unstaged and untracked diff per file, and the checks of the change set. Repository text reaches the packaged Jinja template only as autoescaped data, git runs in scan mode (now also without replace objects), and the page is written atomically through mkstemp and os.replace. 🎯 Fix: 92 % 💥 Break: 3 % 💸 Cost: new ⏱️ Time: new 🛡️ Security: 100 % 🏆 Score: 89 🚦 Gate: cost new, time new: cleared by the operator's commit word for C (2026-11-07) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
56 lines
1.1 KiB
TOML
56 lines
1.1 KiB
TOML
[build-system]
|
|
requires = [
|
|
"setuptools>=68",
|
|
"wheel"
|
|
]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "kpmx"
|
|
version = "2.3.0"
|
|
description = "Kevin's package-manager tool (pkgmgr)"
|
|
readme = "README.md"
|
|
requires-python = ">=3.9"
|
|
license = { text = "MIT" }
|
|
|
|
authors = [
|
|
{ name = "Kevin Veen-Birkenbach", email = "info@veen.world" }
|
|
]
|
|
|
|
# Base runtime dependencies
|
|
dependencies = [
|
|
"PyYAML>=6.0",
|
|
"tomli; python_version < \"3.11\"",
|
|
"jinja2>=3.1.6"
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://s.veen.world/pkgmgr"
|
|
Source = "https://github.com/kevinveenbirkenbach/package-manager"
|
|
|
|
[project.optional-dependencies]
|
|
keyring = ["keyring>=24.0.0"]
|
|
dev = [
|
|
"mypy"
|
|
]
|
|
|
|
# CLI entrypoint: this is the "pkgmgr" command
|
|
[project.scripts]
|
|
pkgmgr = "pkgmgr.cli:main"
|
|
|
|
# -----------------------------
|
|
# setuptools configuration
|
|
# -----------------------------
|
|
# Source layout: all packages live under "src/"
|
|
[tool.setuptools]
|
|
package-dir = { "" = "src" }
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
include = ["pkgmgr*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
"pkgmgr.config" = ["*.yml", "*.yaml"]
|
|
"pkgmgr.actions.review" = ["*.j2"]
|