omdev 0.0.0.dev232__tar.gz → 0.0.0.dev234__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 (263) hide show
  1. {omdev-0.0.0.dev232/omdev.egg-info → omdev-0.0.0.dev234}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/.manifests.json +20 -4
  3. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/data/defaults.py +2 -1
  4. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/main.py +5 -16
  5. omdev-0.0.0.dev234/omdev/home/paths.py +20 -0
  6. omdev-0.0.0.dev234/omdev/home/secrets.py +33 -0
  7. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/imgur.py +1 -1
  8. {omdev-0.0.0.dev232/omdev → omdev-0.0.0.dev234/omdev/packaging}/revisions.py +1 -1
  9. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/pkg.py +1 -1
  10. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/pyproject.py +2 -2
  11. omdev-0.0.0.dev234/omdev/tools/git/__main__.py +11 -0
  12. omdev-0.0.0.dev232/omdev/tools/git.py → omdev-0.0.0.dev234/omdev/tools/git/cli.py +22 -9
  13. omdev-0.0.0.dev234/omdev/tools/git/messages.py +60 -0
  14. omdev-0.0.0.dev234/omdev/tools/json/__init__.py +0 -0
  15. omdev-0.0.0.dev234/omdev/tools/pawk/__init__.py +0 -0
  16. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234/omdev.egg-info}/PKG-INFO +2 -2
  17. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev.egg-info/SOURCES.txt +9 -4
  18. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev.egg-info/requires.txt +1 -1
  19. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/pyproject.toml +2 -2
  20. omdev-0.0.0.dev232/omdev/secrets.py +0 -23
  21. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/LICENSE +0 -0
  22. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/MANIFEST.in +0 -0
  23. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/README.rst +0 -0
  24. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/__about__.py +0 -0
  25. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/__init__.py +0 -0
  26. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/__init__.py +0 -0
  27. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/__main__.py +0 -0
  28. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/gen.py +0 -0
  29. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/imports.py +0 -0
  30. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/main.py +0 -0
  31. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/manifests.py +0 -0
  32. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/resources.py +0 -0
  33. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/srcfiles.py +0 -0
  34. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/strip.py +0 -0
  35. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/types.py +0 -0
  36. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/amalg/typing.py +0 -0
  37. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/antlr/__init__.py +0 -0
  38. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/antlr/consts.py +0 -0
  39. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/antlr/gen.py +0 -0
  40. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/bracepy.py +0 -0
  41. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/__init__.py +0 -0
  42. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/__init__.py +0 -0
  43. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/cache.py +0 -0
  44. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/contexts.py +0 -0
  45. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/currents.py +0 -0
  46. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/fns.py +0 -0
  47. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/resolvers.py +0 -0
  48. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/storage.py +0 -0
  49. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/compute/types.py +0 -0
  50. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/data/__init__.py +0 -0
  51. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/data/actions.py +0 -0
  52. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/data/cache.py +0 -0
  53. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/data/consts.py +0 -0
  54. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/data/manifests.py +0 -0
  55. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cache/data/specs.py +0 -0
  56. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cc/__init__.py +0 -0
  57. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cc/__main__.py +0 -0
  58. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cc/cdeps.py +0 -0
  59. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cc/cdeps.toml +0 -0
  60. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cc/cli.py +0 -0
  61. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/__init__.py +0 -0
  62. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_boilerplate.cc +0 -0
  63. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/LICENSE +0 -0
  64. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/__init__.py +0 -0
  65. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/build_ext.py +0 -0
  66. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  67. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  68. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/compilers/options.py +0 -0
  69. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  70. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/dir_util.py +0 -0
  71. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/errors.py +0 -0
  72. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/extension.py +0 -0
  73. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/file_util.py +0 -0
  74. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/modified.py +0 -0
  75. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/spawn.py +0 -0
  76. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/sysconfig.py +0 -0
  77. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/util.py +0 -0
  78. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/_distutils/version.py +0 -0
  79. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/build.py +0 -0
  80. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/cmake.py +0 -0
  81. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/importhook.py +0 -0
  82. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/magic.py +0 -0
  83. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cexts/scan.py +0 -0
  84. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/__init__.py +0 -0
  85. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/__main__.py +0 -0
  86. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/cache.py +0 -0
  87. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/ci.py +0 -0
  88. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/cli.py +0 -0
  89. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/compose.py +0 -0
  90. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/consts.py +0 -0
  91. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/__init__.py +0 -0
  92. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/buildcaching.py +0 -0
  93. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/cache.py +0 -0
  94. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/cacheserved.py +0 -0
  95. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/cmds.py +0 -0
  96. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/dataserver.py +0 -0
  97. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/imagepulling.py +0 -0
  98. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/inject.py +0 -0
  99. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/packing.py +0 -0
  100. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/repositories.py +0 -0
  101. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/docker/utils.py +0 -0
  102. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/__init__.py +0 -0
  103. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/api.py +0 -0
  104. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/bootstrap.py +0 -0
  105. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/cache.py +0 -0
  106. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/cli.py +0 -0
  107. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/client.py +0 -0
  108. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/env.py +0 -0
  109. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/github/inject.py +0 -0
  110. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/inject.py +0 -0
  111. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/requirements.py +0 -0
  112. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/shell.py +0 -0
  113. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ci/utils.py +0 -0
  114. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/classdot.py +0 -0
  115. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/__init__.py +0 -0
  116. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/__main__.py +0 -0
  117. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/_pathhack.py +0 -0
  118. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/clicli.py +0 -0
  119. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/install.py +0 -0
  120. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/managers.py +0 -0
  121. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cli/types.py +0 -0
  122. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/clipboard/__init__.py +0 -0
  123. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/clipboard/clipboard.py +0 -0
  124. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/clipboard/darwin_cf.py +0 -0
  125. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/clipboard/linux_x11.py +0 -0
  126. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/cmake.py +0 -0
  127. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/dataserver/__init__.py +0 -0
  128. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/dataserver/handlers.py +0 -0
  129. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/dataserver/http.py +0 -0
  130. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/dataserver/routes.py +0 -0
  131. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/dataserver/server.py +0 -0
  132. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/dataserver/targets.py +0 -0
  133. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/findimports.py +0 -0
  134. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/git/__init__.py +0 -0
  135. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/git/revisions.py +0 -0
  136. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/git/shallow.py +0 -0
  137. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/git/status.py +0 -0
  138. {omdev-0.0.0.dev232/omdev/interp/providers → omdev-0.0.0.dev234/omdev/home}/__init__.py +0 -0
  139. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/__init__.py +0 -0
  140. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/__main__.py +0 -0
  141. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/cli.py +0 -0
  142. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/default.py +0 -0
  143. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/inject.py +0 -0
  144. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/inspect.py +0 -0
  145. {omdev-0.0.0.dev232/omdev/interp/pyenv → omdev-0.0.0.dev234/omdev/interp/providers}/__init__.py +0 -0
  146. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/providers/base.py +0 -0
  147. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/providers/inject.py +0 -0
  148. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/providers/running.py +0 -0
  149. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/providers/standalone.py +0 -0
  150. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/providers/system.py +0 -0
  151. {omdev-0.0.0.dev232/omdev/interp/uv → omdev-0.0.0.dev234/omdev/interp/pyenv}/__init__.py +0 -0
  152. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/pyenv/inject.py +0 -0
  153. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/pyenv/install.py +0 -0
  154. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/pyenv/provider.py +0 -0
  155. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/pyenv/pyenv.py +0 -0
  156. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/resolvers.py +0 -0
  157. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/types.py +0 -0
  158. {omdev-0.0.0.dev232/omdev/mypy → omdev-0.0.0.dev234/omdev/interp/uv}/__init__.py +0 -0
  159. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/uv/inject.py +0 -0
  160. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/uv/provider.py +0 -0
  161. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/uv/uv.py +0 -0
  162. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/interp/venvs.py +0 -0
  163. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/magic/__init__.py +0 -0
  164. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/magic/__main__.py +0 -0
  165. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/magic/cli.py +0 -0
  166. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/magic/find.py +0 -0
  167. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/magic/magic.py +0 -0
  168. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/magic/prepare.py +0 -0
  169. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/magic/styles.py +0 -0
  170. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/manifests/__init__.py +0 -0
  171. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/manifests/__main__.py +0 -0
  172. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/manifests/build.py +0 -0
  173. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/manifests/main.py +0 -0
  174. {omdev-0.0.0.dev232/omdev/oci → omdev-0.0.0.dev234/omdev/mypy}/__init__.py +0 -0
  175. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/mypy/debug.py +0 -0
  176. {omdev-0.0.0.dev232/omdev/oci/pack → omdev-0.0.0.dev234/omdev/oci}/__init__.py +0 -0
  177. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/building.py +0 -0
  178. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/compression.py +0 -0
  179. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/data.py +0 -0
  180. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/datarefs.py +0 -0
  181. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/dataserver.py +0 -0
  182. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/loading.py +0 -0
  183. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/media.py +0 -0
  184. {omdev-0.0.0.dev232/omdev/packaging → omdev-0.0.0.dev234/omdev/oci/pack}/__init__.py +0 -0
  185. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/pack/packing.py +0 -0
  186. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/pack/repositories.py +0 -0
  187. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/pack/unpacking.py +0 -0
  188. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/repositories.py +0 -0
  189. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/oci/tars.py +0 -0
  190. {omdev-0.0.0.dev232/omdev/precheck → omdev-0.0.0.dev234/omdev/packaging}/__init__.py +0 -0
  191. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/packaging/marshal.py +0 -0
  192. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/packaging/names.py +0 -0
  193. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/packaging/requires.py +0 -0
  194. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/packaging/specifiers.py +0 -0
  195. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/packaging/versions.py +0 -0
  196. {omdev-0.0.0.dev232/omdev → omdev-0.0.0.dev234/omdev/packaging}/wheelfile.py +0 -0
  197. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pip.py +0 -0
  198. {omdev-0.0.0.dev232/omdev/ptk/apps → omdev-0.0.0.dev234/omdev/precheck}/__init__.py +0 -0
  199. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/precheck/__main__.py +0 -0
  200. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/precheck/base.py +0 -0
  201. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/precheck/git.py +0 -0
  202. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/precheck/lite.py +0 -0
  203. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/precheck/main.py +0 -0
  204. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/precheck/manifests.py +0 -0
  205. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/precheck/scripts.py +0 -0
  206. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ptk/__init__.py +0 -0
  207. {omdev-0.0.0.dev232/omdev/pycharm → omdev-0.0.0.dev234/omdev/ptk/apps}/__init__.py +0 -0
  208. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/ptk/apps/ncdu.py +0 -0
  209. {omdev-0.0.0.dev232/omdev/pyproject/resources → omdev-0.0.0.dev234/omdev/pycharm}/__init__.py +0 -0
  210. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pycharm/__main__.py +0 -0
  211. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pycharm/cli.py +0 -0
  212. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/__init__.py +0 -0
  213. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/__main__.py +0 -0
  214. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/cexts.py +0 -0
  215. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/cli.py +0 -0
  216. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/configs.py +0 -0
  217. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/inject.py +0 -0
  218. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/reqs.py +0 -0
  219. {omdev-0.0.0.dev232/omdev/tokens → omdev-0.0.0.dev234/omdev/pyproject/resources}/__init__.py +0 -0
  220. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/resources/docker-dev.sh +0 -0
  221. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/resources/python.sh +0 -0
  222. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/pyproject/venvs.py +0 -0
  223. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/__init__.py +0 -0
  224. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/bumpversion.py +0 -0
  225. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/ci.py +0 -0
  226. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/execrss.py +0 -0
  227. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/exectime.py +0 -0
  228. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/importtrace.py +0 -0
  229. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/interp.py +0 -0
  230. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/slowcat.py +0 -0
  231. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/scripts/tmpexec.py +0 -0
  232. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tagstrings.py +0 -0
  233. {omdev-0.0.0.dev232/omdev/tools/json → omdev-0.0.0.dev234/omdev/tokens}/__init__.py +0 -0
  234. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tokens/all.py +0 -0
  235. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tokens/tokenizert.py +0 -0
  236. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tokens/utils.py +0 -0
  237. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/__init__.py +0 -0
  238. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/cloc.py +0 -0
  239. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/doc.py +0 -0
  240. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/docker.py +0 -0
  241. {omdev-0.0.0.dev232/omdev/tools/pawk → omdev-0.0.0.dev234/omdev/tools/git}/__init__.py +0 -0
  242. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/importscan.py +0 -0
  243. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/json/__main__.py +0 -0
  244. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/json/cli.py +0 -0
  245. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/json/formats.py +0 -0
  246. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/json/io.py +0 -0
  247. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/json/parsing.py +0 -0
  248. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/json/processing.py +0 -0
  249. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/json/rendering.py +0 -0
  250. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/linehisto.py +0 -0
  251. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/mkenv.py +0 -0
  252. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/mkrelimp.py +0 -0
  253. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/notebook.py +0 -0
  254. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/pawk/__main__.py +0 -0
  255. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/pawk/pawk.py +0 -0
  256. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/pip.py +0 -0
  257. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/prof.py +0 -0
  258. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/qr.py +0 -0
  259. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev/tools/sqlrepl.py +0 -0
  260. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev.egg-info/dependency_links.txt +0 -0
  261. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev.egg-info/entry_points.txt +0 -0
  262. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/omdev.egg-info/top_level.txt +0 -0
  263. {omdev-0.0.0.dev232 → omdev-0.0.0.dev234}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev232
3
+ Version: 0.0.0.dev234
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev232
15
+ Requires-Dist: omlish==0.0.0.dev234
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -276,14 +276,30 @@
276
276
  }
277
277
  },
278
278
  {
279
- "module": ".tools.git",
279
+ "module": ".tools.git.__main__",
280
280
  "attr": "_CLI_MODULE",
281
- "file": "omdev/tools/git.py",
282
- "line": 231,
281
+ "file": "omdev/tools/git/__main__.py",
282
+ "line": 4,
283
283
  "value": {
284
284
  "$.cli.types.CliModule": {
285
285
  "cmd_name": "git",
286
- "mod_name": "omdev.tools.git"
286
+ "mod_name": "omdev.tools.git.__main__"
287
+ }
288
+ }
289
+ },
290
+ {
291
+ "module": ".tools.git.messages",
292
+ "attr": "_TIMESTAMP_GIT_MESSAGE_GENERATOR_MANIFEST",
293
+ "file": "omdev/tools/git/messages.py",
294
+ "line": 54,
295
+ "value": {
296
+ "$.tools.git.messages.GitMessageGeneratorManifest": {
297
+ "mod_name": "omdev.tools.git.messages",
298
+ "attr_name": "TimestampGitMessageGenerator",
299
+ "name": "timestamp",
300
+ "aliases": [
301
+ "ts"
302
+ ]
287
303
  }
288
304
  }
289
305
  },
@@ -2,6 +2,7 @@ import os.path
2
2
 
3
3
  from omlish import lang
4
4
 
5
+ from ...home.paths import get_cache_dir
5
6
  from .cache import Cache
6
7
 
7
8
 
@@ -10,7 +11,7 @@ from .cache import Cache
10
11
 
11
12
  @lang.cached_function(lock=True)
12
13
  def default_dir() -> str:
13
- return os.path.expanduser('~/.cache/omlish/data')
14
+ return os.path.join(get_cache_dir(), 'data')
14
15
 
15
16
 
16
17
  @lang.cached_function(lock=True)
@@ -185,23 +185,12 @@ def _build_arg_parser() -> argparse.ArgumentParser:
185
185
  def _build_cmd_set(args: ta.Any) -> CliCmdSet:
186
186
  ldr = ManifestLoader.from_entry_point(globals())
187
187
 
188
- pkgs: list[str] = []
189
-
190
- def scan_pkg_root(r: str) -> None:
191
- r = os.path.expanduser(r)
192
- for n in os.listdir(r):
193
- if os.path.isdir(p := os.path.join(r, n)) and os.path.exists(os.path.join(p, '__init__.py')):
194
- pkgs.append(n)
195
-
196
- if args.cli_pkg_root:
197
- for r in args.cli_pkg_root:
198
- scan_pkg_root(r)
199
-
200
- else:
201
- pkgs.extend(ldr.discover())
188
+ #
202
189
 
203
- if not pkgs:
204
- scan_pkg_root(os.getcwd())
190
+ pkgs = ldr.scan_or_discover_pkgs(
191
+ specified_roots=args.cli_pkg_root,
192
+ fallback_root=os.getcwd(),
193
+ )
205
194
 
206
195
  #
207
196
 
@@ -0,0 +1,20 @@
1
+ """
2
+ TODO:
3
+ - XDG cache root
4
+ """
5
+ import os.path
6
+
7
+
8
+ HOME_DIR_ENV_VAR = 'OMLISH_HOME'
9
+ DEFAULT_HOME_DIR = '~/.omlish'
10
+
11
+ CACHE_DIR_ENV_VAR = 'OMLISH_CACHE'
12
+ DEFAULT_CACHE_DIR = '~/.cache/omlish'
13
+
14
+
15
+ def get_home_dir() -> str:
16
+ return os.path.expanduser(os.getenv(HOME_DIR_ENV_VAR, DEFAULT_HOME_DIR))
17
+
18
+
19
+ def get_cache_dir() -> str:
20
+ return os.path.expanduser(os.getenv(DEFAULT_CACHE_DIR, DEFAULT_CACHE_DIR))
@@ -0,0 +1,33 @@
1
+ import os.path
2
+ import typing as ta
3
+
4
+ from omlish import lang
5
+ from omlish.secrets import all as sec
6
+
7
+ from .paths import get_home_dir
8
+
9
+
10
+ if ta.TYPE_CHECKING:
11
+ import yaml
12
+ else:
13
+ yaml = lang.proxy_import('yaml')
14
+
15
+
16
+ SECRETS_FILE_ENV_VAR = 'OMLISH_SECRETS'
17
+ DEFAULT_SECRETS_FILE_NAME = 'secrets.yml'
18
+
19
+
20
+ def get_secrets_file() -> str:
21
+ return os.path.expanduser(os.getenv(SECRETS_FILE_ENV_VAR, os.path.join(get_home_dir(), DEFAULT_SECRETS_FILE_NAME)))
22
+
23
+
24
+ def load_secrets() -> sec.Secrets:
25
+ dct: dict[str, sec.Secret] = {}
26
+ try:
27
+ with open(get_secrets_file()) as f:
28
+ for k, v in yaml.safe_load(f).items():
29
+ if isinstance(v, str):
30
+ dct[k] = sec.Secret(key=k, value=v)
31
+ except FileNotFoundError:
32
+ pass
33
+ return sec.MappingSecrets(dct)
@@ -33,7 +33,7 @@ from omlish.http import all as hu
33
33
  from omlish.secrets.secrets import Secret
34
34
 
35
35
  from .cli import CliModule
36
- from .secrets import load_secrets
36
+ from .home.secrets import load_secrets
37
37
 
38
38
 
39
39
  @dc.dataclass(frozen=True)
@@ -17,7 +17,7 @@ from omlish.lite.check import check
17
17
  from omlish.lite.logs import log
18
18
  from omlish.logs.standard import configure_standard_logging
19
19
 
20
- from .git.revisions import get_git_revision
20
+ from ..git.revisions import get_git_revision
21
21
  from .wheelfile import WheelFile
22
22
 
23
23
 
@@ -42,7 +42,7 @@ from omlish.subprocesses.sync import subprocesses
42
42
 
43
43
  from ..cexts.magic import CextMagic
44
44
  from ..magic.find import find_magic_files
45
- from ..revisions import GitRevisionAdder
45
+ from ..packaging.revisions import GitRevisionAdder
46
46
 
47
47
 
48
48
  #
@@ -624,7 +624,7 @@ def canonicalize_version(
624
624
 
625
625
 
626
626
  ########################################
627
- # ../../wheelfile.py
627
+ # ../../packaging/wheelfile.py
628
628
  # https://github.com/pypa/wheel/blob/7bb46d7727e6e89fe56b3c78297b3af2672bbbe2/src/wheel/wheelfile.py
629
629
  # MIT License
630
630
  #
@@ -7236,7 +7236,7 @@ class Pyenv:
7236
7236
 
7237
7237
 
7238
7238
  ########################################
7239
- # ../../revisions.py
7239
+ # ../../packaging/revisions.py
7240
7240
  """
7241
7241
  TODO:
7242
7242
  - omlish-lite, move to pyproject/
@@ -0,0 +1,11 @@
1
+ from ...cli import CliModule
2
+
3
+
4
+ # @omlish-manifest
5
+ _CLI_MODULE = CliModule('git', __name__)
6
+
7
+
8
+ if __name__ == '__main__':
9
+ from .cli import _main # noqa
10
+
11
+ _main()
@@ -9,14 +9,17 @@ import typing as ta
9
9
  import urllib.parse
10
10
 
11
11
  from omlish import check
12
- from omlish import lang
13
12
  from omlish.argparse import all as ap
14
13
  from omlish.formats import json
15
14
  from omlish.logs import all as logs
16
15
 
17
- from ..cli import CliModule
18
- from ..git.status import GitStatusItem
19
- from ..git.status import get_git_status
16
+ from ...git.status import GitStatusItem
17
+ from ...git.status import get_git_status
18
+ from .messages import TimestampGitMessageGenerator
19
+ from .messages import load_message_generator_manifests
20
+
21
+
22
+ ##
20
23
 
21
24
 
22
25
  def rev_parse(rev: str) -> str:
@@ -186,7 +189,7 @@ class Cli(ap.Cli):
186
189
 
187
190
  @ap.cmd(
188
191
  ap.arg('-m', '--message', nargs='?'),
189
- ap.arg('--time-fmt', default='%Y-%m-%dT%H:%M:%SZ'),
192
+ ap.arg('--time-fmt', default=TimestampGitMessageGenerator.DEFAULT_TIME_FMT),
190
193
  ap.arg('dir', nargs='*'),
191
194
  aliases=['acp'],
192
195
  )
@@ -201,7 +204,7 @@ class Cli(ap.Cli):
201
204
  if self.args.message is not None:
202
205
  msg = self.args.message
203
206
  else:
204
- msg = lang.utcnow().strftime(self.args.time_fmt)
207
+ msg = TimestampGitMessageGenerator(self.args.time_fmt).generate_commit_message()
205
208
  subprocess.check_call(['git', 'commit', '-m', msg], cwd=cwd)
206
209
 
207
210
  subprocess.check_call(['git', 'push'], cwd=cwd)
@@ -227,11 +230,21 @@ class Cli(ap.Cli):
227
230
  for d in self.args.dir:
228
231
  run(d)
229
232
 
233
+ #
230
234
 
231
- # @omlish-manifest
232
- _CLI_MODULE = CliModule('git', __name__)
235
+ @ap.cmd()
236
+ def list_message_generators(self) -> None:
237
+ for mgm in load_message_generator_manifests():
238
+ print(mgm.name)
233
239
 
234
240
 
235
- if __name__ == '__main__':
241
+ ##
242
+
243
+
244
+ def _main() -> None:
236
245
  logs.configure_standard_logging('INFO')
237
246
  Cli()()
247
+
248
+
249
+ if __name__ == '__main__':
250
+ _main()
@@ -0,0 +1,60 @@
1
+ import abc
2
+ import dataclasses as dc
3
+ import os
4
+ import typing as ta
5
+
6
+ from omlish import cached
7
+ from omlish import lang
8
+ from omlish.manifests import load as manifest_load
9
+
10
+
11
+ ##
12
+
13
+
14
+ class GitMessageGenerator(abc.ABC):
15
+ @abc.abstractmethod
16
+ def generate_commit_message(self) -> str:
17
+ raise NotImplementedError
18
+
19
+
20
+ #
21
+
22
+
23
+ @dc.dataclass(frozen=True, kw_only=True)
24
+ class GitMessageGeneratorManifest:
25
+ mod_name: str
26
+ attr_name: str
27
+ name: str
28
+ aliases: ta.Collection[str] | None = None
29
+
30
+
31
+ @cached.function
32
+ def load_message_generator_manifests() -> ta.Sequence[GitMessageGeneratorManifest]:
33
+ ldr = manifest_load.MANIFEST_LOADER
34
+ pkgs = ldr.scan_or_discover_pkgs(fallback_root=os.getcwd())
35
+ mfs = ldr.load(*pkgs, only=[GitMessageGeneratorManifest])
36
+ return [mf.value for mf in mfs]
37
+
38
+
39
+ ##
40
+
41
+
42
+ @dc.dataclass(frozen=True)
43
+ class TimestampGitMessageGenerator(GitMessageGenerator):
44
+ DEFAULT_TIME_FMT: ta.ClassVar[str] = '%Y-%m-%d %H:%M:%S'
45
+ time_fmt: str = DEFAULT_TIME_FMT
46
+
47
+ def generate_commit_message(self) -> str:
48
+ return lang.utcnow().strftime(self.time_fmt)
49
+
50
+
51
+ #
52
+
53
+
54
+ # @omlish-manifest
55
+ _TIMESTAMP_GIT_MESSAGE_GENERATOR_MANIFEST = GitMessageGeneratorManifest(
56
+ mod_name=__name__,
57
+ attr_name='TimestampGitMessageGenerator',
58
+ name='timestamp',
59
+ aliases=['ts'],
60
+ )
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev232
3
+ Version: 0.0.0.dev234
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev232
15
+ Requires-Dist: omlish==0.0.0.dev234
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -11,10 +11,7 @@ omdev/cmake.py
11
11
  omdev/findimports.py
12
12
  omdev/imgur.py
13
13
  omdev/pip.py
14
- omdev/revisions.py
15
- omdev/secrets.py
16
14
  omdev/tagstrings.py
17
- omdev/wheelfile.py
18
15
  omdev.egg-info/PKG-INFO
19
16
  omdev.egg-info/SOURCES.txt
20
17
  omdev.egg-info/dependency_links.txt
@@ -131,6 +128,9 @@ omdev/git/__init__.py
131
128
  omdev/git/revisions.py
132
129
  omdev/git/shallow.py
133
130
  omdev/git/status.py
131
+ omdev/home/__init__.py
132
+ omdev/home/paths.py
133
+ omdev/home/secrets.py
134
134
  omdev/interp/__init__.py
135
135
  omdev/interp/__main__.py
136
136
  omdev/interp/cli.py
@@ -186,8 +186,10 @@ omdev/packaging/__init__.py
186
186
  omdev/packaging/marshal.py
187
187
  omdev/packaging/names.py
188
188
  omdev/packaging/requires.py
189
+ omdev/packaging/revisions.py
189
190
  omdev/packaging/specifiers.py
190
191
  omdev/packaging/versions.py
192
+ omdev/packaging/wheelfile.py
191
193
  omdev/precheck/__init__.py
192
194
  omdev/precheck/__main__.py
193
195
  omdev/precheck/base.py
@@ -232,7 +234,6 @@ omdev/tools/__init__.py
232
234
  omdev/tools/cloc.py
233
235
  omdev/tools/doc.py
234
236
  omdev/tools/docker.py
235
- omdev/tools/git.py
236
237
  omdev/tools/importscan.py
237
238
  omdev/tools/linehisto.py
238
239
  omdev/tools/mkenv.py
@@ -242,6 +243,10 @@ omdev/tools/pip.py
242
243
  omdev/tools/prof.py
243
244
  omdev/tools/qr.py
244
245
  omdev/tools/sqlrepl.py
246
+ omdev/tools/git/__init__.py
247
+ omdev/tools/git/__main__.py
248
+ omdev/tools/git/cli.py
249
+ omdev/tools/git/messages.py
245
250
  omdev/tools/json/__init__.py
246
251
  omdev/tools/json/__main__.py
247
252
  omdev/tools/json/cli.py
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev232
1
+ omlish==0.0.0.dev234
2
2
 
3
3
  [all]
4
4
  black~=25.1
@@ -12,7 +12,7 @@ authors = [
12
12
  urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = {text = 'BSD-3-Clause'}
14
14
  requires-python = '>=3.12'
15
- version = '0.0.0.dev232'
15
+ version = '0.0.0.dev234'
16
16
  classifiers = [
17
17
  'License :: OSI Approved :: BSD License',
18
18
  'Development Status :: 2 - Pre-Alpha',
@@ -22,7 +22,7 @@ classifiers = [
22
22
  ]
23
23
  description = 'omdev'
24
24
  dependencies = [
25
- 'omlish == 0.0.0.dev232',
25
+ 'omlish == 0.0.0.dev234',
26
26
  ]
27
27
 
28
28
  [project.optional-dependencies]
@@ -1,23 +0,0 @@
1
- import os.path
2
- import typing as ta
3
-
4
- from omlish import lang
5
- from omlish.secrets import all as sec
6
-
7
-
8
- if ta.TYPE_CHECKING:
9
- import yaml
10
- else:
11
- yaml = lang.proxy_import('yaml')
12
-
13
-
14
- SECRETS_FILE = os.getenv('SECRETS_FILE', '~/.omlish/secrets.yml')
15
-
16
-
17
- def load_secrets() -> sec.Secrets:
18
- dct: dict[str, sec.Secret] = {}
19
- with open(os.path.expanduser(SECRETS_FILE)) as f:
20
- for k, v in yaml.safe_load(f).items():
21
- if isinstance(v, str):
22
- dct[k] = sec.Secret(key=k, value=v)
23
- return sec.MappingSecrets(dct)
File without changes
File without changes
File without changes