repomatic 7.3.1__tar.gz → 7.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {repomatic-7.3.1 → repomatic-7.4.1}/PKG-INFO +4 -7
- repomatic-7.4.1/pyproject.toml +338 -0
- repomatic-7.3.1/pyproject.toml → repomatic-7.4.1/pyproject.toml.orig +53 -26
- {repomatic-7.3.1 → repomatic-7.4.1}/readme.md +0 -4
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/__init__.py +2 -2
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/binaries_page.py +48 -24
- repomatic-7.4.1/repomatic/binary.py +493 -0
- repomatic-7.4.1/repomatic/bundle.py +67 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/changelog.py +6 -7
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/checksums.py +29 -17
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/cli.py +248 -362
- repomatic-7.4.1/repomatic/compat.py +33 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/config.py +37 -4
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/_release-engine.yaml +77 -45
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/action-publish-pypi.yaml +1 -1
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/agent-sphinx-docs.md +165 -60
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/autofix.yaml +68 -68
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/cancel-runs.yaml +2 -2
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/changelog.yaml +21 -18
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/debug.yaml +3 -3
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/docs.yaml +13 -9
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/labels.yaml +13 -13
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/lint.yaml +36 -26
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/lychee.toml +10 -1
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/release.yaml +16 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-babysit-ci.md +5 -3
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-repomatic-audit.md +1 -1
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-repomatic-changelog.md +1 -1
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-repomatic-deps.md +3 -3
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-repomatic-ship.md +10 -5
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-sphinx-docs-sync.md +15 -6
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/tests.yaml +11 -6
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/typos.toml +2 -2
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/unsubscribe.yaml +2 -2
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/uv.toml +4 -3
- repomatic-7.3.1/repomatic/deps_graph.py → repomatic-7.4.1/repomatic/dep_graph.py +7 -6
- repomatic-7.4.1/repomatic/dep_report.py +664 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/dep_sources.py +6 -7
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/docs.py +67 -32
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/git_ops.py +77 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/actions.py +24 -15
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/dev_release.py +2 -31
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/issue.py +72 -3
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/pr_body.py +48 -15
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/release_sync.py +8 -13
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/releases.py +104 -5
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/status.py +8 -10
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/token.py +0 -8
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/workflow_sync.py +4 -71
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/gitignore.py +2 -3
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/http.py +71 -3
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/images.py +6 -9
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/init_project.py +14 -235
- repomatic-7.4.1/repomatic/labels.py +332 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/lint_repo.py +390 -235
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/mailmap.py +8 -17
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/metadata.py +109 -84
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/npm.py +12 -24
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/prepare_release.py +57 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/pypi.py +14 -37
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/registry.py +3 -3
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/setup_guide.py +28 -9
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/sync_ops.py +164 -105
- repomatic-7.3.1/repomatic/templates/prepare-release.md → repomatic-7.4.1/repomatic/templates/prepare-release.md.noformat +3 -7
- repomatic-7.4.1/repomatic/templates/setup-guide-sha-pinning-required.md +18 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide.md +3 -1
- repomatic-7.3.1/repomatic/templates/update-deps-graph.md → repomatic-7.4.1/repomatic/templates/update-dep-graph.md +1 -1
- repomatic-7.3.1/repomatic/tool_runner.py → repomatic-7.4.1/repomatic/tool_registry.py +44 -998
- repomatic-7.4.1/repomatic/tool_runner.py +972 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/tool_runner_page.py +1 -1
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/uv.py +44 -699
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/version_sync.py +10 -28
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/virustotal.py +8 -16
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/vulnerable_deps.py +24 -14
- repomatic-7.3.1/repomatic/binary.py +0 -315
- repomatic-7.3.1/repomatic/github/pr.py +0 -95
- {repomatic-7.3.1 → repomatic-7.4.1}/license +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/__main__.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/broken_links.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/cache.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/__init__.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/agent-grunt-qa.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/agent-qa-engineer.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/autolock.yaml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/.github/ISSUE_TEMPLATE/new-link.yaml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/.github/code-of-conduct.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/.github/contributing.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/.github/contributing.zh.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/.github/funding.yml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/.github/pull_request_template.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/__init__.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/awesome_template/license +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/bumpversion.toml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/codecov.yaml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/labeller-content-based.yaml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/labeller-file-based.yaml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/labels.toml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/mdformat.toml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/mypy.toml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/pytest.toml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/ruff.toml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-av-false-positive.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-awesome-triage.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-benchmark-update.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-brand-assets.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-file-bug-report.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-repomatic-init.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-repomatic-topics.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-translation-sync.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/skill-upstream-audit.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/yamllint.yaml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/data/zizmor.yaml +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/__init__.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/gh.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/matrix.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/sponsor.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/github/unsubscribe.py +0 -0
- /repomatic-7.3.1/repomatic/test_matrix.py → /repomatic-7.4.1/repomatic/matrix_axes.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/py.typed +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/pyproject.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/__init__.py +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/available-admonition.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/broken-links-issue.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/bump-version.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/detect-squash-merge.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/development-warning.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/fix-changelog.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/fix-typos.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/fix-vulnerable-deps.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/format-images.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/format-json.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/format-markdown.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/format-pyproject.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/format-python.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/format-shell.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/generated-footer.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/github-releases.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/immutable-releases.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/pr-metadata.md.noformat +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/refresh-tip.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/release-notes.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/release-sync-report.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-branch-ruleset.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-dependabot.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-fork-pr-approval.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-notifications-pat.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-pages-source.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-pypi-trusted-publisher.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-token.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-verify.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/setup-guide-virustotal.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-action-pins.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-bumpversion.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-dep-sources.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-gitignore.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-mailmap.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-repomatic.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-tool-versions.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-uv-lock.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/sync-workflow-pins.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/unavailable-admonition.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/unsubscribe-phase1.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/unsubscribe-phase2.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/update-docs.md +0 -0
- {repomatic-7.3.1 → repomatic-7.4.1}/repomatic/templates/yanked-admonition.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: repomatic
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.4.1
|
|
4
4
|
Summary: 🏭 Automate repository maintenance, releases, and CI/CD workflows
|
|
5
5
|
Keywords: changelog-formatter,dependabot-alternative,github-actions,github-labels,github-workflow,gitignore,mailmap,mypy,nuitka,python-automation,release-automation,repository-automation,repository-management,reusable-workflows,software-factory,sphinx-doc,typo,uv,workflow-reusable
|
|
6
6
|
Author: Kevin Deldycke
|
|
@@ -46,10 +46,11 @@ Classifier: Typing :: Typed
|
|
|
46
46
|
Requires-Dist: arrow>=1.3
|
|
47
47
|
Requires-Dist: backports-strenum>=1 ; python_full_version < '3.11'
|
|
48
48
|
Requires-Dist: boltons>=25
|
|
49
|
-
Requires-Dist: click-extra>=8.
|
|
49
|
+
Requires-Dist: click-extra>=8.8
|
|
50
50
|
Requires-Dist: extra-platforms>=12.0.2
|
|
51
51
|
Requires-Dist: packaging>=17
|
|
52
52
|
Requires-Dist: py-walk>=0.3.1
|
|
53
|
+
Requires-Dist: pyelftools>=0.33
|
|
53
54
|
Requires-Dist: pyproject-metadata>=0.9
|
|
54
55
|
Requires-Dist: pyyaml>=6.0.3
|
|
55
56
|
Requires-Dist: tomlrt>=1.7.6
|
|
@@ -58,7 +59,7 @@ Requires-Dist: wcmatch>=10
|
|
|
58
59
|
Requires-Python: >=3.10
|
|
59
60
|
Project-URL: Changelog, https://github.com/kdeldycke/repomatic/blob/main/changelog.md
|
|
60
61
|
Project-URL: Documentation, https://kdeldycke.github.io/repomatic
|
|
61
|
-
Project-URL: Download, https://github.com/kdeldycke/repomatic/releases/tag/v7.
|
|
62
|
+
Project-URL: Download, https://github.com/kdeldycke/repomatic/releases/tag/v7.4.1
|
|
62
63
|
Project-URL: Funding, https://github.com/sponsors/kdeldycke
|
|
63
64
|
Project-URL: Homepage, https://github.com/kdeldycke/repomatic
|
|
64
65
|
Project-URL: Issues, https://github.com/kdeldycke/repomatic/issues
|
|
@@ -153,7 +154,3 @@ Check these projects to get real-life examples of usage and inspiration:
|
|
|
153
154
|
-  [Extra Platforms](https://github.com/kdeldycke/extra-platforms) - Detect platforms and group them by family.
|
|
154
155
|
|
|
155
156
|
Send a PR to add your project if you use repomatic.
|
|
156
|
-
|
|
157
|
-
## Development
|
|
158
|
-
|
|
159
|
-
See `claude.md` for development commands, code style, testing guidelines, and design principles.
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
build-backend = "uv_build"
|
|
3
|
+
requires = ["uv-build>=0.8"]
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "repomatic"
|
|
7
|
+
version = "7.4.1"
|
|
8
|
+
description = "🏭 Automate repository maintenance, releases, and CI/CD workflows"
|
|
9
|
+
readme = "readme.md"
|
|
10
|
+
keywords = [
|
|
11
|
+
"changelog-formatter",
|
|
12
|
+
"dependabot-alternative",
|
|
13
|
+
"github-actions",
|
|
14
|
+
"github-labels",
|
|
15
|
+
"github-workflow",
|
|
16
|
+
"gitignore",
|
|
17
|
+
"mailmap",
|
|
18
|
+
"mypy",
|
|
19
|
+
"nuitka",
|
|
20
|
+
"python-automation",
|
|
21
|
+
"release-automation",
|
|
22
|
+
"repository-automation",
|
|
23
|
+
"repository-management",
|
|
24
|
+
"reusable-workflows",
|
|
25
|
+
"software-factory",
|
|
26
|
+
"sphinx-doc",
|
|
27
|
+
"typo",
|
|
28
|
+
"uv",
|
|
29
|
+
"workflow-reusable",
|
|
30
|
+
]
|
|
31
|
+
license = "GPL-2.0-or-later"
|
|
32
|
+
license-files = ["license"]
|
|
33
|
+
requires-python = ">=3.10"
|
|
34
|
+
classifiers = [
|
|
35
|
+
"Development Status :: 5 - Production/Stable",
|
|
36
|
+
"Environment :: Console",
|
|
37
|
+
"Framework :: Sphinx",
|
|
38
|
+
"Intended Audience :: Developers",
|
|
39
|
+
"Operating System :: MacOS :: MacOS X",
|
|
40
|
+
"Operating System :: Microsoft :: Windows",
|
|
41
|
+
"Operating System :: POSIX :: BSD :: FreeBSD",
|
|
42
|
+
"Operating System :: POSIX :: BSD :: NetBSD",
|
|
43
|
+
"Operating System :: POSIX :: BSD :: OpenBSD",
|
|
44
|
+
"Operating System :: POSIX :: Linux",
|
|
45
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
46
|
+
"Programming Language :: Python :: 3.10",
|
|
47
|
+
"Programming Language :: Python :: 3.11",
|
|
48
|
+
"Programming Language :: Python :: 3.12",
|
|
49
|
+
"Programming Language :: Python :: 3.13",
|
|
50
|
+
"Programming Language :: Python :: 3.14",
|
|
51
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
52
|
+
"Programming Language :: Unix Shell",
|
|
53
|
+
"Topic :: Documentation :: Sphinx",
|
|
54
|
+
"Topic :: File Formats :: JSON",
|
|
55
|
+
"Topic :: Security",
|
|
56
|
+
"Topic :: Software Development :: Build Tools",
|
|
57
|
+
"Topic :: Software Development :: Compilers",
|
|
58
|
+
"Topic :: Software Development :: Documentation",
|
|
59
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
60
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
61
|
+
"Topic :: Software Development :: Version Control :: Git",
|
|
62
|
+
"Topic :: System :: Archiving :: Packaging",
|
|
63
|
+
"Topic :: System :: Installation/Setup",
|
|
64
|
+
"Topic :: System :: Shells",
|
|
65
|
+
"Topic :: System :: Software Distribution",
|
|
66
|
+
"Topic :: Terminals",
|
|
67
|
+
"Topic :: Text Processing :: Markup :: HTML",
|
|
68
|
+
"Topic :: Text Processing :: Markup :: Markdown",
|
|
69
|
+
"Topic :: Utilities",
|
|
70
|
+
"Typing :: Typed",
|
|
71
|
+
]
|
|
72
|
+
dependencies = [
|
|
73
|
+
"arrow>=1.3",
|
|
74
|
+
"backports-strenum>=1; python_version<'3.11'",
|
|
75
|
+
"boltons>=25",
|
|
76
|
+
"click-extra>=8.8",
|
|
77
|
+
"extra-platforms>=12.0.2",
|
|
78
|
+
"packaging>=17",
|
|
79
|
+
"py-walk>=0.3.1",
|
|
80
|
+
"pyelftools>=0.33",
|
|
81
|
+
"pyproject-metadata>=0.9",
|
|
82
|
+
"pyyaml>=6.0.3",
|
|
83
|
+
"tomlrt>=1.7.6",
|
|
84
|
+
"vt-py>=0.18",
|
|
85
|
+
"wcmatch>=10",
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
[[project.authors]]
|
|
89
|
+
name = "Kevin Deldycke"
|
|
90
|
+
email = "kevin@deldycke.com"
|
|
91
|
+
|
|
92
|
+
[project.urls]
|
|
93
|
+
Changelog = "https://github.com/kdeldycke/repomatic/blob/main/changelog.md"
|
|
94
|
+
Documentation = "https://kdeldycke.github.io/repomatic"
|
|
95
|
+
Download = "https://github.com/kdeldycke/repomatic/releases/tag/v7.4.1"
|
|
96
|
+
Funding = "https://github.com/sponsors/kdeldycke"
|
|
97
|
+
Homepage = "https://github.com/kdeldycke/repomatic"
|
|
98
|
+
Issues = "https://github.com/kdeldycke/repomatic/issues"
|
|
99
|
+
Repository = "https://github.com/kdeldycke/repomatic"
|
|
100
|
+
|
|
101
|
+
[project.scripts]
|
|
102
|
+
repomatic = "repomatic.__main__:main"
|
|
103
|
+
|
|
104
|
+
[dependency-groups]
|
|
105
|
+
test = [
|
|
106
|
+
"coverage[toml]>=7.11",
|
|
107
|
+
"pytest>=9",
|
|
108
|
+
"pytest-cov>=4",
|
|
109
|
+
"pytest-github-actions-annotate-failures>=0.2",
|
|
110
|
+
"pytest-randomly>=3",
|
|
111
|
+
"pytest-xdist[psutil]>=3.7",
|
|
112
|
+
]
|
|
113
|
+
docs = [
|
|
114
|
+
"click-extra[sphinx]",
|
|
115
|
+
"furo>=2025.9.25",
|
|
116
|
+
"myst-parser>=5.1",
|
|
117
|
+
"sphinx>=8",
|
|
118
|
+
"sphinx-autodoc-typehints>=2.4",
|
|
119
|
+
"sphinx-copybutton>=0.5.2",
|
|
120
|
+
"sphinx-datatables>=1",
|
|
121
|
+
"sphinx-design>=0.6",
|
|
122
|
+
"sphinxcontrib-jquery>=4",
|
|
123
|
+
"sphinxcontrib-mermaid>=1.2.3",
|
|
124
|
+
"sphinxext-opengraph>=0.13",
|
|
125
|
+
]
|
|
126
|
+
typing = [
|
|
127
|
+
"backports-strenum>=1",
|
|
128
|
+
"types-boltons>=25.0.0.20250822",
|
|
129
|
+
"types-docutils>=0.22.3.20251115",
|
|
130
|
+
"types-pyyaml>=6.0.12.9",
|
|
131
|
+
]
|
|
132
|
+
|
|
133
|
+
[tool.uv]
|
|
134
|
+
required-version = ">=0.11.15"
|
|
135
|
+
exclude-newer = "1 week"
|
|
136
|
+
|
|
137
|
+
[tool.uv.dependency-groups.docs]
|
|
138
|
+
requires-python = ">= 3.14"
|
|
139
|
+
|
|
140
|
+
[tool.uv.exclude-newer-package]
|
|
141
|
+
click-extra = "2026-08-02T00:00:00Z"
|
|
142
|
+
extra-platforms = "2026-07-28T00:00:00Z"
|
|
143
|
+
repomatic = "0 day"
|
|
144
|
+
|
|
145
|
+
[tool.uv.build-backend]
|
|
146
|
+
module-root = ""
|
|
147
|
+
|
|
148
|
+
[tool.nuitka]
|
|
149
|
+
copyright = "Kevin Deldycke <kevin@deldycke.com> and contributors. Distributed under GPL-2.0-or-later license."
|
|
150
|
+
file-description = "🏭 Automate repository maintenance, releases, and CI/CD workflows"
|
|
151
|
+
file-version = "7.4.1"
|
|
152
|
+
include-data-dir = ["repomatic/data/awesome_template=repomatic/data/awesome_template"]
|
|
153
|
+
include-data-files = ["repomatic/templates/*.md=repomatic/templates/"]
|
|
154
|
+
include-package-data = ["click_extra"]
|
|
155
|
+
linux-icon = "docs/assets/icon.png"
|
|
156
|
+
macos-app-icon = "docs/assets/icon.icns"
|
|
157
|
+
product-name = "Repomatic"
|
|
158
|
+
product-version = "7.4.1"
|
|
159
|
+
windows-icon-from-ico = "docs/assets/icon.ico"
|
|
160
|
+
|
|
161
|
+
[tool.ruff]
|
|
162
|
+
preview = true
|
|
163
|
+
fix = true
|
|
164
|
+
unsafe-fixes = false
|
|
165
|
+
show-fixes = true
|
|
166
|
+
|
|
167
|
+
[tool.ruff.format]
|
|
168
|
+
docstring-code-format = true
|
|
169
|
+
|
|
170
|
+
[tool.ruff.lint]
|
|
171
|
+
extend-select = ["PLW1514"]
|
|
172
|
+
ignore = [
|
|
173
|
+
"D400",
|
|
174
|
+
"ERA001",
|
|
175
|
+
"LOG015",
|
|
176
|
+
]
|
|
177
|
+
future-annotations = true
|
|
178
|
+
|
|
179
|
+
[tool.ruff.lint.isort]
|
|
180
|
+
combine-as-imports = true
|
|
181
|
+
|
|
182
|
+
[tool.typos.default]
|
|
183
|
+
extend-ignore-re = [
|
|
184
|
+
"(?s)<!-- typos:off -->.*?<!-- typos:on -->",
|
|
185
|
+
'\{qeury\}',
|
|
186
|
+
'base32 "[0-9a-z]{52}"',
|
|
187
|
+
]
|
|
188
|
+
extend-ignore-identifiers-re = [
|
|
189
|
+
"certifi",
|
|
190
|
+
"nwo",
|
|
191
|
+
"vulnerabilit",
|
|
192
|
+
"WARNIN",
|
|
193
|
+
]
|
|
194
|
+
|
|
195
|
+
[tool.typos.default.extend-identifiers]
|
|
196
|
+
Github = "GitHub"
|
|
197
|
+
IOS = "iOS"
|
|
198
|
+
Javascript = "JavaScript"
|
|
199
|
+
MacOS = "macOS"
|
|
200
|
+
PNGs = "PNGs"
|
|
201
|
+
PyPi = "PyPI"
|
|
202
|
+
Typescript = "TypeScript"
|
|
203
|
+
|
|
204
|
+
[tool.typos.default.extend-words]
|
|
205
|
+
astroid = "astroid"
|
|
206
|
+
oject = "oject"
|
|
207
|
+
PNGs = "PNGs"
|
|
208
|
+
sur = "sur"
|
|
209
|
+
|
|
210
|
+
[tool.mypy]
|
|
211
|
+
mypy_path = "docs"
|
|
212
|
+
check_untyped_defs = true
|
|
213
|
+
warn_redundant_casts = true
|
|
214
|
+
warn_unused_ignores = true
|
|
215
|
+
warn_return_any = true
|
|
216
|
+
warn_unreachable = true
|
|
217
|
+
pretty = true
|
|
218
|
+
warn_unused_configs = true
|
|
219
|
+
|
|
220
|
+
[[tool.mypy.overrides]]
|
|
221
|
+
module = [
|
|
222
|
+
"py_walk.*",
|
|
223
|
+
"sphinxcontrib.mermaid",
|
|
224
|
+
"vt",
|
|
225
|
+
]
|
|
226
|
+
ignore_missing_imports = true
|
|
227
|
+
|
|
228
|
+
[tool.pytest]
|
|
229
|
+
addopts = [
|
|
230
|
+
"--durations=10",
|
|
231
|
+
"--cov",
|
|
232
|
+
"--cov-report=term",
|
|
233
|
+
"--numprocesses=auto",
|
|
234
|
+
"--import-mode=importlib",
|
|
235
|
+
]
|
|
236
|
+
markers = ["once: Tests that only need to run once, not across the full CI matrix."]
|
|
237
|
+
testpaths = ["tests"]
|
|
238
|
+
xfail_strict = true
|
|
239
|
+
|
|
240
|
+
[tool.coverage.run]
|
|
241
|
+
branch = true
|
|
242
|
+
source = ["repomatic"]
|
|
243
|
+
|
|
244
|
+
[tool.coverage.report]
|
|
245
|
+
precision = 2
|
|
246
|
+
|
|
247
|
+
[tool.bumpversion]
|
|
248
|
+
current_version = "7.4.1"
|
|
249
|
+
parse = '(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.dev(?P<dev>\d+))?'
|
|
250
|
+
serialize = [
|
|
251
|
+
"{major}.{minor}.{patch}.dev{dev}",
|
|
252
|
+
"{major}.{minor}.{patch}",
|
|
253
|
+
]
|
|
254
|
+
ignore_missing_files = true
|
|
255
|
+
allow_dirty = true
|
|
256
|
+
|
|
257
|
+
[tool.bumpversion.parts.dev]
|
|
258
|
+
optional_value = "release"
|
|
259
|
+
values = [
|
|
260
|
+
"0",
|
|
261
|
+
"release",
|
|
262
|
+
]
|
|
263
|
+
|
|
264
|
+
[[tool.bumpversion.files]]
|
|
265
|
+
glob = "./**/__init__.py"
|
|
266
|
+
ignore_missing_version = true
|
|
267
|
+
|
|
268
|
+
[[tool.bumpversion.files]]
|
|
269
|
+
filename = "./pyproject.toml"
|
|
270
|
+
regex = true
|
|
271
|
+
search = '(?m)^version = "{current_version}"'
|
|
272
|
+
replace = 'version = "{new_version}"'
|
|
273
|
+
|
|
274
|
+
[[tool.bumpversion.files]]
|
|
275
|
+
filename = "./pyproject.toml"
|
|
276
|
+
search = "releases/tag/v{current_version}"
|
|
277
|
+
replace = "releases/tag/v{new_version}"
|
|
278
|
+
|
|
279
|
+
[[tool.bumpversion.files]]
|
|
280
|
+
filename = "./pyproject.toml"
|
|
281
|
+
ignore_missing_version = true
|
|
282
|
+
serialize = ["{major}.{minor}.{patch}"]
|
|
283
|
+
search = '-version = "{current_version}"'
|
|
284
|
+
replace = '-version = "{new_version}"'
|
|
285
|
+
|
|
286
|
+
[[tool.bumpversion.files]]
|
|
287
|
+
filename = "./changelog.md"
|
|
288
|
+
search = "## [`{current_version}` (unreleased)]("
|
|
289
|
+
replace = "## [`{new_version}` (unreleased)]("
|
|
290
|
+
|
|
291
|
+
[[tool.bumpversion.files]]
|
|
292
|
+
filename = "./citation.cff"
|
|
293
|
+
regex = true
|
|
294
|
+
search = "(?m)^version: {current_version}"
|
|
295
|
+
replace = "version: {new_version}"
|
|
296
|
+
|
|
297
|
+
[[tool.bumpversion.files]]
|
|
298
|
+
filename = "./citation.cff"
|
|
299
|
+
regex = true
|
|
300
|
+
search = 'date-released: \d{{4}}-\d{{2}}-\d{{2}}'
|
|
301
|
+
replace = "date-released: {utcnow:%Y-%m-%d}"
|
|
302
|
+
|
|
303
|
+
[tool.lychee]
|
|
304
|
+
exclude = [
|
|
305
|
+
"^https://github.com/.+/issues/[0-9]+#issuecomment-.*$",
|
|
306
|
+
"^https://github.com/.+/releases/.+/download/.*$",
|
|
307
|
+
"^https://doi.org/.+/zenodo.*$",
|
|
308
|
+
'bitdefender\.com',
|
|
309
|
+
'archive\.ph',
|
|
310
|
+
'^https://www\.npmjs\.com/package/.*$',
|
|
311
|
+
'^https://www\.virustotal\.com/gui/.*$',
|
|
312
|
+
'^https://star-history\.com/.*$',
|
|
313
|
+
'githubstatus\.com',
|
|
314
|
+
'^file://.*/docs/[\w.-]+\.md#',
|
|
315
|
+
]
|
|
316
|
+
exclude_path = ["repomatic/templates/"]
|
|
317
|
+
|
|
318
|
+
[tool.repomatic]
|
|
319
|
+
abandoned-versions = [
|
|
320
|
+
"4.1.0",
|
|
321
|
+
"4.6.1",
|
|
322
|
+
"4.7.0",
|
|
323
|
+
"4.8.0",
|
|
324
|
+
"5.0.0",
|
|
325
|
+
"6.0.0",
|
|
326
|
+
"6.18.0",
|
|
327
|
+
]
|
|
328
|
+
exclude = ["workflows"]
|
|
329
|
+
pypi-package-history = [
|
|
330
|
+
"gha-utils",
|
|
331
|
+
"repokit",
|
|
332
|
+
]
|
|
333
|
+
|
|
334
|
+
[tool.repomatic.changelog]
|
|
335
|
+
archive-location = "./docs/changelog-archive.md"
|
|
336
|
+
|
|
337
|
+
[tool.repomatic.manpages]
|
|
338
|
+
script = "repomatic.cli:repomatic"
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
[build-system]
|
|
2
2
|
build-backend = "uv_build"
|
|
3
|
-
|
|
3
|
+
# uv-build is intentionally left uncapped. uv warns on build that the sdist
|
|
4
|
+
# could break on a future breaking uv-build release, but repomatic is pure
|
|
5
|
+
# Python with none of the packaging edge cases that warning guards against (no
|
|
6
|
+
# compiled extensions, no GPU/CUDA targets). Flexibility is preferred here:
|
|
7
|
+
# repomatic runs across the ecosystem, where uv versions drift between projects,
|
|
8
|
+
# and a hard ceiling risks a chicken-and-egg deadlock when one project's uv
|
|
9
|
+
# moves ahead of repomatic's next release.
|
|
10
|
+
requires = [ "uv-build>=0.8" ]
|
|
4
11
|
|
|
5
12
|
[project]
|
|
6
13
|
# Docs: https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
|
|
7
14
|
name = "repomatic"
|
|
8
|
-
version = "7.
|
|
15
|
+
version = "7.4.1"
|
|
9
16
|
description = "🏭 Automate repository maintenance, releases, and CI/CD workflows"
|
|
10
17
|
readme = "readme.md"
|
|
11
18
|
keywords = [
|
|
@@ -84,16 +91,21 @@ dependencies = [
|
|
|
84
91
|
"backports-strenum>=1; python_version<'3.11'",
|
|
85
92
|
# boltons 25.0.0 dropped Python 3.9, matching our requires-python >= 3.10.
|
|
86
93
|
"boltons>=25",
|
|
87
|
-
# click-extra 8.
|
|
88
|
-
# `
|
|
89
|
-
#
|
|
90
|
-
#
|
|
91
|
-
# `
|
|
92
|
-
#
|
|
93
|
-
#
|
|
94
|
-
# `
|
|
95
|
-
#
|
|
96
|
-
|
|
94
|
+
# click-extra 8.8.0 is the floor: repomatic delegates to the utilities absorbed
|
|
95
|
+
# there — `format_size` (byte sizes in the image and cache reports), the
|
|
96
|
+
# `parse_duration`/`parse_friendly_duration`/`parse_iso8601_duration` family
|
|
97
|
+
# (uv cooldown spans in `uv.py`/`version_sync.py`), `prep_path`/`is_stdout`
|
|
98
|
+
# (CLI `--output` handling), and `config_table_to_flags` (tool flag
|
|
99
|
+
# translation). Earlier floors remain in play: `binaries_page` imports
|
|
100
|
+
# `click_extra.blocks` (`replace_region`, 8.7.1) to splice the binaries page
|
|
101
|
+
# chart region; `OperationTrail` and `resolve_jobs` (8.6.0) render the `sync-*`
|
|
102
|
+
# resolve trail; the `{matrix}` newest-first default (8.6.0) backs the committed
|
|
103
|
+
# Python-compatibility table in `docs/install.md`; the `python:render`
|
|
104
|
+
# `:mirror:` regions (8.5) drive the `update-docs` phase 4 refresh, and
|
|
105
|
+
# `click_extra.sphinx.myst_docstrings` (8.5, absorbed from
|
|
106
|
+
# `repomatic.myst_docstrings`) is loaded by `docs/conf.py`; `click:config`
|
|
107
|
+
# and `schema_field_infos()` (8.3) back `configuration.md` and `show-config`.
|
|
108
|
+
"click-extra>=8.8",
|
|
97
109
|
# extra-platforms 12.0.2 reimplemented is_macos() with sys.platform, avoiding
|
|
98
110
|
# the platform.platform() shell-out to ``cmd /c ver`` on Windows that broke
|
|
99
111
|
# under patched subprocess in tests and triggered a CPython 3.10.x bug.
|
|
@@ -105,6 +117,11 @@ dependencies = [
|
|
|
105
117
|
# XXX Replace py-walk with wcmatch once the latter supports gitignore files:
|
|
106
118
|
# https://github.com/facelessuser/wcmatch/issues/226
|
|
107
119
|
"py-walk>=0.3.1",
|
|
120
|
+
# pyelftools parses the ELF headers of compiled binaries, so verify-binary can
|
|
121
|
+
# check architectures and glibc floors natively, inside manylinux containers,
|
|
122
|
+
# without installing exiftool. 0.33 is the first release to declare
|
|
123
|
+
# requires-python (>= 3.10, matching ours); earlier ones carry no guard.
|
|
124
|
+
"pyelftools>=0.33",
|
|
108
125
|
# pyproject-metadata 0.9 added PEP 639 (license expressions) and PEP 685 (extras
|
|
109
126
|
# normalization); our StandardMetadata.from_pyproject() call benefits from these.
|
|
110
127
|
"pyproject-metadata>=0.9",
|
|
@@ -128,7 +145,7 @@ dependencies = [
|
|
|
128
145
|
]
|
|
129
146
|
urls.Changelog = "https://github.com/kdeldycke/repomatic/blob/main/changelog.md"
|
|
130
147
|
urls.Documentation = "https://kdeldycke.github.io/repomatic"
|
|
131
|
-
urls.Download = "https://github.com/kdeldycke/repomatic/releases/tag/v7.
|
|
148
|
+
urls.Download = "https://github.com/kdeldycke/repomatic/releases/tag/v7.4.1"
|
|
132
149
|
urls.Funding = "https://github.com/sponsors/kdeldycke"
|
|
133
150
|
urls.Homepage = "https://github.com/kdeldycke/repomatic"
|
|
134
151
|
urls.Issues = "https://github.com/kdeldycke/repomatic/issues"
|
|
@@ -173,6 +190,10 @@ docs = [
|
|
|
173
190
|
"sphinx-datatables>=1",
|
|
174
191
|
# sphinx-design 0.6 introduced the current directive syntax for cards, grids, and tabs.
|
|
175
192
|
"sphinx-design>=0.6",
|
|
193
|
+
# sphinxcontrib-jquery is loaded explicitly in docs/conf.py (sphinx-datatables
|
|
194
|
+
# activates it too late to register jquery.js on its own); declare it so the
|
|
195
|
+
# build never relies on it arriving only transitively via sphinx-datatables.
|
|
196
|
+
"sphinxcontrib-jquery>=4",
|
|
176
197
|
# sphinxcontrib-mermaid 1.2.3 fixed mermaid_d3_zoom configuration support.
|
|
177
198
|
"sphinxcontrib-mermaid>=1.2.3",
|
|
178
199
|
# sphinxext-opengraph 0.13 stabilized OpenGraph metadata generation for Sphinx 8+.
|
|
@@ -191,14 +212,15 @@ typing = [
|
|
|
191
212
|
]
|
|
192
213
|
|
|
193
214
|
[tool.uv]
|
|
194
|
-
#
|
|
195
|
-
#
|
|
196
|
-
#
|
|
197
|
-
#
|
|
198
|
-
#
|
|
199
|
-
#
|
|
200
|
-
#
|
|
201
|
-
|
|
215
|
+
# Floor uv at the minimum resolver repomatic relies on, with no upper bound.
|
|
216
|
+
# astral-sh/setup-uv reads this automatically (its `version` input defaults to
|
|
217
|
+
# the pyproject value) and installs the newest uv satisfying it, so CI and
|
|
218
|
+
# contributors move forward without a manual ceiling bump each minor (a hard
|
|
219
|
+
# upper cap breaks every machine the day the next uv minor lands, since uv
|
|
220
|
+
# self-updates). uv.lock stays stable across minors because sync-uv-lock
|
|
221
|
+
# discards a re-lock that only re-spells equivalent markers (see
|
|
222
|
+
# repomatic.uv.sync_uv_lock).
|
|
223
|
+
required-version = ">=0.11.15"
|
|
202
224
|
# Docs group requires Python >= 3.14 for recent MyST-Parser and click-extra features.
|
|
203
225
|
dependency-groups.docs = { requires-python = ">= 3.14" }
|
|
204
226
|
# Cooldown period: 7-day buffer before using newly released packages.
|
|
@@ -212,7 +234,7 @@ exclude-newer = "1 week"
|
|
|
212
234
|
# `exclude-newer`, returning the package to the normal cooldown. repomatic is
|
|
213
235
|
# pinned to git main (no PyPI release to freeze), so it keeps a permanent
|
|
214
236
|
# "0 day" span.
|
|
215
|
-
exclude-newer-package = { click-extra = "2026-07-
|
|
237
|
+
exclude-newer-package = { click-extra = "2026-08-02T00:00:00Z", extra-platforms = "2026-07-28T00:00:00Z", repomatic = "0 day" }
|
|
216
238
|
# Package is at root level, not in "./src/".
|
|
217
239
|
build-backend.module-root = ""
|
|
218
240
|
|
|
@@ -225,7 +247,7 @@ copyright = "Kevin Deldycke <kevin@deldycke.com> and contributors. Distributed u
|
|
|
225
247
|
file-description = "🏭 Automate repository maintenance, releases, and CI/CD workflows"
|
|
226
248
|
# Numeric only: Nuitka rejects PEP 440 .devN suffixes. Kept in sync with the
|
|
227
249
|
# package version by the dedicated [tool.bumpversion] rule that strips the suffix.
|
|
228
|
-
file-version = "7.
|
|
250
|
+
file-version = "7.4.1"
|
|
229
251
|
include-data-dir = [
|
|
230
252
|
"repomatic/data/awesome_template=repomatic/data/awesome_template",
|
|
231
253
|
]
|
|
@@ -243,7 +265,7 @@ include-package-data = [ "click_extra" ]
|
|
|
243
265
|
linux-icon = "docs/assets/icon.png"
|
|
244
266
|
macos-app-icon = "docs/assets/icon.icns"
|
|
245
267
|
product-name = "Repomatic"
|
|
246
|
-
product-version = "7.
|
|
268
|
+
product-version = "7.4.1"
|
|
247
269
|
windows-icon-from-ico = "docs/assets/icon.ico"
|
|
248
270
|
|
|
249
271
|
[tool.ruff]
|
|
@@ -281,7 +303,7 @@ lint.future-annotations = true
|
|
|
281
303
|
[tool.typos]
|
|
282
304
|
default.extend-identifiers = { Github = "GitHub", IOS = "iOS", Javascript = "JavaScript", MacOS = "macOS", PNGs = "PNGs", PyPi = "PyPI", Typescript = "TypeScript" }
|
|
283
305
|
# False positives.
|
|
284
|
-
default.extend-words = { astroid = "astroid", oject = "oject", PNGs = "PNGs" }
|
|
306
|
+
default.extend-words = { astroid = "astroid", oject = "oject", PNGs = "PNGs", sur = "sur" }
|
|
285
307
|
# Skip content between <!-- typos:off --> and <!-- typos:on --> markers.
|
|
286
308
|
default.extend-ignore-re = [
|
|
287
309
|
"(?s)<!-- typos:off -->.*?<!-- typos:on -->",
|
|
@@ -365,7 +387,7 @@ run.source = [ "repomatic" ]
|
|
|
365
387
|
report.precision = 2
|
|
366
388
|
|
|
367
389
|
[tool.bumpversion]
|
|
368
|
-
current_version = "7.
|
|
390
|
+
current_version = "7.4.1"
|
|
369
391
|
# Parse versions with an optional .devN suffix (PEP 440).
|
|
370
392
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(\\.dev(?P<dev>\\d+))?"
|
|
371
393
|
serialize = [
|
|
@@ -482,4 +504,9 @@ abandoned-versions = [
|
|
|
482
504
|
]
|
|
483
505
|
changelog.archive-location = "./docs/changelog-archive.md"
|
|
484
506
|
exclude = [ "workflows" ]
|
|
507
|
+
# Render the Click command tree as roff `.1` files and attach a
|
|
508
|
+
# `repomatic-manpages.tar.gz` asset to every GitHub release. The script target
|
|
509
|
+
# mirrors `click_extra_manpages` in `docs/conf.py`, so the release tarball and
|
|
510
|
+
# the HTML docs site stay in lockstep.
|
|
511
|
+
manpages.script = "repomatic.cli:repomatic"
|
|
485
512
|
pypi-package-history = [ "gha-utils", "repokit" ]
|
|
@@ -86,7 +86,3 @@ Check these projects to get real-life examples of usage and inspiration:
|
|
|
86
86
|
-  [Extra Platforms](https://github.com/kdeldycke/extra-platforms) - Detect platforms and group them by family.
|
|
87
87
|
|
|
88
88
|
Send a PR to add your project if you use repomatic.
|
|
89
|
-
|
|
90
|
-
## Development
|
|
91
|
-
|
|
92
|
-
See `claude.md` for development commands, code style, testing guidelines, and design principles.
|