pyrig 2.0.30__tar.gz → 4.2.3__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.
- {pyrig-2.0.30 → pyrig-4.2.3}/LICENSE +1 -1
- pyrig-4.2.3/PKG-INFO +158 -0
- pyrig-4.2.3/README.md +127 -0
- pyrig-4.2.3/pyproject.toml +118 -0
- pyrig-4.2.3/pyrig/__init__.py +18 -0
- pyrig-4.2.3/pyrig/dev/__init__.py +15 -0
- pyrig-4.2.3/pyrig/dev/builders/__init__.py +5 -0
- pyrig-4.2.3/pyrig/dev/builders/base/__init__.py +15 -0
- pyrig-4.2.3/pyrig/dev/builders/base/base.py +343 -0
- pyrig-4.2.3/pyrig/dev/builders/pyinstaller.py +316 -0
- pyrig-4.2.3/pyrig/dev/cli/__init__.py +20 -0
- pyrig-4.2.3/pyrig/dev/cli/cli.py +252 -0
- pyrig-4.2.3/pyrig/dev/cli/commands/__init__.py +24 -0
- pyrig-4.2.3/pyrig/dev/cli/commands/build_artifacts.py +22 -0
- pyrig-4.2.3/pyrig/dev/cli/commands/create_root.py +29 -0
- pyrig-4.2.3/pyrig/dev/cli/commands/create_tests.py +70 -0
- pyrig-4.2.3/pyrig/dev/cli/commands/init_project.py +170 -0
- pyrig-4.2.3/pyrig/dev/cli/commands/make_inits.py +43 -0
- pyrig-4.2.3/pyrig/dev/cli/commands/protect_repo.py +84 -0
- pyrig-4.2.3/pyrig/dev/cli/shared_subcommands.py +36 -0
- pyrig-4.2.3/pyrig/dev/cli/subcommands.py +202 -0
- pyrig-4.2.3/pyrig/dev/configs/__init__.py +6 -0
- pyrig-4.2.3/pyrig/dev/configs/base/__init__.py +90 -0
- pyrig-4.2.3/pyrig/dev/configs/base/badges_md.py +118 -0
- pyrig-4.2.3/pyrig/dev/configs/base/base.py +529 -0
- pyrig-4.2.3/pyrig/dev/configs/base/copy_module.py +91 -0
- pyrig-4.2.3/pyrig/dev/configs/base/copy_module_docstr.py +63 -0
- pyrig-4.2.3/pyrig/dev/configs/base/dict_cf.py +50 -0
- pyrig-4.2.3/pyrig/dev/configs/base/init.py +57 -0
- pyrig-4.2.3/pyrig/dev/configs/base/json.py +85 -0
- pyrig-4.2.3/pyrig/dev/configs/base/list_cf.py +50 -0
- pyrig-4.2.3/pyrig/dev/configs/base/markdown.py +39 -0
- pyrig-4.2.3/pyrig/dev/configs/base/py_package.py +53 -0
- pyrig-4.2.3/pyrig/dev/configs/base/py_tests.py +44 -0
- pyrig-4.2.3/pyrig/dev/configs/base/python.py +39 -0
- pyrig-4.2.3/pyrig/dev/configs/base/string_.py +155 -0
- pyrig-4.2.3/pyrig/dev/configs/base/toml.py +131 -0
- pyrig-4.2.3/pyrig/dev/configs/base/txt.py +38 -0
- pyrig-4.2.3/pyrig/dev/configs/base/typed.py +74 -0
- pyrig-4.2.3/pyrig/dev/configs/base/workflow.py +1878 -0
- pyrig-4.2.3/pyrig/dev/configs/base/yaml.py +71 -0
- pyrig-4.2.3/pyrig/dev/configs/base/yml.py +40 -0
- pyrig-4.2.3/pyrig/dev/configs/containers/__init__.py +12 -0
- pyrig-4.2.3/pyrig/dev/configs/containers/container_file.py +129 -0
- pyrig-4.2.3/pyrig/dev/configs/docs/__init__.py +14 -0
- pyrig-4.2.3/pyrig/dev/configs/docs/mkdocs.py +110 -0
- pyrig-4.2.3/pyrig/dev/configs/dot_env.py +69 -0
- pyrig-4.2.3/pyrig/dev/configs/dot_python_version.py +49 -0
- pyrig-4.2.3/pyrig/dev/configs/git/__init__.py +14 -0
- pyrig-4.2.3/pyrig/dev/configs/git/branch_protection.py +94 -0
- pyrig-4.2.3/pyrig/dev/configs/git/gitignore.py +147 -0
- pyrig-4.2.3/pyrig/dev/configs/git/pre_commit.py +150 -0
- pyrig-4.2.3/pyrig/dev/configs/licence.py +90 -0
- pyrig-4.2.3/pyrig/dev/configs/markdown/__init__.py +13 -0
- pyrig-4.2.3/pyrig/dev/configs/markdown/docs/__init__.py +12 -0
- pyrig-4.2.3/pyrig/dev/configs/markdown/docs/api.py +61 -0
- pyrig-4.2.3/pyrig/dev/configs/markdown/docs/index.py +60 -0
- pyrig-4.2.3/pyrig/dev/configs/markdown/readme.py +56 -0
- pyrig-4.2.3/pyrig/dev/configs/py_typed.py +30 -0
- pyrig-4.2.3/pyrig/dev/configs/pyproject.py +358 -0
- pyrig-4.2.3/pyrig/dev/configs/pyrig/__init__.py +34 -0
- pyrig-4.2.3/pyrig/dev/configs/pyrig/pyproject.py +94 -0
- pyrig-4.2.3/pyrig/dev/configs/python/__init__.py +10 -0
- pyrig-4.2.3/pyrig/dev/configs/python/builders_init.py +51 -0
- pyrig-4.2.3/pyrig/dev/configs/python/configs_init.py +53 -0
- pyrig-4.2.3/pyrig/dev/configs/python/dot_experiment.py +76 -0
- pyrig-4.2.3/pyrig/dev/configs/python/main.py +103 -0
- pyrig-4.2.3/pyrig/dev/configs/python/management_init.py +64 -0
- pyrig-4.2.3/pyrig/dev/configs/python/resources_init.py +51 -0
- pyrig-4.2.3/pyrig/dev/configs/python/shared_subcommands.py +58 -0
- pyrig-4.2.3/pyrig/dev/configs/python/src_init.py +49 -0
- pyrig-4.2.3/pyrig/dev/configs/python/subcommands.py +56 -0
- pyrig-4.2.3/pyrig/dev/configs/testing/__init__.py +9 -0
- pyrig-4.2.3/pyrig/dev/configs/testing/conftest.py +72 -0
- pyrig-4.2.3/pyrig/dev/configs/testing/fixtures_init.py +61 -0
- pyrig-4.2.3/pyrig/dev/configs/testing/main_test.py +109 -0
- pyrig-4.2.3/pyrig/dev/configs/testing/zero_test.py +70 -0
- pyrig-4.2.3/pyrig/dev/configs/workflows/__init__.py +10 -0
- pyrig-4.2.3/pyrig/dev/configs/workflows/build.py +145 -0
- pyrig-4.2.3/pyrig/dev/configs/workflows/health_check.py +210 -0
- pyrig-4.2.3/pyrig/dev/configs/workflows/publish.py +143 -0
- pyrig-4.2.3/pyrig/dev/configs/workflows/release.py +134 -0
- pyrig-4.2.3/pyrig/dev/management/__init__.py +5 -0
- pyrig-4.2.3/pyrig/dev/management/base/__init__.py +10 -0
- pyrig-4.2.3/pyrig/dev/management/base/base.py +98 -0
- pyrig-4.2.3/pyrig/dev/management/container_engine.py +72 -0
- pyrig-4.2.3/pyrig/dev/management/docs_builder.py +57 -0
- pyrig-4.2.3/pyrig/dev/management/linter.py +75 -0
- pyrig-4.2.3/pyrig/dev/management/mdlinter.py +61 -0
- pyrig-4.2.3/pyrig/dev/management/package_manager.py +197 -0
- pyrig-4.2.3/pyrig/dev/management/pre_committer.py +86 -0
- pyrig-4.2.3/pyrig/dev/management/project_tester.py +53 -0
- pyrig-4.2.3/pyrig/dev/management/pyrigger.py +66 -0
- pyrig-4.2.3/pyrig/dev/management/remote_version_controller.py +133 -0
- pyrig-4.2.3/pyrig/dev/management/security_checker.py +62 -0
- pyrig-4.2.3/pyrig/dev/management/type_checker.py +47 -0
- pyrig-4.2.3/pyrig/dev/management/version_controller.py +459 -0
- pyrig-4.2.3/pyrig/dev/tests/__init__.py +15 -0
- pyrig-4.2.3/pyrig/dev/tests/conftest.py +51 -0
- pyrig-4.2.3/pyrig/dev/tests/fixtures/__init__.py +6 -0
- pyrig-4.2.3/pyrig/dev/tests/fixtures/assertions.py +94 -0
- pyrig-4.2.3/pyrig/dev/tests/fixtures/autouse/__init__.py +9 -0
- pyrig-4.2.3/pyrig/dev/tests/fixtures/autouse/session.py +585 -0
- pyrig-4.2.3/pyrig/dev/tests/fixtures/factories.py +97 -0
- pyrig-4.2.3/pyrig/dev/tests/mirror_test.py +907 -0
- pyrig-4.2.3/pyrig/dev/utils/__init__.py +33 -0
- pyrig-4.2.3/pyrig/dev/utils/github_api.py +237 -0
- pyrig-4.2.3/pyrig/dev/utils/packages.py +176 -0
- pyrig-4.2.3/pyrig/dev/utils/resources.py +170 -0
- pyrig-4.2.3/pyrig/dev/utils/testing.py +283 -0
- pyrig-4.2.3/pyrig/dev/utils/urls.py +50 -0
- pyrig-4.2.3/pyrig/dev/utils/version_control.py +103 -0
- pyrig-4.2.3/pyrig/dev/utils/versions.py +381 -0
- pyrig-4.2.3/pyrig/main.py +9 -0
- pyrig-4.2.3/pyrig/resources/GITIGNORE +216 -0
- pyrig-4.2.3/pyrig/resources/LATEST_PYTHON_VERSION +1 -0
- pyrig-4.2.3/pyrig/resources/MIT_LICENSE_TEMPLATE +21 -0
- pyrig-4.2.3/pyrig/resources/__init__.py +5 -0
- pyrig-4.2.3/pyrig/src/__init__.py +5 -0
- pyrig-4.2.3/pyrig/src/cli.py +71 -0
- pyrig-4.2.3/pyrig/src/git.py +35 -0
- pyrig-4.2.3/pyrig/src/graph.py +243 -0
- pyrig-4.2.3/pyrig/src/iterate.py +131 -0
- pyrig-4.2.3/pyrig/src/modules/__init__.py +15 -0
- pyrig-4.2.3/pyrig/src/modules/class_.py +256 -0
- pyrig-4.2.3/pyrig/src/modules/function.py +78 -0
- pyrig-4.2.3/pyrig/src/modules/imports.py +208 -0
- pyrig-4.2.3/pyrig/src/modules/inspection.py +145 -0
- pyrig-4.2.3/pyrig/src/modules/module.py +339 -0
- pyrig-4.2.3/pyrig/src/modules/package.py +536 -0
- pyrig-4.2.3/pyrig/src/modules/path.py +316 -0
- pyrig-4.2.3/pyrig/src/processes.py +152 -0
- pyrig-4.2.3/pyrig/src/requests.py +43 -0
- pyrig-4.2.3/pyrig/src/resource.py +52 -0
- pyrig-4.2.3/pyrig/src/string_.py +167 -0
- pyrig-2.0.30/PKG-INFO +0 -856
- pyrig-2.0.30/README.md +0 -837
- pyrig-2.0.30/pyproject.toml +0 -103
- pyrig-2.0.30/pyrig/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/artifacts/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/artifacts/build.py +0 -8
- pyrig-2.0.30/pyrig/dev/artifacts/builder/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/artifacts/builder/base/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/artifacts/builder/base/base.py +0 -308
- pyrig-2.0.30/pyrig/dev/artifacts/builder/builder.py +0 -4
- pyrig-2.0.30/pyrig/dev/artifacts/resources/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/cli/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/cli/cli.py +0 -46
- pyrig-2.0.30/pyrig/dev/cli/subcommands.py +0 -60
- pyrig-2.0.30/pyrig/dev/configs/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/base/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/base/base.py +0 -484
- pyrig-2.0.30/pyrig/dev/configs/configs.py +0 -4
- pyrig-2.0.30/pyrig/dev/configs/dot_env.py +0 -50
- pyrig-2.0.30/pyrig/dev/configs/dot_python_version.py +0 -50
- pyrig-2.0.30/pyrig/dev/configs/git/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/git/gitignore.py +0 -120
- pyrig-2.0.30/pyrig/dev/configs/git/pre_commit.py +0 -117
- pyrig-2.0.30/pyrig/dev/configs/licence.py +0 -34
- pyrig-2.0.30/pyrig/dev/configs/py_typed.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/pyproject.py +0 -295
- pyrig-2.0.30/pyrig/dev/configs/python/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/python/builder.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/python/configs.py +0 -18
- pyrig-2.0.30/pyrig/dev/configs/python/experiment.py +0 -28
- pyrig-2.0.30/pyrig/dev/configs/python/main.py +0 -42
- pyrig-2.0.30/pyrig/dev/configs/python/resources_init.py +0 -29
- pyrig-2.0.30/pyrig/dev/configs/python/src_init.py +0 -29
- pyrig-2.0.30/pyrig/dev/configs/python/subcommands.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/readme.py +0 -43
- pyrig-2.0.30/pyrig/dev/configs/testing/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/testing/conftest.py +0 -34
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/fixture.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/scopes/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/scopes/class_.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/scopes/function.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/scopes/module.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/scopes/package.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/testing/fixtures/scopes/session.py +0 -15
- pyrig-2.0.30/pyrig/dev/configs/testing/main_test.py +0 -58
- pyrig-2.0.30/pyrig/dev/configs/testing/zero_test.py +0 -34
- pyrig-2.0.30/pyrig/dev/configs/workflows/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/workflows/base/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/configs/workflows/base/base.py +0 -969
- pyrig-2.0.30/pyrig/dev/configs/workflows/health_check.py +0 -102
- pyrig-2.0.30/pyrig/dev/configs/workflows/publish.py +0 -51
- pyrig-2.0.30/pyrig/dev/configs/workflows/release.py +0 -94
- pyrig-2.0.30/pyrig/dev/tests/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/tests/conftest.py +0 -33
- pyrig-2.0.30/pyrig/dev/tests/fixtures/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/tests/fixtures/fixture.py +0 -64
- pyrig-2.0.30/pyrig/dev/tests/fixtures/scopes/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/tests/fixtures/scopes/class_.py +0 -34
- pyrig-2.0.30/pyrig/dev/tests/fixtures/scopes/function.py +0 -8
- pyrig-2.0.30/pyrig/dev/tests/fixtures/scopes/module.py +0 -37
- pyrig-2.0.30/pyrig/dev/tests/fixtures/scopes/package.py +0 -8
- pyrig-2.0.30/pyrig/dev/tests/fixtures/scopes/session.py +0 -388
- pyrig-2.0.30/pyrig/dev/tests/utils/__init__.py +0 -1
- pyrig-2.0.30/pyrig/dev/tests/utils/decorators.py +0 -43
- pyrig-2.0.30/pyrig/main.py +0 -19
- pyrig-2.0.30/pyrig/src/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/git/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/git/github/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/git/github/github.py +0 -49
- pyrig-2.0.30/pyrig/src/git/github/repo/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/git/github/repo/protect.py +0 -103
- pyrig-2.0.30/pyrig/src/git/github/repo/repo.py +0 -204
- pyrig-2.0.30/pyrig/src/graph.py +0 -91
- pyrig-2.0.30/pyrig/src/iterate.py +0 -92
- pyrig-2.0.30/pyrig/src/modules/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/modules/class_.py +0 -267
- pyrig-2.0.30/pyrig/src/modules/function.py +0 -124
- pyrig-2.0.30/pyrig/src/modules/inspection.py +0 -56
- pyrig-2.0.30/pyrig/src/modules/module.py +0 -573
- pyrig-2.0.30/pyrig/src/modules/package.py +0 -420
- pyrig-2.0.30/pyrig/src/os/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/os/os.py +0 -88
- pyrig-2.0.30/pyrig/src/project/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/project/create_root.py +0 -8
- pyrig-2.0.30/pyrig/src/project/init.py +0 -55
- pyrig-2.0.30/pyrig/src/project/mgt.py +0 -90
- pyrig-2.0.30/pyrig/src/project/versions.py +0 -214
- pyrig-2.0.30/pyrig/src/resource.py +0 -23
- pyrig-2.0.30/pyrig/src/string.py +0 -52
- pyrig-2.0.30/pyrig/src/testing/__init__.py +0 -1
- pyrig-2.0.30/pyrig/src/testing/assertions.py +0 -66
- pyrig-2.0.30/pyrig/src/testing/convention.py +0 -177
- pyrig-2.0.30/pyrig/src/testing/create_tests.py +0 -245
- pyrig-2.0.30/pyrig/src/testing/utils.py +0 -80
- {pyrig-2.0.30 → pyrig-4.2.3}/pyrig/py.typed +0 -0
|
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
21
|
+
SOFTWARE.
|
pyrig-4.2.3/PKG-INFO
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pyrig
|
|
3
|
+
Version: 4.2.3
|
|
4
|
+
Summary: A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development.
|
|
5
|
+
Keywords: project-setup,automation,scaffolding,cli,testing,ci-cd,devops,packaging
|
|
6
|
+
Author: Winipedia
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
12
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
13
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
14
|
+
Classifier: Topic :: Software Development :: Testing
|
|
15
|
+
Classifier: Topic :: System :: Installation/Setup
|
|
16
|
+
Classifier: Topic :: System :: Software Distribution
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
20
|
+
Classifier: Operating System :: OS Independent
|
|
21
|
+
Classifier: Typing :: Typed
|
|
22
|
+
Requires-Dist: typer>=0.20.0
|
|
23
|
+
Maintainer: Winipedia
|
|
24
|
+
Requires-Python: >=3.12
|
|
25
|
+
Project-URL: Changelog, https://github.com/Winipedia/pyrig/releases
|
|
26
|
+
Project-URL: Documentation, https://Winipedia.github.io/pyrig
|
|
27
|
+
Project-URL: Homepage, https://github.com/Winipedia/pyrig
|
|
28
|
+
Project-URL: Issues, https://github.com/Winipedia/pyrig/issues
|
|
29
|
+
Project-URL: Source, https://github.com/Winipedia/pyrig
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
# pyrig
|
|
33
|
+
|
|
34
|
+
<!-- tooling -->
|
|
35
|
+
[](https://github.com/Winipedia/pyrig)
|
|
36
|
+
[](https://github.com/astral-sh/uv)
|
|
37
|
+
[](https://podman.io/)
|
|
38
|
+
[](https://pre-commit.com/)
|
|
39
|
+
[](https://www.mkdocs.org/)
|
|
40
|
+
<!-- code-quality -->
|
|
41
|
+
[](https://github.com/astral-sh/ruff)
|
|
42
|
+
[](https://github.com/astral-sh/ty)
|
|
43
|
+
[](https://github.com/PyCQA/bandit)
|
|
44
|
+
[](https://pytest.org/)
|
|
45
|
+
[](https://codecov.io/gh/Winipedia/pyrig)
|
|
46
|
+
[](https://github.com/rvben/rumdl)
|
|
47
|
+
<!-- package-info -->
|
|
48
|
+
[](https://pypi.org/project/pyrig)
|
|
49
|
+
[](https://www.python.org/)
|
|
50
|
+
[](https://github.com/Winipedia/pyrig/blob/main/LICENSE)
|
|
51
|
+
<!-- ci/cd -->
|
|
52
|
+
[](https://github.com/Winipedia/pyrig/actions/workflows/health_check.yaml)
|
|
53
|
+
[](https://github.com/Winipedia/pyrig/actions/workflows/release.yaml)
|
|
54
|
+
<!-- documentation -->
|
|
55
|
+
[](https://Winipedia.github.io/pyrig)
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
> A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## What is pyrig?
|
|
64
|
+
|
|
65
|
+
pyrig is an opinionated Python project toolkit that eliminates setup time and
|
|
66
|
+
enforces best practices. Run one command to get a complete, production-ready
|
|
67
|
+
project structure with CI/CD, testing, documentation, and more.
|
|
68
|
+
|
|
69
|
+
**Philosophy**: pyrig provides **minimal best practices fully
|
|
70
|
+
working defaults for everything a project needs**.
|
|
71
|
+
Every configuration, workflow, and tool is pre-configured
|
|
72
|
+
and working from day one, so you can focus on writing code
|
|
73
|
+
and start immediately developing
|
|
74
|
+
your application, project or library.
|
|
75
|
+
|
|
76
|
+
### Key Features
|
|
77
|
+
|
|
78
|
+
**Zero Configuration Setup**:
|
|
79
|
+
|
|
80
|
+
- Complete project structure in minutes
|
|
81
|
+
- Pre-configured tools (uv, ruff, ty, pytest, MkDocs)
|
|
82
|
+
- GitHub Actions workflows (health check, build, release, publish)
|
|
83
|
+
- 90% test coverage enforcement
|
|
84
|
+
- Pre-commit hooks with all quality checks
|
|
85
|
+
|
|
86
|
+
**Automated Project Management**:
|
|
87
|
+
|
|
88
|
+
- CLI framework with automatic command discovery
|
|
89
|
+
- Configuration file system with validation
|
|
90
|
+
- Automatic test skeleton generation
|
|
91
|
+
- PyInstaller executable building
|
|
92
|
+
- Multi-package architecture support
|
|
93
|
+
|
|
94
|
+
**Opinionated Best Practices**:
|
|
95
|
+
|
|
96
|
+
- Python >=3.12 with modern type hints
|
|
97
|
+
- All ruff linting rules enabled
|
|
98
|
+
- Strict type checking with ty
|
|
99
|
+
- Signed commits and linear history
|
|
100
|
+
- Repository protection rules
|
|
101
|
+
|
|
102
|
+
### Quick Example
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Create repository on GitHub
|
|
106
|
+
git clone https://github.com/username/my-project.git
|
|
107
|
+
cd my-project
|
|
108
|
+
|
|
109
|
+
# Initialize with uv and pyrig
|
|
110
|
+
uv init
|
|
111
|
+
uv add pyrig
|
|
112
|
+
uv run pyrig init
|
|
113
|
+
|
|
114
|
+
# Complete project ready in minutes:
|
|
115
|
+
# ✓ Source code structure
|
|
116
|
+
# ✓ Test framework with 90% coverage
|
|
117
|
+
# ✓ CI/CD workflows
|
|
118
|
+
# ✓ Documentation site
|
|
119
|
+
# ✓ Pre-commit hooks
|
|
120
|
+
# ✓ Container support
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### What You Get
|
|
124
|
+
|
|
125
|
+
After running `uv run pyrig init`, you get a complete project with:
|
|
126
|
+
|
|
127
|
+
- **Complete directory structure** with source code, tests, docs, and CI/CD
|
|
128
|
+
- **Pre-configured tools** (uv, ruff, ty, pytest, MkDocs, Podman)
|
|
129
|
+
- **GitHub Actions workflows** (health check, build, release, publish)
|
|
130
|
+
- **90% test coverage** enforcement
|
|
131
|
+
- **Pre-commit hooks** with all quality checks
|
|
132
|
+
|
|
133
|
+
See the
|
|
134
|
+
[Getting Started Guide](https://winipedia.github.io/pyrig/more/getting-started/)
|
|
135
|
+
for the complete project structure and detailed setup instructions.
|
|
136
|
+
|
|
137
|
+
### CLI Commands
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
uv run pyrig init # Complete project initialization
|
|
141
|
+
uv run pyrig mkroot # Update project structure
|
|
142
|
+
uv run pyrig mktests # Generate test skeletons
|
|
143
|
+
uv run pyrig build # Build all artifacts
|
|
144
|
+
uv run my-project --help # Your custom CLI
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Quick Start
|
|
148
|
+
|
|
149
|
+
New to pyrig? Start here:
|
|
150
|
+
|
|
151
|
+
- *[Getting Started Guide](https://winipedia.github.io/pyrig/more/getting-started/)*
|
|
152
|
+
- Complete setup from zero to fully configured project
|
|
153
|
+
|
|
154
|
+
**[Full Documentation](https://winipedia.github.io/pyrig/)** - Comprehensive documentation on GitHub Pages
|
|
155
|
+
|
|
156
|
+
**[CodeWiki Documentation](https://codewiki.google/github.com/winipedia/pyrig)** - AI-generated documentation
|
|
157
|
+
|
|
158
|
+
---
|
pyrig-4.2.3/README.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# pyrig
|
|
2
|
+
|
|
3
|
+
<!-- tooling -->
|
|
4
|
+
[](https://github.com/Winipedia/pyrig)
|
|
5
|
+
[](https://github.com/astral-sh/uv)
|
|
6
|
+
[](https://podman.io/)
|
|
7
|
+
[](https://pre-commit.com/)
|
|
8
|
+
[](https://www.mkdocs.org/)
|
|
9
|
+
<!-- code-quality -->
|
|
10
|
+
[](https://github.com/astral-sh/ruff)
|
|
11
|
+
[](https://github.com/astral-sh/ty)
|
|
12
|
+
[](https://github.com/PyCQA/bandit)
|
|
13
|
+
[](https://pytest.org/)
|
|
14
|
+
[](https://codecov.io/gh/Winipedia/pyrig)
|
|
15
|
+
[](https://github.com/rvben/rumdl)
|
|
16
|
+
<!-- package-info -->
|
|
17
|
+
[](https://pypi.org/project/pyrig)
|
|
18
|
+
[](https://www.python.org/)
|
|
19
|
+
[](https://github.com/Winipedia/pyrig/blob/main/LICENSE)
|
|
20
|
+
<!-- ci/cd -->
|
|
21
|
+
[](https://github.com/Winipedia/pyrig/actions/workflows/health_check.yaml)
|
|
22
|
+
[](https://github.com/Winipedia/pyrig/actions/workflows/release.yaml)
|
|
23
|
+
<!-- documentation -->
|
|
24
|
+
[](https://Winipedia.github.io/pyrig)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
> A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## What is pyrig?
|
|
33
|
+
|
|
34
|
+
pyrig is an opinionated Python project toolkit that eliminates setup time and
|
|
35
|
+
enforces best practices. Run one command to get a complete, production-ready
|
|
36
|
+
project structure with CI/CD, testing, documentation, and more.
|
|
37
|
+
|
|
38
|
+
**Philosophy**: pyrig provides **minimal best practices fully
|
|
39
|
+
working defaults for everything a project needs**.
|
|
40
|
+
Every configuration, workflow, and tool is pre-configured
|
|
41
|
+
and working from day one, so you can focus on writing code
|
|
42
|
+
and start immediately developing
|
|
43
|
+
your application, project or library.
|
|
44
|
+
|
|
45
|
+
### Key Features
|
|
46
|
+
|
|
47
|
+
**Zero Configuration Setup**:
|
|
48
|
+
|
|
49
|
+
- Complete project structure in minutes
|
|
50
|
+
- Pre-configured tools (uv, ruff, ty, pytest, MkDocs)
|
|
51
|
+
- GitHub Actions workflows (health check, build, release, publish)
|
|
52
|
+
- 90% test coverage enforcement
|
|
53
|
+
- Pre-commit hooks with all quality checks
|
|
54
|
+
|
|
55
|
+
**Automated Project Management**:
|
|
56
|
+
|
|
57
|
+
- CLI framework with automatic command discovery
|
|
58
|
+
- Configuration file system with validation
|
|
59
|
+
- Automatic test skeleton generation
|
|
60
|
+
- PyInstaller executable building
|
|
61
|
+
- Multi-package architecture support
|
|
62
|
+
|
|
63
|
+
**Opinionated Best Practices**:
|
|
64
|
+
|
|
65
|
+
- Python >=3.12 with modern type hints
|
|
66
|
+
- All ruff linting rules enabled
|
|
67
|
+
- Strict type checking with ty
|
|
68
|
+
- Signed commits and linear history
|
|
69
|
+
- Repository protection rules
|
|
70
|
+
|
|
71
|
+
### Quick Example
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Create repository on GitHub
|
|
75
|
+
git clone https://github.com/username/my-project.git
|
|
76
|
+
cd my-project
|
|
77
|
+
|
|
78
|
+
# Initialize with uv and pyrig
|
|
79
|
+
uv init
|
|
80
|
+
uv add pyrig
|
|
81
|
+
uv run pyrig init
|
|
82
|
+
|
|
83
|
+
# Complete project ready in minutes:
|
|
84
|
+
# ✓ Source code structure
|
|
85
|
+
# ✓ Test framework with 90% coverage
|
|
86
|
+
# ✓ CI/CD workflows
|
|
87
|
+
# ✓ Documentation site
|
|
88
|
+
# ✓ Pre-commit hooks
|
|
89
|
+
# ✓ Container support
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### What You Get
|
|
93
|
+
|
|
94
|
+
After running `uv run pyrig init`, you get a complete project with:
|
|
95
|
+
|
|
96
|
+
- **Complete directory structure** with source code, tests, docs, and CI/CD
|
|
97
|
+
- **Pre-configured tools** (uv, ruff, ty, pytest, MkDocs, Podman)
|
|
98
|
+
- **GitHub Actions workflows** (health check, build, release, publish)
|
|
99
|
+
- **90% test coverage** enforcement
|
|
100
|
+
- **Pre-commit hooks** with all quality checks
|
|
101
|
+
|
|
102
|
+
See the
|
|
103
|
+
[Getting Started Guide](https://winipedia.github.io/pyrig/more/getting-started/)
|
|
104
|
+
for the complete project structure and detailed setup instructions.
|
|
105
|
+
|
|
106
|
+
### CLI Commands
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
uv run pyrig init # Complete project initialization
|
|
110
|
+
uv run pyrig mkroot # Update project structure
|
|
111
|
+
uv run pyrig mktests # Generate test skeletons
|
|
112
|
+
uv run pyrig build # Build all artifacts
|
|
113
|
+
uv run my-project --help # Your custom CLI
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Quick Start
|
|
117
|
+
|
|
118
|
+
New to pyrig? Start here:
|
|
119
|
+
|
|
120
|
+
- *[Getting Started Guide](https://winipedia.github.io/pyrig/more/getting-started/)*
|
|
121
|
+
- Complete setup from zero to fully configured project
|
|
122
|
+
|
|
123
|
+
**[Full Documentation](https://winipedia.github.io/pyrig/)** - Comprehensive documentation on GitHub Pages
|
|
124
|
+
|
|
125
|
+
**[CodeWiki Documentation](https://codewiki.google/github.com/winipedia/pyrig)** - AI-generated documentation
|
|
126
|
+
|
|
127
|
+
---
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "pyrig"
|
|
3
|
+
version = "4.2.3"
|
|
4
|
+
description = "A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development."
|
|
5
|
+
authors = [
|
|
6
|
+
{name = "Winipedia"},
|
|
7
|
+
]
|
|
8
|
+
maintainers = [
|
|
9
|
+
{name = "Winipedia"},
|
|
10
|
+
]
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = [
|
|
13
|
+
"LICENSE",
|
|
14
|
+
]
|
|
15
|
+
readme = "README.md"
|
|
16
|
+
requires-python = ">=3.12"
|
|
17
|
+
dependencies = [
|
|
18
|
+
"typer>=0.20.0",
|
|
19
|
+
]
|
|
20
|
+
classifiers = [
|
|
21
|
+
"Development Status :: 5 - Production/Stable",
|
|
22
|
+
"Intended Audience :: Developers",
|
|
23
|
+
"Topic :: Software Development :: Build Tools",
|
|
24
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
25
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
26
|
+
"Topic :: Software Development :: Testing",
|
|
27
|
+
"Topic :: System :: Installation/Setup",
|
|
28
|
+
"Topic :: System :: Software Distribution",
|
|
29
|
+
"Programming Language :: Python :: 3.12",
|
|
30
|
+
"Programming Language :: Python :: 3.13",
|
|
31
|
+
"Programming Language :: Python :: 3.14",
|
|
32
|
+
"Operating System :: OS Independent",
|
|
33
|
+
"Typing :: Typed",
|
|
34
|
+
]
|
|
35
|
+
keywords = [
|
|
36
|
+
"project-setup",
|
|
37
|
+
"automation",
|
|
38
|
+
"scaffolding",
|
|
39
|
+
"cli",
|
|
40
|
+
"testing",
|
|
41
|
+
"ci-cd",
|
|
42
|
+
"devops",
|
|
43
|
+
"packaging",
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
[project.urls]
|
|
47
|
+
Homepage = "https://github.com/Winipedia/pyrig"
|
|
48
|
+
Documentation = "https://Winipedia.github.io/pyrig"
|
|
49
|
+
Source = "https://github.com/Winipedia/pyrig"
|
|
50
|
+
Issues = "https://github.com/Winipedia/pyrig/issues"
|
|
51
|
+
Changelog = "https://github.com/Winipedia/pyrig/releases"
|
|
52
|
+
|
|
53
|
+
[project.scripts]
|
|
54
|
+
pyrig = "pyrig.dev.cli.cli:main"
|
|
55
|
+
|
|
56
|
+
[dependency-groups]
|
|
57
|
+
dev = [
|
|
58
|
+
"pyrig-dev>=0.1.1",
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
[build-system]
|
|
62
|
+
requires = [
|
|
63
|
+
"uv_build",
|
|
64
|
+
]
|
|
65
|
+
build-backend = "uv_build"
|
|
66
|
+
|
|
67
|
+
[tool.uv.build-backend]
|
|
68
|
+
module-name = "pyrig"
|
|
69
|
+
module-root = ""
|
|
70
|
+
|
|
71
|
+
[tool.ruff]
|
|
72
|
+
exclude = [
|
|
73
|
+
".*",
|
|
74
|
+
]
|
|
75
|
+
|
|
76
|
+
[tool.ruff.lint]
|
|
77
|
+
select = [
|
|
78
|
+
"ALL",
|
|
79
|
+
]
|
|
80
|
+
ignore = [
|
|
81
|
+
"D203",
|
|
82
|
+
"D213",
|
|
83
|
+
"COM812",
|
|
84
|
+
"ANN401",
|
|
85
|
+
]
|
|
86
|
+
fixable = [
|
|
87
|
+
"ALL",
|
|
88
|
+
]
|
|
89
|
+
|
|
90
|
+
[tool.ruff.lint.per-file-ignores]
|
|
91
|
+
"**/tests/**/*.py" = [
|
|
92
|
+
"S101",
|
|
93
|
+
]
|
|
94
|
+
|
|
95
|
+
[tool.ruff.lint.pydocstyle]
|
|
96
|
+
convention = "google"
|
|
97
|
+
|
|
98
|
+
[tool.ty.terminal]
|
|
99
|
+
error-on-warning = true
|
|
100
|
+
|
|
101
|
+
[tool.pytest.ini_options]
|
|
102
|
+
addopts = "--cov=pyrig --cov-report=term-missing --cov-fail-under=90"
|
|
103
|
+
testpaths = [
|
|
104
|
+
"tests",
|
|
105
|
+
]
|
|
106
|
+
|
|
107
|
+
[tool.bandit]
|
|
108
|
+
exclude_dirs = [
|
|
109
|
+
".*",
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
[tool.bandit.assert_used]
|
|
113
|
+
skips = [
|
|
114
|
+
"*/tests/*.py",
|
|
115
|
+
]
|
|
116
|
+
|
|
117
|
+
[tool.rumdl]
|
|
118
|
+
respect_gitignore = true
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""pyrig - A Python toolkit to rig up your project.
|
|
2
|
+
|
|
3
|
+
Opinionated Python project toolkit that standardizes and automates project setup,
|
|
4
|
+
configuration, and development.
|
|
5
|
+
|
|
6
|
+
Subpackages:
|
|
7
|
+
src: Runtime utilities available in production environments.
|
|
8
|
+
Includes project name extraction (cli), Git utilities (git),
|
|
9
|
+
directed graph (graph), nested structure validation (iterate),
|
|
10
|
+
resource access (resource), string manipulation (string),
|
|
11
|
+
module introspection (modules), and subprocess execution (processes).
|
|
12
|
+
dev: Development-time tools requiring dev dependencies.
|
|
13
|
+
Includes artifact builders (builders), CLI framework and commands (cli),
|
|
14
|
+
configuration file system (configs), tool wrappers (management),
|
|
15
|
+
test infrastructure (tests), and development utilities (utils).
|
|
16
|
+
resources: Static resource files (templates, licenses, data files).
|
|
17
|
+
Accessible via get_resource_path(name, package) from pyrig.src.resource.
|
|
18
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Development-time infrastructure for pyrig projects.
|
|
2
|
+
|
|
3
|
+
Provides development tools, configuration management, CLI commands, artifact builders,
|
|
4
|
+
and testing infrastructure. For development and CI/CD only, not runtime use.
|
|
5
|
+
|
|
6
|
+
Subpackages:
|
|
7
|
+
builders: Artifact building (PyInstaller executables, distributions)
|
|
8
|
+
cli: Command-line interface and subcommands
|
|
9
|
+
configs: Configuration file generators and managers
|
|
10
|
+
tests: Testing infrastructure and pytest fixtures
|
|
11
|
+
utils: Development utilities and helpers
|
|
12
|
+
|
|
13
|
+
Note:
|
|
14
|
+
Development dependencies only. Not for production runtime code.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Base classes for artifact builders.
|
|
2
|
+
|
|
3
|
+
Provides the abstract `BuilderConfigFile` base class that defines the interface
|
|
4
|
+
and orchestration logic for all artifact builders. The BuilderConfigFile class
|
|
5
|
+
handles the complete build lifecycle including temporary directory management,
|
|
6
|
+
artifact creation, platform-specific renaming, and automatic cleanup.
|
|
7
|
+
|
|
8
|
+
Classes:
|
|
9
|
+
BuilderConfigFile: Abstract base class for artifact builders. Subclasses
|
|
10
|
+
must implement `create_artifacts(cls, temp_artifacts_dir: Path) -> None`.
|
|
11
|
+
|
|
12
|
+
See Also:
|
|
13
|
+
pyrig.dev.builders.base.base.BuilderConfigFile: Full class implementation
|
|
14
|
+
pyrig.dev.builders.pyinstaller.PyInstallerBuilder: PyInstaller builder
|
|
15
|
+
"""
|