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.
Files changed (249) hide show
  1. {pyrig-3.0.9 → pyrig-4.2.3}/PKG-INFO +34 -95
  2. pyrig-4.2.3/README.md +127 -0
  3. {pyrig-3.0.9 → pyrig-4.2.3}/pyproject.toml +8 -12
  4. pyrig-4.2.3/pyrig/__init__.py +18 -0
  5. pyrig-4.2.3/pyrig/dev/__init__.py +15 -0
  6. pyrig-4.2.3/pyrig/dev/builders/__init__.py +5 -0
  7. pyrig-4.2.3/pyrig/dev/builders/base/__init__.py +15 -0
  8. pyrig-4.2.3/pyrig/dev/builders/base/base.py +343 -0
  9. pyrig-4.2.3/pyrig/dev/builders/pyinstaller.py +316 -0
  10. pyrig-4.2.3/pyrig/dev/cli/__init__.py +20 -0
  11. pyrig-4.2.3/pyrig/dev/cli/cli.py +252 -0
  12. pyrig-4.2.3/pyrig/dev/cli/commands/__init__.py +24 -0
  13. pyrig-4.2.3/pyrig/dev/cli/commands/build_artifacts.py +22 -0
  14. pyrig-4.2.3/pyrig/dev/cli/commands/create_root.py +29 -0
  15. pyrig-4.2.3/pyrig/dev/cli/commands/create_tests.py +70 -0
  16. pyrig-4.2.3/pyrig/dev/cli/commands/init_project.py +170 -0
  17. pyrig-4.2.3/pyrig/dev/cli/commands/make_inits.py +43 -0
  18. pyrig-4.2.3/pyrig/dev/cli/commands/protect_repo.py +84 -0
  19. pyrig-4.2.3/pyrig/dev/cli/shared_subcommands.py +36 -0
  20. pyrig-4.2.3/pyrig/dev/cli/subcommands.py +202 -0
  21. pyrig-4.2.3/pyrig/dev/configs/__init__.py +6 -0
  22. pyrig-4.2.3/pyrig/dev/configs/base/__init__.py +90 -0
  23. pyrig-4.2.3/pyrig/dev/configs/base/badges_md.py +118 -0
  24. pyrig-4.2.3/pyrig/dev/configs/base/base.py +529 -0
  25. pyrig-4.2.3/pyrig/dev/configs/base/copy_module.py +91 -0
  26. pyrig-4.2.3/pyrig/dev/configs/base/copy_module_docstr.py +63 -0
  27. pyrig-4.2.3/pyrig/dev/configs/base/dict_cf.py +50 -0
  28. pyrig-4.2.3/pyrig/dev/configs/base/init.py +57 -0
  29. pyrig-4.2.3/pyrig/dev/configs/base/json.py +85 -0
  30. pyrig-4.2.3/pyrig/dev/configs/base/list_cf.py +50 -0
  31. pyrig-4.2.3/pyrig/dev/configs/base/markdown.py +39 -0
  32. pyrig-4.2.3/pyrig/dev/configs/base/py_package.py +53 -0
  33. pyrig-4.2.3/pyrig/dev/configs/base/py_tests.py +44 -0
  34. pyrig-4.2.3/pyrig/dev/configs/base/python.py +39 -0
  35. pyrig-4.2.3/pyrig/dev/configs/base/string_.py +155 -0
  36. pyrig-4.2.3/pyrig/dev/configs/base/toml.py +131 -0
  37. pyrig-4.2.3/pyrig/dev/configs/base/txt.py +38 -0
  38. pyrig-4.2.3/pyrig/dev/configs/base/typed.py +74 -0
  39. pyrig-3.0.9/pyrig/dev/configs/workflows/base/base.py → pyrig-4.2.3/pyrig/dev/configs/base/workflow.py +172 -78
  40. pyrig-4.2.3/pyrig/dev/configs/base/yaml.py +71 -0
  41. pyrig-4.2.3/pyrig/dev/configs/base/yml.py +40 -0
  42. pyrig-4.2.3/pyrig/dev/configs/containers/__init__.py +12 -0
  43. pyrig-4.2.3/pyrig/dev/configs/containers/container_file.py +129 -0
  44. pyrig-4.2.3/pyrig/dev/configs/docs/__init__.py +14 -0
  45. pyrig-4.2.3/pyrig/dev/configs/docs/mkdocs.py +110 -0
  46. pyrig-4.2.3/pyrig/dev/configs/dot_env.py +69 -0
  47. pyrig-4.2.3/pyrig/dev/configs/dot_python_version.py +49 -0
  48. pyrig-4.2.3/pyrig/dev/configs/git/__init__.py +14 -0
  49. {pyrig-3.0.9/pyrig/dev/configs → pyrig-4.2.3/pyrig/dev/configs/git}/branch_protection.py +23 -27
  50. pyrig-4.2.3/pyrig/dev/configs/git/gitignore.py +147 -0
  51. pyrig-4.2.3/pyrig/dev/configs/git/pre_commit.py +150 -0
  52. pyrig-4.2.3/pyrig/dev/configs/licence.py +90 -0
  53. pyrig-4.2.3/pyrig/dev/configs/markdown/__init__.py +13 -0
  54. pyrig-4.2.3/pyrig/dev/configs/markdown/docs/__init__.py +12 -0
  55. pyrig-4.2.3/pyrig/dev/configs/markdown/docs/api.py +61 -0
  56. pyrig-4.2.3/pyrig/dev/configs/markdown/docs/index.py +60 -0
  57. pyrig-4.2.3/pyrig/dev/configs/markdown/readme.py +56 -0
  58. pyrig-4.2.3/pyrig/dev/configs/py_typed.py +30 -0
  59. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/pyproject.py +95 -181
  60. pyrig-4.2.3/pyrig/dev/configs/pyrig/__init__.py +34 -0
  61. pyrig-4.2.3/pyrig/dev/configs/pyrig/pyproject.py +94 -0
  62. pyrig-4.2.3/pyrig/dev/configs/python/__init__.py +10 -0
  63. pyrig-4.2.3/pyrig/dev/configs/python/builders_init.py +51 -0
  64. pyrig-4.2.3/pyrig/dev/configs/python/configs_init.py +53 -0
  65. pyrig-4.2.3/pyrig/dev/configs/python/dot_experiment.py +76 -0
  66. pyrig-4.2.3/pyrig/dev/configs/python/main.py +103 -0
  67. pyrig-4.2.3/pyrig/dev/configs/python/management_init.py +64 -0
  68. pyrig-4.2.3/pyrig/dev/configs/python/resources_init.py +51 -0
  69. pyrig-4.2.3/pyrig/dev/configs/python/shared_subcommands.py +58 -0
  70. pyrig-4.2.3/pyrig/dev/configs/python/src_init.py +49 -0
  71. pyrig-4.2.3/pyrig/dev/configs/python/subcommands.py +56 -0
  72. pyrig-4.2.3/pyrig/dev/configs/testing/__init__.py +9 -0
  73. pyrig-4.2.3/pyrig/dev/configs/testing/conftest.py +72 -0
  74. pyrig-4.2.3/pyrig/dev/configs/testing/fixtures_init.py +61 -0
  75. pyrig-4.2.3/pyrig/dev/configs/testing/main_test.py +109 -0
  76. pyrig-4.2.3/pyrig/dev/configs/testing/zero_test.py +70 -0
  77. pyrig-4.2.3/pyrig/dev/configs/workflows/__init__.py +10 -0
  78. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/build.py +48 -9
  79. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/health_check.py +63 -12
  80. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/publish.py +52 -7
  81. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/dev/configs/workflows/release.py +53 -9
  82. pyrig-4.2.3/pyrig/dev/management/__init__.py +5 -0
  83. pyrig-4.2.3/pyrig/dev/management/base/__init__.py +10 -0
  84. pyrig-4.2.3/pyrig/dev/management/base/base.py +98 -0
  85. pyrig-4.2.3/pyrig/dev/management/container_engine.py +72 -0
  86. pyrig-4.2.3/pyrig/dev/management/docs_builder.py +57 -0
  87. pyrig-4.2.3/pyrig/dev/management/linter.py +75 -0
  88. pyrig-4.2.3/pyrig/dev/management/mdlinter.py +61 -0
  89. pyrig-4.2.3/pyrig/dev/management/package_manager.py +197 -0
  90. pyrig-4.2.3/pyrig/dev/management/pre_committer.py +86 -0
  91. pyrig-4.2.3/pyrig/dev/management/project_tester.py +53 -0
  92. pyrig-4.2.3/pyrig/dev/management/pyrigger.py +66 -0
  93. pyrig-4.2.3/pyrig/dev/management/remote_version_controller.py +133 -0
  94. pyrig-4.2.3/pyrig/dev/management/security_checker.py +62 -0
  95. pyrig-4.2.3/pyrig/dev/management/type_checker.py +47 -0
  96. pyrig-4.2.3/pyrig/dev/management/version_controller.py +459 -0
  97. pyrig-4.2.3/pyrig/dev/tests/__init__.py +15 -0
  98. pyrig-4.2.3/pyrig/dev/tests/conftest.py +51 -0
  99. pyrig-4.2.3/pyrig/dev/tests/fixtures/__init__.py +6 -0
  100. pyrig-4.2.3/pyrig/dev/tests/fixtures/assertions.py +94 -0
  101. pyrig-4.2.3/pyrig/dev/tests/fixtures/autouse/__init__.py +9 -0
  102. pyrig-4.2.3/pyrig/dev/tests/fixtures/autouse/session.py +585 -0
  103. pyrig-4.2.3/pyrig/dev/tests/fixtures/factories.py +97 -0
  104. pyrig-4.2.3/pyrig/dev/tests/mirror_test.py +907 -0
  105. pyrig-4.2.3/pyrig/dev/utils/__init__.py +33 -0
  106. pyrig-4.2.3/pyrig/dev/utils/github_api.py +237 -0
  107. pyrig-4.2.3/pyrig/dev/utils/packages.py +176 -0
  108. pyrig-4.2.3/pyrig/dev/utils/resources.py +170 -0
  109. pyrig-4.2.3/pyrig/dev/utils/testing.py +283 -0
  110. pyrig-4.2.3/pyrig/dev/utils/urls.py +50 -0
  111. pyrig-4.2.3/pyrig/dev/utils/version_control.py +103 -0
  112. pyrig-4.2.3/pyrig/dev/utils/versions.py +381 -0
  113. pyrig-4.2.3/pyrig/resources/__init__.py +5 -0
  114. pyrig-4.2.3/pyrig/src/__init__.py +5 -0
  115. pyrig-4.2.3/pyrig/src/cli.py +71 -0
  116. pyrig-4.2.3/pyrig/src/git.py +35 -0
  117. pyrig-4.2.3/pyrig/src/graph.py +243 -0
  118. pyrig-4.2.3/pyrig/src/iterate.py +131 -0
  119. pyrig-4.2.3/pyrig/src/modules/__init__.py +15 -0
  120. pyrig-4.2.3/pyrig/src/modules/class_.py +256 -0
  121. pyrig-4.2.3/pyrig/src/modules/function.py +78 -0
  122. pyrig-4.2.3/pyrig/src/modules/imports.py +208 -0
  123. pyrig-4.2.3/pyrig/src/modules/inspection.py +145 -0
  124. pyrig-4.2.3/pyrig/src/modules/module.py +339 -0
  125. pyrig-4.2.3/pyrig/src/modules/package.py +536 -0
  126. pyrig-4.2.3/pyrig/src/modules/path.py +316 -0
  127. pyrig-4.2.3/pyrig/src/processes.py +152 -0
  128. pyrig-4.2.3/pyrig/src/requests.py +43 -0
  129. pyrig-4.2.3/pyrig/src/resource.py +52 -0
  130. pyrig-4.2.3/pyrig/src/string_.py +167 -0
  131. pyrig-3.0.9/README.md +0 -188
  132. pyrig-3.0.9/pyrig/__init__.py +0 -1
  133. pyrig-3.0.9/pyrig/dev/__init__.py +0 -6
  134. pyrig-3.0.9/pyrig/dev/builders/__init__.py +0 -1
  135. pyrig-3.0.9/pyrig/dev/builders/base/__init__.py +0 -5
  136. pyrig-3.0.9/pyrig/dev/builders/base/base.py +0 -255
  137. pyrig-3.0.9/pyrig/dev/builders/pyinstaller.py +0 -229
  138. pyrig-3.0.9/pyrig/dev/cli/__init__.py +0 -5
  139. pyrig-3.0.9/pyrig/dev/cli/cli.py +0 -100
  140. pyrig-3.0.9/pyrig/dev/cli/commands/__init__.py +0 -1
  141. pyrig-3.0.9/pyrig/dev/cli/commands/build_artifacts.py +0 -16
  142. pyrig-3.0.9/pyrig/dev/cli/commands/create_root.py +0 -100
  143. pyrig-3.0.9/pyrig/dev/cli/commands/create_tests.py +0 -248
  144. pyrig-3.0.9/pyrig/dev/cli/commands/init_project.py +0 -169
  145. pyrig-3.0.9/pyrig/dev/cli/commands/make_inits.py +0 -28
  146. pyrig-3.0.9/pyrig/dev/cli/commands/protect_repo.py +0 -100
  147. pyrig-3.0.9/pyrig/dev/cli/shared_subcommands.py +0 -20
  148. pyrig-3.0.9/pyrig/dev/cli/subcommands.py +0 -83
  149. pyrig-3.0.9/pyrig/dev/configs/__init__.py +0 -1
  150. pyrig-3.0.9/pyrig/dev/configs/base/__init__.py +0 -5
  151. pyrig-3.0.9/pyrig/dev/configs/base/badges_md.py +0 -117
  152. pyrig-3.0.9/pyrig/dev/configs/base/base.py +0 -269
  153. pyrig-3.0.9/pyrig/dev/configs/base/copy_module.py +0 -72
  154. pyrig-3.0.9/pyrig/dev/configs/base/copy_module_docstr.py +0 -38
  155. pyrig-3.0.9/pyrig/dev/configs/base/init.py +0 -39
  156. pyrig-3.0.9/pyrig/dev/configs/base/json.py +0 -46
  157. pyrig-3.0.9/pyrig/dev/configs/base/markdown.py +0 -24
  158. pyrig-3.0.9/pyrig/dev/configs/base/py_package.py +0 -28
  159. pyrig-3.0.9/pyrig/dev/configs/base/py_tests.py +0 -23
  160. pyrig-3.0.9/pyrig/dev/configs/base/python.py +0 -25
  161. pyrig-3.0.9/pyrig/dev/configs/base/text.py +0 -92
  162. pyrig-3.0.9/pyrig/dev/configs/base/toml.py +0 -102
  163. pyrig-3.0.9/pyrig/dev/configs/base/txt.py +0 -23
  164. pyrig-3.0.9/pyrig/dev/configs/base/typed.py +0 -56
  165. pyrig-3.0.9/pyrig/dev/configs/base/yaml.py +0 -45
  166. pyrig-3.0.9/pyrig/dev/configs/base/yml.py +0 -22
  167. pyrig-3.0.9/pyrig/dev/configs/containers/__init__.py +0 -1
  168. pyrig-3.0.9/pyrig/dev/configs/containers/container_file.py +0 -111
  169. pyrig-3.0.9/pyrig/dev/configs/docs/__init__.py +0 -1
  170. pyrig-3.0.9/pyrig/dev/configs/docs/mkdocs.py +0 -64
  171. pyrig-3.0.9/pyrig/dev/configs/dot_env.py +0 -95
  172. pyrig-3.0.9/pyrig/dev/configs/dot_python_version.py +0 -88
  173. pyrig-3.0.9/pyrig/dev/configs/git/__init__.py +0 -5
  174. pyrig-3.0.9/pyrig/dev/configs/git/gitignore.py +0 -182
  175. pyrig-3.0.9/pyrig/dev/configs/git/pre_commit.py +0 -120
  176. pyrig-3.0.9/pyrig/dev/configs/licence.py +0 -112
  177. pyrig-3.0.9/pyrig/dev/configs/markdown/__init__.py +0 -1
  178. pyrig-3.0.9/pyrig/dev/configs/markdown/docs/__init__.py +0 -1
  179. pyrig-3.0.9/pyrig/dev/configs/markdown/docs/index.py +0 -41
  180. pyrig-3.0.9/pyrig/dev/configs/markdown/readme.py +0 -45
  181. pyrig-3.0.9/pyrig/dev/configs/py_typed.py +0 -28
  182. pyrig-3.0.9/pyrig/dev/configs/python/__init__.py +0 -5
  183. pyrig-3.0.9/pyrig/dev/configs/python/builders_init.py +0 -27
  184. pyrig-3.0.9/pyrig/dev/configs/python/configs_init.py +0 -28
  185. pyrig-3.0.9/pyrig/dev/configs/python/dot_experiment.py +0 -46
  186. pyrig-3.0.9/pyrig/dev/configs/python/main.py +0 -59
  187. pyrig-3.0.9/pyrig/dev/configs/python/resources_init.py +0 -27
  188. pyrig-3.0.9/pyrig/dev/configs/python/shared_subcommands.py +0 -31
  189. pyrig-3.0.9/pyrig/dev/configs/python/src_init.py +0 -27
  190. pyrig-3.0.9/pyrig/dev/configs/python/subcommands.py +0 -29
  191. pyrig-3.0.9/pyrig/dev/configs/testing/__init__.py +0 -5
  192. pyrig-3.0.9/pyrig/dev/configs/testing/conftest.py +0 -50
  193. pyrig-3.0.9/pyrig/dev/configs/testing/fixtures_init.py +0 -27
  194. pyrig-3.0.9/pyrig/dev/configs/testing/main_test.py +0 -81
  195. pyrig-3.0.9/pyrig/dev/configs/testing/zero_test.py +0 -43
  196. pyrig-3.0.9/pyrig/dev/configs/workflows/__init__.py +0 -5
  197. pyrig-3.0.9/pyrig/dev/configs/workflows/base/__init__.py +0 -5
  198. pyrig-3.0.9/pyrig/dev/tests/__init__.py +0 -5
  199. pyrig-3.0.9/pyrig/dev/tests/conftest.py +0 -39
  200. pyrig-3.0.9/pyrig/dev/tests/fixtures/__init__.py +0 -1
  201. pyrig-3.0.9/pyrig/dev/tests/fixtures/assertions.py +0 -147
  202. pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/__init__.py +0 -5
  203. pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/class_.py +0 -42
  204. pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/module.py +0 -40
  205. pyrig-3.0.9/pyrig/dev/tests/fixtures/autouse/session.py +0 -617
  206. pyrig-3.0.9/pyrig/dev/tests/fixtures/factories.py +0 -118
  207. pyrig-3.0.9/pyrig/dev/utils/__init__.py +0 -5
  208. pyrig-3.0.9/pyrig/dev/utils/github.py +0 -314
  209. pyrig-3.0.9/pyrig/dev/utils/packages.py +0 -93
  210. pyrig-3.0.9/pyrig/dev/utils/resources.py +0 -77
  211. pyrig-3.0.9/pyrig/dev/utils/testing.py +0 -66
  212. pyrig-3.0.9/pyrig/dev/utils/versions.py +0 -268
  213. pyrig-3.0.9/pyrig/resources/__init__.py +0 -1
  214. pyrig-3.0.9/pyrig/src/__init__.py +0 -1
  215. pyrig-3.0.9/pyrig/src/cli.py +0 -17
  216. pyrig-3.0.9/pyrig/src/consts.py +0 -3
  217. pyrig-3.0.9/pyrig/src/git.py +0 -229
  218. pyrig-3.0.9/pyrig/src/graph.py +0 -255
  219. pyrig-3.0.9/pyrig/src/iterate.py +0 -107
  220. pyrig-3.0.9/pyrig/src/management/__init__.py +0 -5
  221. pyrig-3.0.9/pyrig/src/management/base/__init__.py +0 -1
  222. pyrig-3.0.9/pyrig/src/management/base/base.py +0 -77
  223. pyrig-3.0.9/pyrig/src/management/container_engine.py +0 -49
  224. pyrig-3.0.9/pyrig/src/management/package_manager.py +0 -170
  225. pyrig-3.0.9/pyrig/src/management/pre_committer.py +0 -71
  226. pyrig-3.0.9/pyrig/src/management/project_tester.py +0 -48
  227. pyrig-3.0.9/pyrig/src/management/pyrigger.py +0 -67
  228. pyrig-3.0.9/pyrig/src/management/version_controller.py +0 -211
  229. pyrig-3.0.9/pyrig/src/modules/__init__.py +0 -22
  230. pyrig-3.0.9/pyrig/src/modules/class_.py +0 -303
  231. pyrig-3.0.9/pyrig/src/modules/function.py +0 -189
  232. pyrig-3.0.9/pyrig/src/modules/imports.py +0 -147
  233. pyrig-3.0.9/pyrig/src/modules/inspection.py +0 -170
  234. pyrig-3.0.9/pyrig/src/modules/module.py +0 -300
  235. pyrig-3.0.9/pyrig/src/modules/package.py +0 -420
  236. pyrig-3.0.9/pyrig/src/modules/path.py +0 -307
  237. pyrig-3.0.9/pyrig/src/os/__init__.py +0 -6
  238. pyrig-3.0.9/pyrig/src/os/os.py +0 -121
  239. pyrig-3.0.9/pyrig/src/resource.py +0 -58
  240. pyrig-3.0.9/pyrig/src/string.py +0 -100
  241. pyrig-3.0.9/pyrig/src/testing/__init__.py +0 -6
  242. pyrig-3.0.9/pyrig/src/testing/assertions.py +0 -48
  243. pyrig-3.0.9/pyrig/src/testing/convention.py +0 -203
  244. {pyrig-3.0.9 → pyrig-4.2.3}/LICENSE +0 -0
  245. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/main.py +0 -0
  246. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/py.typed +0 -0
  247. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/resources/GITIGNORE +0 -0
  248. {pyrig-3.0.9 → pyrig-4.2.3}/pyrig/resources/LATEST_PYTHON_VERSION +0 -0
  249. {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.0.9
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
  [![MkDocs](https://img.shields.io/badge/MkDocs-Documentation-326CE5?logo=mkdocs&logoColor=white)](https://www.mkdocs.org/)
40
40
  <!-- code-quality -->
41
41
  [![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
42
- [![ty](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty)[![mypy](https://img.shields.io/badge/type%20checked-mypy-039dfc.svg)](https://mypy-lang.org/)
42
+ [![ty](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty)
43
43
  [![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
44
44
  [![pytest](https://img.shields.io/badge/tested%20with-pytest-46a2f1.svg?logo=pytest)](https://pytest.org/)
45
45
  [![codecov](https://codecov.io/gh/Winipedia/pyrig/branch/main/graph/badge.svg)](https://codecov.io/gh/Winipedia/pyrig)
46
+ [![rumdl](https://img.shields.io/badge/markdown-rumdl-darkgreen)](https://github.com/rvben/rumdl)
46
47
  <!-- package-info -->
47
48
  [![PyPI](https://img.shields.io/pypi/v/pyrig?logo=pypi&logoColor=white)](https://pypi.org/project/pyrig)
48
49
  [![Python](https://img.shields.io/badge/python-3.12|3.13|3.14-blue.svg?logo=python&logoColor=white)](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 enforces best practices. Run one command to get a complete, production-ready project structure with CI/CD, testing, documentation, and more.
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 working defaults for everything a project needs**. Every configuration, workflow, and tool is pre-configured and working from day one, so you can focus on writing code and start immediately developing your application, project or library.
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, mypy, pytest, MkDocs)
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 mypy type checking
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
- **Complete Project Structure**:
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 Workflows**:
188
- - **Health Check** - Tests, linting, type checking on every PR
189
- - **Build** - Creates executables and container images
190
- - **Release** - Automated version bumping and GitHub releases
191
- - **Publish** - PyPI and GitHub Pages deployment
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
- **Development Tools**:
194
- - **uv** - Fast package management (10-100x faster than pip)
195
- - **ruff** - Linting and formatting (all rules enabled)
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
- **[Getting Started Guide](https://winipedia.github.io/pyrig/more/getting-started/)** - Complete setup from zero to fully configured project
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
+ [![pyrig](https://img.shields.io/badge/built%20with-pyrig-3776AB?logo=buildkite&logoColor=black)](https://github.com/Winipedia/pyrig)
5
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
6
+ [![Container](https://img.shields.io/badge/Container-Podman-A23CD6?logo=podman&logoColor=grey&colorA=0D1F3F&colorB=A23CD6)](https://podman.io/)
7
+ [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://pre-commit.com/)
8
+ [![MkDocs](https://img.shields.io/badge/MkDocs-Documentation-326CE5?logo=mkdocs&logoColor=white)](https://www.mkdocs.org/)
9
+ <!-- code-quality -->
10
+ [![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
11
+ [![ty](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty)
12
+ [![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
13
+ [![pytest](https://img.shields.io/badge/tested%20with-pytest-46a2f1.svg?logo=pytest)](https://pytest.org/)
14
+ [![codecov](https://codecov.io/gh/Winipedia/pyrig/branch/main/graph/badge.svg)](https://codecov.io/gh/Winipedia/pyrig)
15
+ [![rumdl](https://img.shields.io/badge/markdown-rumdl-darkgreen)](https://github.com/rvben/rumdl)
16
+ <!-- package-info -->
17
+ [![PyPI](https://img.shields.io/pypi/v/pyrig?logo=pypi&logoColor=white)](https://pypi.org/project/pyrig)
18
+ [![Python](https://img.shields.io/badge/python-3.12|3.13|3.14-blue.svg?logo=python&logoColor=white)](https://www.python.org/)
19
+ [![License](https://img.shields.io/github/license/Winipedia/pyrig)](https://github.com/Winipedia/pyrig/blob/main/LICENSE)
20
+ <!-- ci/cd -->
21
+ [![CI](https://img.shields.io/github/actions/workflow/status/Winipedia/pyrig/health_check.yaml?label=CI&logo=github)](https://github.com/Winipedia/pyrig/actions/workflows/health_check.yaml)
22
+ [![CD](https://img.shields.io/github/actions/workflow/status/Winipedia/pyrig/release.yaml?label=CD&logo=github)](https://github.com/Winipedia/pyrig/actions/workflows/release.yaml)
23
+ <!-- documentation -->
24
+ [![Documentation](https://img.shields.io/badge/Docs-GitHub%20Pages-black?style=for-the-badge&logo=github&logoColor=white)](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.0.9"
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,5 @@
1
+ """Custom artifact builders for creating distributable packages.
2
+
3
+ Add custom BuilderConfigFile subclasses here to create project-specific artifacts.
4
+ Builders are automatically discovered and executed when running `pyrig build`.
5
+ """
@@ -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
+ """