pyrig 3.0.9__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-3.0.9 → pyrig-4.2.3}/PKG-INFO +34 -95
- pyrig-4.2.3/README.md +127 -0
- {pyrig-3.0.9 → pyrig-4.2.3}/pyproject.toml +8 -12
- 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-3.0.9/pyrig/dev/configs/workflows/base/base.py → pyrig-4.2.3/pyrig/dev/configs/base/workflow.py +172 -78
- 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-3.0.9/pyrig/dev/configs → pyrig-4.2.3/pyrig/dev/configs/git}/branch_protection.py +23 -27
- 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-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/pyproject.py +95 -181
- 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-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/build.py +48 -9
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/health_check.py +63 -12
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/publish.py +52 -7
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/release.py +53 -9
- 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/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-3.0.9/README.md +0 -188
- pyrig-3.0.9/pyrig/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/__init__.py +0 -6
- pyrig-3.0.9/pyrig/dev/builders/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/builders/base/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/builders/base/base.py +0 -255
- pyrig-3.0.9/pyrig/dev/builders/pyinstaller.py +0 -229
- pyrig-3.0.9/pyrig/dev/cli/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/cli/cli.py +0 -100
- pyrig-3.0.9/pyrig/dev/cli/commands/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/cli/commands/build_artifacts.py +0 -16
- pyrig-3.0.9/pyrig/dev/cli/commands/create_root.py +0 -100
- pyrig-3.0.9/pyrig/dev/cli/commands/create_tests.py +0 -248
- pyrig-3.0.9/pyrig/dev/cli/commands/init_project.py +0 -169
- pyrig-3.0.9/pyrig/dev/cli/commands/make_inits.py +0 -28
- pyrig-3.0.9/pyrig/dev/cli/commands/protect_repo.py +0 -100
- pyrig-3.0.9/pyrig/dev/cli/shared_subcommands.py +0 -20
- pyrig-3.0.9/pyrig/dev/cli/subcommands.py +0 -83
- pyrig-3.0.9/pyrig/dev/configs/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/configs/base/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/configs/base/badges_md.py +0 -117
- pyrig-3.0.9/pyrig/dev/configs/base/base.py +0 -269
- pyrig-3.0.9/pyrig/dev/configs/base/copy_module.py +0 -72
- pyrig-3.0.9/pyrig/dev/configs/base/copy_module_docstr.py +0 -38
- pyrig-3.0.9/pyrig/dev/configs/base/init.py +0 -39
- pyrig-3.0.9/pyrig/dev/configs/base/json.py +0 -46
- pyrig-3.0.9/pyrig/dev/configs/base/markdown.py +0 -24
- pyrig-3.0.9/pyrig/dev/configs/base/py_package.py +0 -28
- pyrig-3.0.9/pyrig/dev/configs/base/py_tests.py +0 -23
- pyrig-3.0.9/pyrig/dev/configs/base/python.py +0 -25
- pyrig-3.0.9/pyrig/dev/configs/base/text.py +0 -92
- pyrig-3.0.9/pyrig/dev/configs/base/toml.py +0 -102
- pyrig-3.0.9/pyrig/dev/configs/base/txt.py +0 -23
- pyrig-3.0.9/pyrig/dev/configs/base/typed.py +0 -56
- pyrig-3.0.9/pyrig/dev/configs/base/yaml.py +0 -45
- pyrig-3.0.9/pyrig/dev/configs/base/yml.py +0 -22
- pyrig-3.0.9/pyrig/dev/configs/containers/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/configs/containers/container_file.py +0 -111
- pyrig-3.0.9/pyrig/dev/configs/docs/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/configs/docs/mkdocs.py +0 -64
- pyrig-3.0.9/pyrig/dev/configs/dot_env.py +0 -95
- pyrig-3.0.9/pyrig/dev/configs/dot_python_version.py +0 -88
- pyrig-3.0.9/pyrig/dev/configs/git/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/configs/git/gitignore.py +0 -182
- pyrig-3.0.9/pyrig/dev/configs/git/pre_commit.py +0 -120
- pyrig-3.0.9/pyrig/dev/configs/licence.py +0 -112
- pyrig-3.0.9/pyrig/dev/configs/markdown/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/configs/markdown/docs/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/configs/markdown/docs/index.py +0 -41
- pyrig-3.0.9/pyrig/dev/configs/markdown/readme.py +0 -45
- pyrig-3.0.9/pyrig/dev/configs/py_typed.py +0 -28
- pyrig-3.0.9/pyrig/dev/configs/python/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/configs/python/builders_init.py +0 -27
- pyrig-3.0.9/pyrig/dev/configs/python/configs_init.py +0 -28
- pyrig-3.0.9/pyrig/dev/configs/python/dot_experiment.py +0 -46
- pyrig-3.0.9/pyrig/dev/configs/python/main.py +0 -59
- pyrig-3.0.9/pyrig/dev/configs/python/resources_init.py +0 -27
- pyrig-3.0.9/pyrig/dev/configs/python/shared_subcommands.py +0 -31
- pyrig-3.0.9/pyrig/dev/configs/python/src_init.py +0 -27
- pyrig-3.0.9/pyrig/dev/configs/python/subcommands.py +0 -29
- pyrig-3.0.9/pyrig/dev/configs/testing/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/configs/testing/conftest.py +0 -50
- pyrig-3.0.9/pyrig/dev/configs/testing/fixtures_init.py +0 -27
- pyrig-3.0.9/pyrig/dev/configs/testing/main_test.py +0 -81
- pyrig-3.0.9/pyrig/dev/configs/testing/zero_test.py +0 -43
- pyrig-3.0.9/pyrig/dev/configs/workflows/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/configs/workflows/base/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/tests/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/tests/conftest.py +0 -39
- pyrig-3.0.9/pyrig/dev/tests/fixtures/__init__.py +0 -1
- pyrig-3.0.9/pyrig/dev/tests/fixtures/assertions.py +0 -147
- pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/class_.py +0 -42
- pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/module.py +0 -40
- pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/session.py +0 -617
- pyrig-3.0.9/pyrig/dev/tests/fixtures/factories.py +0 -118
- pyrig-3.0.9/pyrig/dev/utils/__init__.py +0 -5
- pyrig-3.0.9/pyrig/dev/utils/github.py +0 -314
- pyrig-3.0.9/pyrig/dev/utils/packages.py +0 -93
- pyrig-3.0.9/pyrig/dev/utils/resources.py +0 -77
- pyrig-3.0.9/pyrig/dev/utils/testing.py +0 -66
- pyrig-3.0.9/pyrig/dev/utils/versions.py +0 -268
- pyrig-3.0.9/pyrig/resources/__init__.py +0 -1
- pyrig-3.0.9/pyrig/src/__init__.py +0 -1
- pyrig-3.0.9/pyrig/src/cli.py +0 -17
- pyrig-3.0.9/pyrig/src/consts.py +0 -3
- pyrig-3.0.9/pyrig/src/git.py +0 -229
- pyrig-3.0.9/pyrig/src/graph.py +0 -255
- pyrig-3.0.9/pyrig/src/iterate.py +0 -107
- pyrig-3.0.9/pyrig/src/management/__init__.py +0 -5
- pyrig-3.0.9/pyrig/src/management/base/__init__.py +0 -1
- pyrig-3.0.9/pyrig/src/management/base/base.py +0 -77
- pyrig-3.0.9/pyrig/src/management/container_engine.py +0 -49
- pyrig-3.0.9/pyrig/src/management/package_manager.py +0 -170
- pyrig-3.0.9/pyrig/src/management/pre_committer.py +0 -71
- pyrig-3.0.9/pyrig/src/management/project_tester.py +0 -48
- pyrig-3.0.9/pyrig/src/management/pyrigger.py +0 -67
- pyrig-3.0.9/pyrig/src/management/version_controller.py +0 -211
- pyrig-3.0.9/pyrig/src/modules/__init__.py +0 -22
- pyrig-3.0.9/pyrig/src/modules/class_.py +0 -303
- pyrig-3.0.9/pyrig/src/modules/function.py +0 -189
- pyrig-3.0.9/pyrig/src/modules/imports.py +0 -147
- pyrig-3.0.9/pyrig/src/modules/inspection.py +0 -170
- pyrig-3.0.9/pyrig/src/modules/module.py +0 -300
- pyrig-3.0.9/pyrig/src/modules/package.py +0 -420
- pyrig-3.0.9/pyrig/src/modules/path.py +0 -307
- pyrig-3.0.9/pyrig/src/os/__init__.py +0 -6
- pyrig-3.0.9/pyrig/src/os/os.py +0 -121
- pyrig-3.0.9/pyrig/src/resource.py +0 -58
- pyrig-3.0.9/pyrig/src/string.py +0 -100
- pyrig-3.0.9/pyrig/src/testing/__init__.py +0 -6
- pyrig-3.0.9/pyrig/src/testing/assertions.py +0 -48
- pyrig-3.0.9/pyrig/src/testing/convention.py +0 -203
- {pyrig-3.0.9 → pyrig-4.2.3}/LICENSE +0 -0
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/main.py +0 -0
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/py.typed +0 -0
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/resources/GITIGNORE +0 -0
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/resources/LATEST_PYTHON_VERSION +0 -0
- {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/resources/MIT_LICENSE_TEMPLATE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyrig
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.2.3
|
|
4
4
|
Summary: A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development.
|
|
5
5
|
Keywords: project-setup,automation,scaffolding,cli,testing,ci-cd,devops,packaging
|
|
6
6
|
Author: Winipedia
|
|
@@ -8,16 +8,16 @@ License-Expression: MIT
|
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
14
|
-
Classifier: Operating System :: OS Independent
|
|
15
11
|
Classifier: Topic :: Software Development :: Build Tools
|
|
16
12
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
13
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
18
14
|
Classifier: Topic :: Software Development :: Testing
|
|
19
15
|
Classifier: Topic :: System :: Installation/Setup
|
|
20
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
21
|
Classifier: Typing :: Typed
|
|
22
22
|
Requires-Dist: typer>=0.20.0
|
|
23
23
|
Maintainer: Winipedia
|
|
@@ -39,10 +39,11 @@ Description-Content-Type: text/markdown
|
|
|
39
39
|
[](https://www.mkdocs.org/)
|
|
40
40
|
<!-- code-quality -->
|
|
41
41
|
[](https://github.com/astral-sh/ruff)
|
|
42
|
-
[](https://github.com/astral-sh/ty)
|
|
42
|
+
[](https://github.com/astral-sh/ty)
|
|
43
43
|
[](https://github.com/PyCQA/bandit)
|
|
44
44
|
[](https://pytest.org/)
|
|
45
45
|
[](https://codecov.io/gh/Winipedia/pyrig)
|
|
46
|
+
[](https://github.com/rvben/rumdl)
|
|
46
47
|
<!-- package-info -->
|
|
47
48
|
[](https://pypi.org/project/pyrig)
|
|
48
49
|
[](https://www.python.org/)
|
|
@@ -61,20 +62,29 @@ Description-Content-Type: text/markdown
|
|
|
61
62
|
|
|
62
63
|
## What is pyrig?
|
|
63
64
|
|
|
64
|
-
pyrig is an opinionated Python project toolkit that eliminates setup time and
|
|
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.
|
|
65
68
|
|
|
66
|
-
**Philosophy**: pyrig provides **minimal best practices fully
|
|
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.
|
|
67
75
|
|
|
68
76
|
### Key Features
|
|
69
77
|
|
|
70
78
|
**Zero Configuration Setup**:
|
|
79
|
+
|
|
71
80
|
- Complete project structure in minutes
|
|
72
|
-
- Pre-configured tools (uv, ruff,
|
|
81
|
+
- Pre-configured tools (uv, ruff, ty, pytest, MkDocs)
|
|
73
82
|
- GitHub Actions workflows (health check, build, release, publish)
|
|
74
83
|
- 90% test coverage enforcement
|
|
75
84
|
- Pre-commit hooks with all quality checks
|
|
76
85
|
|
|
77
86
|
**Automated Project Management**:
|
|
87
|
+
|
|
78
88
|
- CLI framework with automatic command discovery
|
|
79
89
|
- Configuration file system with validation
|
|
80
90
|
- Automatic test skeleton generation
|
|
@@ -82,9 +92,10 @@ pyrig is an opinionated Python project toolkit that eliminates setup time and en
|
|
|
82
92
|
- Multi-package architecture support
|
|
83
93
|
|
|
84
94
|
**Opinionated Best Practices**:
|
|
95
|
+
|
|
85
96
|
- Python >=3.12 with modern type hints
|
|
86
97
|
- All ruff linting rules enabled
|
|
87
|
-
- Strict
|
|
98
|
+
- Strict type checking with ty
|
|
88
99
|
- Signed commits and linear history
|
|
89
100
|
- Repository protection rules
|
|
90
101
|
|
|
@@ -111,92 +122,17 @@ uv run pyrig init
|
|
|
111
122
|
|
|
112
123
|
### What You Get
|
|
113
124
|
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
my-project/
|
|
117
|
-
├── my_project/ # Source code package
|
|
118
|
-
│ ├── __init__.py
|
|
119
|
-
│ ├── main.py # CLI entry point
|
|
120
|
-
│ ├── py.typed # PEP 561 type marker
|
|
121
|
-
│ ├── dev/ # Development infrastructure
|
|
122
|
-
│ │ ├── __init__.py
|
|
123
|
-
│ │ ├── builders/ # Build artifact definitions
|
|
124
|
-
│ │ │ ├── __init__.py
|
|
125
|
-
│ │ ├── cli/ # CLI command system
|
|
126
|
-
│ │ │ ├── __init__.py
|
|
127
|
-
│ │ │ ├── subcommands.py # Project commands
|
|
128
|
-
│ │ │ ├── shared_subcommands.py # Shared commands
|
|
129
|
-
│ │ ├── configs/ # Config file managers
|
|
130
|
-
│ │ │ ├── __init__.py
|
|
131
|
-
│ │ ├── tests/ # Test infrastructure
|
|
132
|
-
│ │ │ ├── __init__.py
|
|
133
|
-
│ │ │ └── fixtures/
|
|
134
|
-
│ │ │ └── __init__.py
|
|
135
|
-
│ ├── resources/ # Static resources
|
|
136
|
-
│ │ └── __init__.py
|
|
137
|
-
│ └── src/ # Application logic
|
|
138
|
-
│ └── __init__.py
|
|
139
|
-
│
|
|
140
|
-
├── tests/ # Test files (mirrors source)
|
|
141
|
-
│ ├── __init__.py
|
|
142
|
-
│ ├── conftest.py # Pytest configuration
|
|
143
|
-
│ ├── test_zero.py # Initial test
|
|
144
|
-
│ └── test_my_project/ # Mirrors my_project/ structure
|
|
145
|
-
│ ├── __init__.py
|
|
146
|
-
│ ├── test_main.py
|
|
147
|
-
│ ├── test_dev/ # Mirrors my_project/dev/
|
|
148
|
-
│ │ ├── __init__.py
|
|
149
|
-
│ │ ├── test_builders/
|
|
150
|
-
│ │ │ └── __init__.py
|
|
151
|
-
│ │ ├── test_cli/
|
|
152
|
-
│ │ │ ├── __init__.py
|
|
153
|
-
│ │ │ ├── test_subcommands.py
|
|
154
|
-
│ │ │ └── test_shared_subcommands.py
|
|
155
|
-
│ │ ├── test_configs/
|
|
156
|
-
│ │ │ └── __init__.py
|
|
157
|
-
│ │ └── test_tests/
|
|
158
|
-
│ │ └── __init__.py
|
|
159
|
-
│ ├── test_resources/ # Mirrors my_project/resources/
|
|
160
|
-
│ │ └── __init__.py
|
|
161
|
-
│ └── test_src/ # Mirrors my_project/src/
|
|
162
|
-
│ └── __init__.py
|
|
163
|
-
│
|
|
164
|
-
├── docs/ # MkDocs documentation
|
|
165
|
-
│ └── index.md # Documentation homepage
|
|
166
|
-
│
|
|
167
|
-
├── .github/ # GitHub configuration
|
|
168
|
-
│ └── workflows/ # CI/CD workflows
|
|
169
|
-
│ ├── health_check.yaml # Tests, linting, type checking
|
|
170
|
-
│ ├── build.yaml # Build artifacts
|
|
171
|
-
│ ├── release.yaml # Version and release
|
|
172
|
-
│ └── publish.yaml # PyPI and docs publishing
|
|
173
|
-
│
|
|
174
|
-
├── .env # Environment variables (not committed)
|
|
175
|
-
├── .experiment.py # Scratch file for local experiments (not committed)
|
|
176
|
-
├── .gitignore # Git ignore patterns
|
|
177
|
-
├── .pre-commit-config.yaml # Pre-commit hooks
|
|
178
|
-
├── .python-version # Python version (3.12+)
|
|
179
|
-
├── Containerfile # Podman/Docker image definition
|
|
180
|
-
├── LICENSE # MIT license
|
|
181
|
-
├── README.md # Project readme
|
|
182
|
-
├── mkdocs.yml # MkDocs configuration
|
|
183
|
-
├── pyproject.toml # Project metadata and tool configs
|
|
184
|
-
└── uv.lock # Dependency lock file
|
|
185
|
-
```
|
|
125
|
+
After running `uv run pyrig init`, you get a complete project with:
|
|
186
126
|
|
|
187
|
-
**CI/CD
|
|
188
|
-
- **
|
|
189
|
-
- **
|
|
190
|
-
- **
|
|
191
|
-
- **
|
|
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
|
|
192
132
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
- **mypy** - Static type checking (strict mode)
|
|
197
|
-
- **pytest** - Testing with coverage reporting
|
|
198
|
-
- **MkDocs** - Documentation generation
|
|
199
|
-
- **Podman** - Container support
|
|
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.
|
|
200
136
|
|
|
201
137
|
### CLI Commands
|
|
202
138
|
|
|
@@ -212,8 +148,11 @@ uv run my-project --help # Your custom CLI
|
|
|
212
148
|
|
|
213
149
|
New to pyrig? Start here:
|
|
214
150
|
|
|
215
|
-
|
|
151
|
+
- *[Getting Started Guide](https://winipedia.github.io/pyrig/more/getting-started/)*
|
|
152
|
+
- Complete setup from zero to fully configured project
|
|
216
153
|
|
|
217
154
|
**[Full Documentation](https://winipedia.github.io/pyrig/)** - Comprehensive documentation on GitHub Pages
|
|
218
155
|
|
|
156
|
+
**[CodeWiki Documentation](https://codewiki.google/github.com/winipedia/pyrig)** - AI-generated documentation
|
|
157
|
+
|
|
219
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
|
+
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pyrig"
|
|
3
|
-
version = "
|
|
3
|
+
version = "4.2.3"
|
|
4
4
|
description = "A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development."
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Winipedia"},
|
|
@@ -20,16 +20,16 @@ dependencies = [
|
|
|
20
20
|
classifiers = [
|
|
21
21
|
"Development Status :: 5 - Production/Stable",
|
|
22
22
|
"Intended Audience :: Developers",
|
|
23
|
-
"Programming Language :: Python :: 3.12",
|
|
24
|
-
"Programming Language :: Python :: 3.13",
|
|
25
|
-
"Programming Language :: Python :: 3.14",
|
|
26
|
-
"Operating System :: OS Independent",
|
|
27
23
|
"Topic :: Software Development :: Build Tools",
|
|
28
24
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
29
25
|
"Topic :: Software Development :: Quality Assurance",
|
|
30
26
|
"Topic :: Software Development :: Testing",
|
|
31
27
|
"Topic :: System :: Installation/Setup",
|
|
32
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
33
|
"Typing :: Typed",
|
|
34
34
|
]
|
|
35
35
|
keywords = [
|
|
@@ -71,7 +71,6 @@ module-root = ""
|
|
|
71
71
|
[tool.ruff]
|
|
72
72
|
exclude = [
|
|
73
73
|
".*",
|
|
74
|
-
"**/migrations/*.py",
|
|
75
74
|
]
|
|
76
75
|
|
|
77
76
|
[tool.ruff.lint]
|
|
@@ -99,12 +98,6 @@ convention = "google"
|
|
|
99
98
|
[tool.ty.terminal]
|
|
100
99
|
error-on-warning = true
|
|
101
100
|
|
|
102
|
-
[tool.mypy]
|
|
103
|
-
strict = true
|
|
104
|
-
warn_unreachable = true
|
|
105
|
-
show_error_codes = true
|
|
106
|
-
files = "."
|
|
107
|
-
|
|
108
101
|
[tool.pytest.ini_options]
|
|
109
102
|
addopts = "--cov=pyrig --cov-report=term-missing --cov-fail-under=90"
|
|
110
103
|
testpaths = [
|
|
@@ -120,3 +113,6 @@ exclude_dirs = [
|
|
|
120
113
|
skips = [
|
|
121
114
|
"*/tests/*.py",
|
|
122
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
|
+
"""
|