pyrig-opensource 0.1.0__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.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Winipedia
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,121 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyrig-opensource
3
+ Version: 0.1.0
4
+ Summary: A pyrig plugin that combines other pyrig plugins for open-source projects.
5
+ Keywords: pyrig
6
+ Author: Winipedia
7
+ Author-email: Winipedia <winipedia@gmx.de>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: Python :: 3 :: Only
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Typing :: Typed
16
+ Requires-Dist: pyrig>=18.95.1
17
+ Requires-Dist: pyrig-codecov>=3.17.46
18
+ Requires-Dist: pyrig-codeql>=1.1.11
19
+ Requires-Dist: pyrig-fixtures>=2.25.3
20
+ Requires-Dist: pyrig-public>=1.1.1
21
+ Requires-Dist: pyrig-pypi>=3.20.47
22
+ Requires-Dist: pyrig-runtime>=3.24.3
23
+ Requires-Dist: typer>=0.27.2
24
+ Maintainer: Winipedia
25
+ Maintainer-email: Winipedia <winipedia@gmx.de>
26
+ Requires-Python: >=3.12
27
+ Project-URL: Changelog, https://github.com/Winipedia/pyrig-opensource/releases
28
+ Project-URL: Documentation, https://Winipedia.github.io/pyrig-opensource
29
+ Project-URL: Homepage, https://github.com/Winipedia/pyrig-opensource
30
+ Project-URL: Issues, https://github.com/Winipedia/pyrig-opensource/issues
31
+ Project-URL: Source, https://github.com/Winipedia/pyrig-opensource
32
+ Description-Content-Type: text/markdown
33
+
34
+ # pyrig-opensource
35
+
36
+ <!-- project-status -->
37
+ [![CI](https://img.shields.io/github/actions/workflow/status/Winipedia/pyrig-opensource/health_check.yml?label=CI&logo=github)](https://github.com/Winipedia/pyrig-opensource/actions/workflows/health_check.yml)
38
+ [![CD](https://img.shields.io/github/actions/workflow/status/Winipedia/pyrig-opensource/release.yml?label=CD&logo=github)](https://github.com/Winipedia/pyrig-opensource/actions/workflows/release.yml)
39
+ [![ProjectTester](https://codecov.io/gh/Winipedia/pyrig-opensource/branch/main/graph/badge.svg)](https://codecov.io/gh/Winipedia/pyrig-opensource)
40
+ <!-- code-quality -->
41
+ [![ByteOrderMarkerFormatter](https://img.shields.io/badge/BOM-fix--byte--order--marker-orange)](https://github.com/pre-commit/pre-commit-hooks)
42
+ [![CICDLinter](https://img.shields.io/badge/CI/CD-actionlint-blue)](https://github.com/rhysd/actionlint)
43
+ [![CICDSecurityChecker](https://img.shields.io/badge/CI/CD--security-zizmor-yellow)](https://github.com/zizmorcore/zizmor)
44
+ [![CaseConflictChecker](https://img.shields.io/badge/case--conflict-check--case--conflict-blue)](https://github.com/pre-commit/pre-commit-hooks)
45
+ [![DependencyChecker](https://img.shields.io/badge/dependencies-deptry-blue)](https://github.com/osprey-oss/deptry)
46
+ [![EndOfFileFormatter](https://img.shields.io/badge/EOF-end--of--file--fixer-orange)](https://github.com/pre-commit/pre-commit-hooks)
47
+ [![EndOfLineFormatter](https://img.shields.io/badge/EOL-mixed--line--ending-orange)](https://github.com/pre-commit/pre-commit-hooks)
48
+ [![JSONFormatter](https://img.shields.io/badge/JSON-pretty--format--json-orange)](https://github.com/pre-commit/pre-commit-hooks)
49
+ [![JSONLinter](https://img.shields.io/badge/JSON-check--json-blue)](https://github.com/pre-commit/pre-commit-hooks)
50
+ [![LargeFileChecker](https://img.shields.io/badge/large--files-check--added--large--files-blue)](https://github.com/pre-commit/pre-commit-hooks)
51
+ [![MarkdownLinter](https://img.shields.io/badge/Markdown-rumdl-darkgreen)](https://github.com/rvben/rumdl)
52
+ [![MergeConflictChecker](https://img.shields.io/badge/merge--conflict-check--merge--conflict-blue)](https://github.com/pre-commit/pre-commit-hooks)
53
+ [![ModuleTestNamingChecker](https://img.shields.io/badge/test--naming-name--tests--test-blue)](https://github.com/pre-commit/pre-commit-hooks)
54
+ [![PythonLinter](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
55
+ [![SecretsChecker](https://img.shields.io/badge/secrets-detect--secrets-blue)](https://github.com/Yelp/detect-secrets)
56
+ [![SecurityChecker](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
57
+ [![ShellFormatter](https://img.shields.io/badge/shell-shfmt-orange)](https://github.com/mvdan/sh)
58
+ [![ShellLinter](https://img.shields.io/badge/shell-shellcheck-blue)](https://github.com/koalaman/shellcheck)
59
+ [![SpellChecker](https://img.shields.io/badge/spell--check-typos-blue)](https://github.com/crate-ci/typos)
60
+ [![TOMLLinter](https://img.shields.io/badge/TOML-tombi-blueviolet)](https://github.com/tombi-toml/tombi)
61
+ [![TrailingWhitespaceFormatter](https://img.shields.io/badge/whitespace-trailing--whitespace--fixer-orange)](https://github.com/pre-commit/pre-commit-hooks)
62
+ [![TypeChecker](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty)
63
+ [![YAMLLinter](https://img.shields.io/badge/YAML-ryl-red)](https://github.com/owenlamont/ryl)
64
+ <!-- tooling -->
65
+ [![PackageManager](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
66
+ [![Pyrigger](https://img.shields.io/badge/built%20with-pyrig-3776AB?logo=buildkite&logoColor=black)](https://github.com/Winipedia/pyrig)
67
+ [![RemoteVersionController](https://img.shields.io/github/stars/Winipedia/pyrig-opensource?style=social)](https://github.com/Winipedia/pyrig-opensource)
68
+ [![VersionControlHookManager](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json)](https://github.com/j178/prek)
69
+ [![VersionController](https://img.shields.io/badge/Git-F05032?logo=git&logoColor=white)](https://git-scm.com)
70
+ <!-- project-info -->
71
+ [![DocsBuilder](https://img.shields.io/badge/Documentation-zensical-326CE5)](https://Winipedia.github.io/pyrig-opensource)
72
+ [![PackageIndex](https://img.shields.io/pypi/v/pyrig-opensource?logo=pypi&logoColor=white)](https://pypi.org/project/pyrig-opensource)
73
+ [![ProgrammingLanguage](https://img.shields.io/pypi/pyversions/pyrig-opensource)](https://www.python.org)
74
+ [![License](https://img.shields.io/github/license/Winipedia/pyrig-opensource)](https://github.com/Winipedia/pyrig-opensource/blob/main/LICENSE)
75
+
76
+ ---
77
+
78
+ > A pyrig plugin that combines other pyrig plugins for open-source projects.
79
+
80
+ ---
81
+
82
+ ## Overview
83
+
84
+ pyrig-opensource is a [pyrig](https://github.com/Winipedia/pyrig) plugin that
85
+ bundles the plugins recommended for a public, open-source project into a
86
+ single dependency:
87
+
88
+ - [`pyrig-codecov`](https://github.com/Winipedia/pyrig-codecov) — uploads
89
+ coverage reports to Codecov.
90
+ - [`pyrig-codeql`](https://github.com/Winipedia/pyrig-codeql) — enables
91
+ GitHub CodeQL security scanning.
92
+ - [`pyrig-fixtures`](https://github.com/Winipedia/pyrig-fixtures) — shares
93
+ pytest fixtures across dependent packages.
94
+ - [`pyrig-public`](https://github.com/Winipedia/pyrig-public) — configures
95
+ GitHub features for public repositories.
96
+ - [`pyrig-pypi`](https://github.com/Winipedia/pyrig-pypi) — publishes
97
+ releases to PyPI.
98
+
99
+ ## What it adds
100
+
101
+ - **One dependency instead of five** — installing pyrig-opensource pulls in
102
+ and activates all of the plugins above, instead of adding each one
103
+ individually.
104
+ - **A `plugins` CLI command** — prints every bundled plugin so you can
105
+ confirm what got installed.
106
+
107
+ ## Usage
108
+
109
+ ```bash
110
+ uv add pyrig-opensource --dev
111
+ uv run pyrig sync
112
+ ```
113
+
114
+ ```bash
115
+ uv run pyrig-opensource plugins
116
+ ```
117
+
118
+ ## Documentation
119
+
120
+ Full documentation, including the auto-generated API reference, is available on
121
+ the [documentation site](https://Winipedia.github.io/pyrig-opensource).
@@ -0,0 +1,88 @@
1
+ # pyrig-opensource
2
+
3
+ <!-- project-status -->
4
+ [![CI](https://img.shields.io/github/actions/workflow/status/Winipedia/pyrig-opensource/health_check.yml?label=CI&logo=github)](https://github.com/Winipedia/pyrig-opensource/actions/workflows/health_check.yml)
5
+ [![CD](https://img.shields.io/github/actions/workflow/status/Winipedia/pyrig-opensource/release.yml?label=CD&logo=github)](https://github.com/Winipedia/pyrig-opensource/actions/workflows/release.yml)
6
+ [![ProjectTester](https://codecov.io/gh/Winipedia/pyrig-opensource/branch/main/graph/badge.svg)](https://codecov.io/gh/Winipedia/pyrig-opensource)
7
+ <!-- code-quality -->
8
+ [![ByteOrderMarkerFormatter](https://img.shields.io/badge/BOM-fix--byte--order--marker-orange)](https://github.com/pre-commit/pre-commit-hooks)
9
+ [![CICDLinter](https://img.shields.io/badge/CI/CD-actionlint-blue)](https://github.com/rhysd/actionlint)
10
+ [![CICDSecurityChecker](https://img.shields.io/badge/CI/CD--security-zizmor-yellow)](https://github.com/zizmorcore/zizmor)
11
+ [![CaseConflictChecker](https://img.shields.io/badge/case--conflict-check--case--conflict-blue)](https://github.com/pre-commit/pre-commit-hooks)
12
+ [![DependencyChecker](https://img.shields.io/badge/dependencies-deptry-blue)](https://github.com/osprey-oss/deptry)
13
+ [![EndOfFileFormatter](https://img.shields.io/badge/EOF-end--of--file--fixer-orange)](https://github.com/pre-commit/pre-commit-hooks)
14
+ [![EndOfLineFormatter](https://img.shields.io/badge/EOL-mixed--line--ending-orange)](https://github.com/pre-commit/pre-commit-hooks)
15
+ [![JSONFormatter](https://img.shields.io/badge/JSON-pretty--format--json-orange)](https://github.com/pre-commit/pre-commit-hooks)
16
+ [![JSONLinter](https://img.shields.io/badge/JSON-check--json-blue)](https://github.com/pre-commit/pre-commit-hooks)
17
+ [![LargeFileChecker](https://img.shields.io/badge/large--files-check--added--large--files-blue)](https://github.com/pre-commit/pre-commit-hooks)
18
+ [![MarkdownLinter](https://img.shields.io/badge/Markdown-rumdl-darkgreen)](https://github.com/rvben/rumdl)
19
+ [![MergeConflictChecker](https://img.shields.io/badge/merge--conflict-check--merge--conflict-blue)](https://github.com/pre-commit/pre-commit-hooks)
20
+ [![ModuleTestNamingChecker](https://img.shields.io/badge/test--naming-name--tests--test-blue)](https://github.com/pre-commit/pre-commit-hooks)
21
+ [![PythonLinter](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
22
+ [![SecretsChecker](https://img.shields.io/badge/secrets-detect--secrets-blue)](https://github.com/Yelp/detect-secrets)
23
+ [![SecurityChecker](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
24
+ [![ShellFormatter](https://img.shields.io/badge/shell-shfmt-orange)](https://github.com/mvdan/sh)
25
+ [![ShellLinter](https://img.shields.io/badge/shell-shellcheck-blue)](https://github.com/koalaman/shellcheck)
26
+ [![SpellChecker](https://img.shields.io/badge/spell--check-typos-blue)](https://github.com/crate-ci/typos)
27
+ [![TOMLLinter](https://img.shields.io/badge/TOML-tombi-blueviolet)](https://github.com/tombi-toml/tombi)
28
+ [![TrailingWhitespaceFormatter](https://img.shields.io/badge/whitespace-trailing--whitespace--fixer-orange)](https://github.com/pre-commit/pre-commit-hooks)
29
+ [![TypeChecker](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty)
30
+ [![YAMLLinter](https://img.shields.io/badge/YAML-ryl-red)](https://github.com/owenlamont/ryl)
31
+ <!-- tooling -->
32
+ [![PackageManager](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
33
+ [![Pyrigger](https://img.shields.io/badge/built%20with-pyrig-3776AB?logo=buildkite&logoColor=black)](https://github.com/Winipedia/pyrig)
34
+ [![RemoteVersionController](https://img.shields.io/github/stars/Winipedia/pyrig-opensource?style=social)](https://github.com/Winipedia/pyrig-opensource)
35
+ [![VersionControlHookManager](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json)](https://github.com/j178/prek)
36
+ [![VersionController](https://img.shields.io/badge/Git-F05032?logo=git&logoColor=white)](https://git-scm.com)
37
+ <!-- project-info -->
38
+ [![DocsBuilder](https://img.shields.io/badge/Documentation-zensical-326CE5)](https://Winipedia.github.io/pyrig-opensource)
39
+ [![PackageIndex](https://img.shields.io/pypi/v/pyrig-opensource?logo=pypi&logoColor=white)](https://pypi.org/project/pyrig-opensource)
40
+ [![ProgrammingLanguage](https://img.shields.io/pypi/pyversions/pyrig-opensource)](https://www.python.org)
41
+ [![License](https://img.shields.io/github/license/Winipedia/pyrig-opensource)](https://github.com/Winipedia/pyrig-opensource/blob/main/LICENSE)
42
+
43
+ ---
44
+
45
+ > A pyrig plugin that combines other pyrig plugins for open-source projects.
46
+
47
+ ---
48
+
49
+ ## Overview
50
+
51
+ pyrig-opensource is a [pyrig](https://github.com/Winipedia/pyrig) plugin that
52
+ bundles the plugins recommended for a public, open-source project into a
53
+ single dependency:
54
+
55
+ - [`pyrig-codecov`](https://github.com/Winipedia/pyrig-codecov) — uploads
56
+ coverage reports to Codecov.
57
+ - [`pyrig-codeql`](https://github.com/Winipedia/pyrig-codeql) — enables
58
+ GitHub CodeQL security scanning.
59
+ - [`pyrig-fixtures`](https://github.com/Winipedia/pyrig-fixtures) — shares
60
+ pytest fixtures across dependent packages.
61
+ - [`pyrig-public`](https://github.com/Winipedia/pyrig-public) — configures
62
+ GitHub features for public repositories.
63
+ - [`pyrig-pypi`](https://github.com/Winipedia/pyrig-pypi) — publishes
64
+ releases to PyPI.
65
+
66
+ ## What it adds
67
+
68
+ - **One dependency instead of five** — installing pyrig-opensource pulls in
69
+ and activates all of the plugins above, instead of adding each one
70
+ individually.
71
+ - **A `plugins` CLI command** — prints every bundled plugin so you can
72
+ confirm what got installed.
73
+
74
+ ## Usage
75
+
76
+ ```bash
77
+ uv add pyrig-opensource --dev
78
+ uv run pyrig sync
79
+ ```
80
+
81
+ ```bash
82
+ uv run pyrig-opensource plugins
83
+ ```
84
+
85
+ ## Documentation
86
+
87
+ Full documentation, including the auto-generated API reference, is available on
88
+ the [documentation site](https://Winipedia.github.io/pyrig-opensource).
@@ -0,0 +1,110 @@
1
+ [project]
2
+ name = "pyrig-opensource"
3
+ version = "0.1.0"
4
+ description = "A pyrig plugin that combines other pyrig plugins for open-source projects."
5
+ readme = "README.md"
6
+ requires-python = ">=3.12"
7
+ license = "MIT"
8
+ license-files = ["LICENSE"]
9
+ keywords = ["pyrig"]
10
+ classifiers = [
11
+ "Operating System :: OS Independent",
12
+ "Programming Language :: Python :: 3 :: Only",
13
+ "Programming Language :: Python :: 3.12",
14
+ "Programming Language :: Python :: 3.13",
15
+ "Programming Language :: Python :: 3.14",
16
+ "Typing :: Typed",
17
+ ]
18
+ dependencies = [
19
+ "pyrig>=18.95.1",
20
+ "pyrig-codecov>=3.17.46",
21
+ "pyrig-codeql>=1.1.11",
22
+ "pyrig-fixtures>=2.25.3",
23
+ "pyrig-public>=1.1.1",
24
+ "pyrig-pypi>=3.20.47",
25
+ "pyrig-runtime>=3.24.3",
26
+ "typer>=0.27.2",
27
+ ]
28
+
29
+ [[project.authors]]
30
+ name = "Winipedia"
31
+ email = "winipedia@gmx.de"
32
+
33
+ [[project.maintainers]]
34
+ name = "Winipedia"
35
+ email = "winipedia@gmx.de"
36
+
37
+ [project.urls]
38
+ Changelog = "https://github.com/Winipedia/pyrig-opensource/releases"
39
+ Documentation = "https://Winipedia.github.io/pyrig-opensource"
40
+ Homepage = "https://github.com/Winipedia/pyrig-opensource"
41
+ Issues = "https://github.com/Winipedia/pyrig-opensource/issues"
42
+ Source = "https://github.com/Winipedia/pyrig-opensource"
43
+
44
+ [project.scripts]
45
+ pyrig-opensource = "pyrig_runtime.rig.cli.main:main"
46
+
47
+ [dependency-groups]
48
+ dev = [
49
+ "actionlint-py>=1.7.12.25",
50
+ "bandit>=1.9.4",
51
+ "deptry>=0.25.1",
52
+ "detect-secrets>=1.5.0",
53
+ "mkdocstrings[python]>=1.0.6",
54
+ "pre-commit-hooks>=6.0.0",
55
+ "prek>=0.5.4",
56
+ "pyflakes>=4.0.1",
57
+ "pyrig>=18.95.1",
58
+ "pytest>=9.1.1",
59
+ "pytest-cov>=7.1.0",
60
+ "pytest-randomly>=5.0.0",
61
+ "pytest-xdist>=3.8.0",
62
+ "ruff>=0.16.10",
63
+ "rumdl>=0.2.78",
64
+ "ryl>=0.22.0",
65
+ "shellcheck-py>=0.11.0.1",
66
+ "shfmt-py>=4.2.0",
67
+ "tombi>=1.7.0",
68
+ "ty>=0.0.84",
69
+ "typos>=1.50.3",
70
+ "zensical>=0.0.67",
71
+ "zizmor>=1.30.1",
72
+ ]
73
+
74
+ [build-system]
75
+ requires = ["uv-build"]
76
+ build-backend = "uv_build"
77
+
78
+ [tool.deptry]
79
+ root = "src"
80
+
81
+ [tool.deptry.per_rule_ignores]
82
+ DEP002 = ["pyrig-runtime"]
83
+
84
+ [tool.pytest]
85
+ addopts = [
86
+ "--cov-branch",
87
+ "--cov-fail-under=100",
88
+ "--cov-report=term-missing:skip-covered",
89
+ "--cov-report=xml",
90
+ "--cov=pyrig_opensource",
91
+ "--dist=worksteal",
92
+ "--numprocesses=auto",
93
+ "--report-chars=a",
94
+ ]
95
+ filterwarnings = ["error"]
96
+ strict = true
97
+ testpaths = ["tests"]
98
+
99
+ [tool.ruff.format]
100
+ docstring-code-format = true
101
+
102
+ [tool.ruff.lint]
103
+ ignore = ["CPY001"]
104
+ select = ["ALL"]
105
+
106
+ [tool.ruff.lint.per-file-ignores]
107
+ "tests/**/*.py" = ["S101"]
108
+
109
+ [tool.ruff.lint.pydocstyle]
110
+ convention = "google"
@@ -0,0 +1,126 @@
1
+ [project]
2
+ name = "pyrig-opensource"
3
+ version = "0.1.0"
4
+ description = "A pyrig plugin that combines other pyrig plugins for open-source projects."
5
+ readme = "README.md"
6
+ requires-python = ">=3.12"
7
+ license = "MIT"
8
+ license-files = [
9
+ "LICENSE",
10
+ ]
11
+ authors = [
12
+ { name = "Winipedia", email = "winipedia@gmx.de" },
13
+ ]
14
+ maintainers = [
15
+ { name = "Winipedia", email = "winipedia@gmx.de" },
16
+ ]
17
+ keywords = [
18
+ "pyrig",
19
+ ]
20
+ classifiers = [
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python :: 3 :: Only",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Programming Language :: Python :: 3.14",
26
+ "Typing :: Typed",
27
+ ]
28
+ dependencies = [
29
+ "pyrig>=18.95.1",
30
+ "pyrig-codecov>=3.17.46",
31
+ "pyrig-codeql>=1.1.11",
32
+ "pyrig-fixtures>=2.25.3",
33
+ "pyrig-public>=1.1.1",
34
+ "pyrig-pypi>=3.20.47",
35
+ "pyrig-runtime>=3.24.3",
36
+ "typer>=0.27.2",
37
+ ]
38
+
39
+ [project.urls]
40
+ Changelog = "https://github.com/Winipedia/pyrig-opensource/releases"
41
+ Documentation = "https://Winipedia.github.io/pyrig-opensource"
42
+ Homepage = "https://github.com/Winipedia/pyrig-opensource"
43
+ Issues = "https://github.com/Winipedia/pyrig-opensource/issues"
44
+ Source = "https://github.com/Winipedia/pyrig-opensource"
45
+
46
+ [project.scripts]
47
+ pyrig-opensource = "pyrig_runtime.rig.cli.main:main"
48
+
49
+ [dependency-groups]
50
+ dev = [
51
+ "actionlint-py>=1.7.12.25",
52
+ "bandit>=1.9.4",
53
+ "deptry>=0.25.1",
54
+ "detect-secrets>=1.5.0",
55
+ "mkdocstrings[python]>=1.0.6",
56
+ "pre-commit-hooks>=6.0.0",
57
+ "prek>=0.5.4",
58
+ "pyflakes>=4.0.1",
59
+ "pyrig>=18.95.1",
60
+ "pytest>=9.1.1",
61
+ "pytest-cov>=7.1.0",
62
+ "pytest-randomly>=5.0.0",
63
+ "pytest-xdist>=3.8.0",
64
+ "ruff>=0.16.10",
65
+ "rumdl>=0.2.78",
66
+ "ryl>=0.22.0",
67
+ "shellcheck-py>=0.11.0.1",
68
+ "shfmt-py>=4.2.0",
69
+ "tombi>=1.7.0",
70
+ "ty>=0.0.84",
71
+ "typos>=1.50.3",
72
+ "zensical>=0.0.67",
73
+ "zizmor>=1.30.1",
74
+ ]
75
+
76
+ [build-system]
77
+ requires = [
78
+ "uv-build",
79
+ ]
80
+ build-backend = "uv_build"
81
+
82
+ [tool.deptry]
83
+ root = "src"
84
+
85
+ [tool.deptry.per_rule_ignores]
86
+ DEP002 = [
87
+ "pyrig-runtime",
88
+ ]
89
+
90
+ [tool.pytest]
91
+ addopts = [
92
+ "--cov-branch",
93
+ "--cov-fail-under=100",
94
+ "--cov-report=term-missing:skip-covered",
95
+ "--cov-report=xml",
96
+ "--cov=pyrig_opensource",
97
+ "--dist=worksteal",
98
+ "--numprocesses=auto",
99
+ "--report-chars=a",
100
+ ]
101
+ filterwarnings = [
102
+ "error",
103
+ ]
104
+ strict = true
105
+ testpaths = [
106
+ "tests",
107
+ ]
108
+
109
+ [tool.ruff.format]
110
+ docstring-code-format = true
111
+
112
+ [tool.ruff.lint]
113
+ ignore = [
114
+ "CPY001",
115
+ ]
116
+ select = [
117
+ "ALL",
118
+ ]
119
+
120
+ [tool.ruff.lint.per-file-ignores]
121
+ "tests/**/*.py" = [
122
+ "S101",
123
+ ]
124
+
125
+ [tool.ruff.lint.pydocstyle]
126
+ convention = "google"
@@ -0,0 +1 @@
1
+ """Pyrig plugin that combines other pyrig plugins for open-source projects."""
File without changes
@@ -0,0 +1,5 @@
1
+ """Open-source overrides of pyrig's scaffolding and maintenance layer.
2
+
3
+ Mirrors pyrig's own `rig` namespace so its plugin-discovery mechanism
4
+ automatically picks up this package's overrides and additions.
5
+ """
@@ -0,0 +1 @@
1
+ """Additional CLI commands contributed by this plugin."""
@@ -0,0 +1,6 @@
1
+ """Backend implementations for this plugin's CLI commands.
2
+
3
+ Each module implements exactly one command as a plain callable, decoupled from
4
+ the CLI registration layer. This separation lets the registration layer import
5
+ commands lazily, loading each module only when its command is invoked.
6
+ """
@@ -0,0 +1,45 @@
1
+ """Backend implementation for the `plugins` CLI command.
2
+
3
+ Declares the fixed set of pyrig plugins this package bundles together, and
4
+ prints them to let users confirm what got installed.
5
+ """
6
+
7
+ from types import ModuleType
8
+
9
+ import pyrig
10
+ import pyrig_codecov
11
+ import pyrig_codeql
12
+ import pyrig_fixtures
13
+ import pyrig_public
14
+ import pyrig_pypi
15
+ import typer
16
+
17
+
18
+ def show_plugins() -> None:
19
+ """Print every plugin bundled by this plugin, one per line.
20
+
21
+ Each line is the `str()` of the plugin's module object, e.g.
22
+ `<module 'pyrig' from '...'>`.
23
+ """
24
+ for plugin in plugins():
25
+ typer.echo(plugin)
26
+
27
+
28
+ def plugins() -> tuple[ModuleType, ...]:
29
+ """Return every pyrig plugin bundled together by this plugin.
30
+
31
+ Returns:
32
+ Tuple of the imported plugin modules, in dependency order.
33
+
34
+ Note:
35
+ This list is maintained by hand, not discovered automatically. Keep
36
+ it in sync with this package's own runtime dependencies.
37
+ """
38
+ return (
39
+ pyrig,
40
+ pyrig_codecov,
41
+ pyrig_codeql,
42
+ pyrig_fixtures,
43
+ pyrig_public,
44
+ pyrig_pypi,
45
+ )
@@ -0,0 +1,19 @@
1
+ """Project-specific CLI commands.
2
+
3
+ Functions defined directly in this module are registered as top-level CLI
4
+ commands. Module-level `typer.Typer` instances are registered as command
5
+ groups, with each group's name derived from the kebab-case form of the
6
+ variable name.
7
+ """
8
+
9
+
10
+ def plugins() -> None:
11
+ """List the pyrig plugins bundled together by this plugin.
12
+
13
+ Prints one plugin per line, each shown as its module object's `str()`
14
+ (e.g. `<module 'pyrig' from '...'>`). Useful for confirming which plugins
15
+ were pulled in by installing this package.
16
+ """
17
+ from pyrig_opensource.rig.cli.commands.plugins import show_plugins # noqa: PLC0415
18
+
19
+ show_plugins()