mirror of
https://github.com/davidism/modify-repos.git
synced 2025-07-07 11:25:37 +00:00
146 lines
2.9 KiB
TOML
146 lines
2.9 KiB
TOML
[project]
|
|
name = "modify-repos"
|
|
version = "0.2.0"
|
|
description = "Apply changes across multiple repos at once."
|
|
readme = "README.md"
|
|
authors = [{ name = "David Lord" }]
|
|
license = "MIT"
|
|
license-files = ["LICENSE.txt"]
|
|
requires-python = "~=3.13.0"
|
|
dependencies = [
|
|
"click>=8.1.8",
|
|
"jinja2>=3.1.5",
|
|
"platformdirs>=4.3.6",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["pdm-backend>=2.4.3"]
|
|
build-backend = "pdm.backend"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"mypy>=1.14.1",
|
|
"pre-commit>=4.0.1",
|
|
"pyright>=1.1.391",
|
|
"pytest>=8.3.4",
|
|
"ruff>=0.8.6",
|
|
"tox>=4.23.2",
|
|
"tox-uv>=1.17.0",
|
|
]
|
|
pre-commit = [
|
|
"pre-commit>=4.0.1",
|
|
]
|
|
typing = [
|
|
"mypy>=1.14.1",
|
|
"pyright>=1.1.391",
|
|
]
|
|
docs = [
|
|
"furo>=2024.8.6",
|
|
"myst-parser>=4.0.0",
|
|
"sphinx>=8.1.3",
|
|
"sphinx-autodoc2>=0.5.0",
|
|
]
|
|
docs-auto = [
|
|
"sphinx-autobuild>=2024.10.3",
|
|
]
|
|
gha-update = [
|
|
"gha-update>=0.1.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
filterwarnings = [
|
|
"error",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
source = ["modify_repos", "tests"]
|
|
|
|
[tool.coverage.paths]
|
|
source = ["src", "*/site-packages"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.13"
|
|
files = ["src"]
|
|
show_error_codes = true
|
|
pretty = true
|
|
strict = true
|
|
|
|
[tool.pyright]
|
|
pythonVersion = "3.13"
|
|
include = ["src"]
|
|
typeCheckingMode = "strict"
|
|
|
|
[tool.ruff]
|
|
src = ["src"]
|
|
fix = true
|
|
show-fixes = true
|
|
output-format = "full"
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"B", # flake8-bugbear
|
|
"E", # pycodestyle error
|
|
"F", # pyflakes
|
|
"I", # isort
|
|
"UP", # pyupgrade
|
|
"W", # pycodestyle warning
|
|
]
|
|
|
|
[tool.ruff.lint.isort]
|
|
force-single-line = true
|
|
order-by-type = false
|
|
|
|
[tool.gha-update]
|
|
tag-only = [
|
|
"slsa-framework/slsa-github-generator",
|
|
]
|
|
|
|
[tool.tox]
|
|
env_list = ["style", "typing", "docs"]
|
|
|
|
[tool.tox.env_run_base]
|
|
runner = "uv-venv-lock-runner"
|
|
package = "wheel"
|
|
wheel_build_env = ".pkg"
|
|
constrain_package_deps = true
|
|
use_frozen_constraints = true
|
|
|
|
[tool.tox.env.style]
|
|
dependency_groups = ["pre-commmit"]
|
|
skip_install = true
|
|
commands = [["pre-commit", "run", "--all-files"]]
|
|
|
|
[tool.tox.env.typing]
|
|
dependency_groups = ["typing"]
|
|
commands = [
|
|
["mypy"],
|
|
["pyright"],
|
|
["pyright", "--verifytypes", "modify_repos", "--ignoreexternal"],
|
|
]
|
|
|
|
[tool.tox.env.docs]
|
|
dependency_groups = ["docs"]
|
|
commands = [["sphinx-build", "-E", "-W", "-b", "dirhtml", "docs", "docs/_build/dirhtml"]]
|
|
|
|
[tool.tox.env.docs-auto]
|
|
dependency_groups = ["docs", "docs-auto"]
|
|
commands = [["sphinx-autobuild", "-W", "-b", "dirhtml", "--watch", "src", "docs", "docs/_build/dirhtml"]]
|
|
|
|
[tool.tox.env.update-actions]
|
|
labels = ["update"]
|
|
dependency_groups = ["gha-update"]
|
|
skip_install = true
|
|
commands = [["gha-update"]]
|
|
|
|
[tool.tox.env.update-pre_commit]
|
|
labels = ["update"]
|
|
dependency_groups = ["pre-commit"]
|
|
skip_install = true
|
|
commands = [["pre-commit", "autoupdate", "--freeze", "-j4"]]
|
|
|
|
[tool.tox.env.update-requirements]
|
|
labels = ["update"]
|
|
skip_install = true
|
|
commands = [["uv", "sync", { replace = "posargs", default = ["-U"], extend = true }]]
|