omdev 0.0.0.dev241__tar.gz → 0.0.0.dev242__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 (268) hide show
  1. {omdev-0.0.0.dev241/omdev.egg-info → omdev-0.0.0.dev242}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/ci.py +28 -3
  3. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/cli.py +4 -0
  4. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/cmds.py +18 -0
  5. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/ci.py +49 -3
  6. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242/omdev.egg-info}/PKG-INFO +2 -2
  7. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev.egg-info/requires.txt +1 -1
  8. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/pyproject.toml +2 -2
  9. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/LICENSE +0 -0
  10. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/MANIFEST.in +0 -0
  11. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/README.rst +0 -0
  12. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/.manifests.json +0 -0
  13. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/__about__.py +0 -0
  14. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/__init__.py +0 -0
  15. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/__init__.py +0 -0
  16. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/__main__.py +0 -0
  17. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/gen.py +0 -0
  18. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/imports.py +0 -0
  19. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/main.py +0 -0
  20. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/manifests.py +0 -0
  21. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/resources.py +0 -0
  22. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/srcfiles.py +0 -0
  23. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/strip.py +0 -0
  24. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/types.py +0 -0
  25. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/amalg/typing.py +0 -0
  26. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/antlr/__init__.py +0 -0
  27. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/antlr/consts.py +0 -0
  28. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/antlr/gen.py +0 -0
  29. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/bracepy.py +0 -0
  30. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/__init__.py +0 -0
  31. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/__init__.py +0 -0
  32. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/cache.py +0 -0
  33. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/contexts.py +0 -0
  34. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/currents.py +0 -0
  35. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/fns.py +0 -0
  36. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/resolvers.py +0 -0
  37. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/storage.py +0 -0
  38. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/compute/types.py +0 -0
  39. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/data/__init__.py +0 -0
  40. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/data/actions.py +0 -0
  41. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/data/cache.py +0 -0
  42. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/data/consts.py +0 -0
  43. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/data/defaults.py +0 -0
  44. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/data/manifests.py +0 -0
  45. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cache/data/specs.py +0 -0
  46. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cc/__init__.py +0 -0
  47. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cc/__main__.py +0 -0
  48. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cc/cdeps.py +0 -0
  49. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cc/cdeps.toml +0 -0
  50. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cc/cli.py +0 -0
  51. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/__init__.py +0 -0
  52. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_boilerplate.cc +0 -0
  53. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/LICENSE +0 -0
  54. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/__init__.py +0 -0
  55. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/build_ext.py +0 -0
  56. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  57. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  58. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/compilers/options.py +0 -0
  59. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  60. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/dir_util.py +0 -0
  61. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/errors.py +0 -0
  62. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/extension.py +0 -0
  63. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/file_util.py +0 -0
  64. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/modified.py +0 -0
  65. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/spawn.py +0 -0
  66. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/sysconfig.py +0 -0
  67. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/util.py +0 -0
  68. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/_distutils/version.py +0 -0
  69. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/build.py +0 -0
  70. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/cmake.py +0 -0
  71. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/importhook.py +0 -0
  72. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/magic.py +0 -0
  73. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cexts/scan.py +0 -0
  74. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/__init__.py +0 -0
  75. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/__main__.py +0 -0
  76. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/cache.py +0 -0
  77. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/compose.py +0 -0
  78. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/consts.py +0 -0
  79. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/__init__.py +0 -0
  80. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/buildcaching.py +0 -0
  81. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/cache.py +0 -0
  82. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  83. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/cacheserved/cache.py +0 -0
  84. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  85. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/dataserver.py +0 -0
  86. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/imagepulling.py +0 -0
  87. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/inject.py +0 -0
  88. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/packing.py +0 -0
  89. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/repositories.py +0 -0
  90. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/docker/utils.py +0 -0
  91. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/__init__.py +0 -0
  92. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/api.py +0 -0
  93. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/bootstrap.py +0 -0
  94. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/cache.py +0 -0
  95. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/cli.py +0 -0
  96. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/client.py +0 -0
  97. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/env.py +0 -0
  98. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/github/inject.py +0 -0
  99. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/inject.py +0 -0
  100. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/requirements.py +0 -0
  101. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/shell.py +0 -0
  102. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ci/utils.py +0 -0
  103. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/classdot.py +0 -0
  104. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/__init__.py +0 -0
  105. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/__main__.py +0 -0
  106. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/_pathhack.py +0 -0
  107. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/clicli.py +0 -0
  108. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/install.py +0 -0
  109. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/main.py +0 -0
  110. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/managers.py +0 -0
  111. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cli/types.py +0 -0
  112. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/clipboard/__init__.py +0 -0
  113. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/clipboard/clipboard.py +0 -0
  114. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/clipboard/darwin_cf.py +0 -0
  115. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/clipboard/linux_x11.py +0 -0
  116. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/cmake.py +0 -0
  117. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/dataserver/__init__.py +0 -0
  118. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/dataserver/handlers.py +0 -0
  119. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/dataserver/http.py +0 -0
  120. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/dataserver/routes.py +0 -0
  121. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/dataserver/server.py +0 -0
  122. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/dataserver/targets.py +0 -0
  123. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/findimports.py +0 -0
  124. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/git/__init__.py +0 -0
  125. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/git/revisions.py +0 -0
  126. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/git/shallow.py +0 -0
  127. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/git/status.py +0 -0
  128. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/home/__init__.py +0 -0
  129. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/home/paths.py +0 -0
  130. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/home/secrets.py +0 -0
  131. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/home/shadow.py +0 -0
  132. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/imgur.py +0 -0
  133. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/__init__.py +0 -0
  134. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/__main__.py +0 -0
  135. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/cli.py +0 -0
  136. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/default.py +0 -0
  137. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/inject.py +0 -0
  138. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/inspect.py +0 -0
  139. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/providers/__init__.py +0 -0
  140. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/providers/base.py +0 -0
  141. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/providers/inject.py +0 -0
  142. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/providers/running.py +0 -0
  143. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/providers/standalone.py +0 -0
  144. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/providers/system.py +0 -0
  145. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/pyenv/__init__.py +0 -0
  146. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/pyenv/inject.py +0 -0
  147. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/pyenv/install.py +0 -0
  148. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/pyenv/provider.py +0 -0
  149. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/pyenv/pyenv.py +0 -0
  150. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/resolvers.py +0 -0
  151. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/types.py +0 -0
  152. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/uv/__init__.py +0 -0
  153. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/uv/inject.py +0 -0
  154. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/uv/provider.py +0 -0
  155. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/uv/uv.py +0 -0
  156. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/interp/venvs.py +0 -0
  157. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/magic/__init__.py +0 -0
  158. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/magic/__main__.py +0 -0
  159. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/magic/cli.py +0 -0
  160. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/magic/find.py +0 -0
  161. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/magic/magic.py +0 -0
  162. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/magic/prepare.py +0 -0
  163. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/magic/styles.py +0 -0
  164. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/manifests/__init__.py +0 -0
  165. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/manifests/__main__.py +0 -0
  166. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/manifests/build.py +0 -0
  167. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/manifests/dumping.py +0 -0
  168. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/manifests/main.py +0 -0
  169. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/mypy/__init__.py +0 -0
  170. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/mypy/debug.py +0 -0
  171. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/__init__.py +0 -0
  172. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/building.py +0 -0
  173. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/compression.py +0 -0
  174. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/data.py +0 -0
  175. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/datarefs.py +0 -0
  176. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/dataserver.py +0 -0
  177. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/loading.py +0 -0
  178. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/media.py +0 -0
  179. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/pack/__init__.py +0 -0
  180. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/pack/packing.py +0 -0
  181. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/pack/repositories.py +0 -0
  182. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/pack/unpacking.py +0 -0
  183. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/repositories.py +0 -0
  184. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/oci/tars.py +0 -0
  185. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/__init__.py +0 -0
  186. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/marshal.py +0 -0
  187. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/names.py +0 -0
  188. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/requires.py +0 -0
  189. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/revisions.py +0 -0
  190. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/specifiers.py +0 -0
  191. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/versions.py +0 -0
  192. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/packaging/wheelfile.py +0 -0
  193. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pip.py +0 -0
  194. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/__init__.py +0 -0
  195. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/__main__.py +0 -0
  196. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/base.py +0 -0
  197. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/git.py +0 -0
  198. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/lite.py +0 -0
  199. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/main.py +0 -0
  200. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/manifests.py +0 -0
  201. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/precheck/scripts.py +0 -0
  202. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ptk/__init__.py +0 -0
  203. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ptk/apps/__init__.py +0 -0
  204. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/ptk/apps/ncdu.py +0 -0
  205. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pycharm/__init__.py +0 -0
  206. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pycharm/__main__.py +0 -0
  207. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pycharm/cli.py +0 -0
  208. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/__init__.py +0 -0
  209. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/__main__.py +0 -0
  210. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/cexts.py +0 -0
  211. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/cli.py +0 -0
  212. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/configs.py +0 -0
  213. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/inject.py +0 -0
  214. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/pkg.py +0 -0
  215. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/reqs.py +0 -0
  216. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/resources/__init__.py +0 -0
  217. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/resources/docker-dev.sh +0 -0
  218. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/resources/python.sh +0 -0
  219. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/pyproject/venvs.py +0 -0
  220. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/__init__.py +0 -0
  221. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/bumpversion.py +0 -0
  222. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/execrss.py +0 -0
  223. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/exectime.py +0 -0
  224. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/importtrace.py +0 -0
  225. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/interp.py +0 -0
  226. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/pyproject.py +0 -0
  227. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/slowcat.py +0 -0
  228. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/scripts/tmpexec.py +0 -0
  229. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tagstrings.py +0 -0
  230. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tokens/__init__.py +0 -0
  231. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tokens/all.py +0 -0
  232. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tokens/tokenizert.py +0 -0
  233. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tokens/utils.py +0 -0
  234. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/__init__.py +0 -0
  235. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/cloc.py +0 -0
  236. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/doc.py +0 -0
  237. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/docker.py +0 -0
  238. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/git/__init__.py +0 -0
  239. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/git/__main__.py +0 -0
  240. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/git/cli.py +0 -0
  241. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/git/consts.py +0 -0
  242. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/git/messages.py +0 -0
  243. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/importscan.py +0 -0
  244. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/__init__.py +0 -0
  245. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/__main__.py +0 -0
  246. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/cli.py +0 -0
  247. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/formats.py +0 -0
  248. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/io.py +0 -0
  249. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/parsing.py +0 -0
  250. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/processing.py +0 -0
  251. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/json/rendering.py +0 -0
  252. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/linehisto.py +0 -0
  253. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/mkenv.py +0 -0
  254. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/mkrelimp.py +0 -0
  255. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/notebook.py +0 -0
  256. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/pawk/__init__.py +0 -0
  257. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/pawk/__main__.py +0 -0
  258. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/pawk/pawk.py +0 -0
  259. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/pip.py +0 -0
  260. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/prof.py +0 -0
  261. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/qr.py +0 -0
  262. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/shadow.py +0 -0
  263. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev/tools/sqlrepl.py +0 -0
  264. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev.egg-info/SOURCES.txt +0 -0
  265. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev.egg-info/dependency_links.txt +0 -0
  266. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev.egg-info/entry_points.txt +0 -0
  267. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/omdev.egg-info/top_level.txt +0 -0
  268. {omdev-0.0.0.dev241 → omdev-0.0.0.dev242}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev241
3
+ Version: 0.0.0.dev242
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.dev241
15
+ Requires-Dist: omlish==0.0.0.dev242
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -17,6 +17,7 @@ from .compose import get_compose_service_dependencies
17
17
  from .docker.buildcaching import DockerBuildCaching
18
18
  from .docker.cache import DockerCacheKey
19
19
  from .docker.cmds import build_docker_image
20
+ from .docker.cmds import ensure_docker_image_setup
20
21
  from .docker.imagepulling import DockerImagePulling
21
22
  from .docker.utils import build_docker_file_hash
22
23
  from .requirements import build_requirements_hash
@@ -51,6 +52,8 @@ class Ci(AsyncExitStacked):
51
52
 
52
53
  no_dependencies: bool = False
53
54
 
55
+ setup_only: bool = False
56
+
54
57
  run_options: ta.Optional[ta.Sequence[str]] = None
55
58
 
56
59
  #
@@ -174,18 +177,21 @@ class Ci(AsyncExitStacked):
174
177
  #
175
178
 
176
179
  @cached_nullary
177
- def pull_dependencies_funcs(self) -> ta.Sequence[ta.Callable[[], ta.Awaitable]]:
180
+ def get_dependency_images(self) -> ta.Sequence[str]:
178
181
  deps = get_compose_service_dependencies(
179
182
  self._config.compose_file,
180
183
  self._config.service,
181
184
  )
185
+ return sorted(deps.values())
182
186
 
187
+ @cached_nullary
188
+ def pull_dependencies_funcs(self) -> ta.Sequence[ta.Callable[[], ta.Awaitable]]:
183
189
  return [
184
190
  async_cached_nullary(functools.partial(
185
191
  self._docker_image_pulling.pull_docker_image,
186
192
  dep_image,
187
193
  ))
188
- for dep_image in deps.values()
194
+ for dep_image in self.get_dependency_images()
189
195
  ]
190
196
 
191
197
  #
@@ -233,7 +239,26 @@ class Ci(AsyncExitStacked):
233
239
 
234
240
  #
235
241
 
242
+ async def _run_setup_only(self) -> None:
243
+ image_ids = [
244
+ await self.resolve_ci_image(),
245
+
246
+ *(self.get_dependency_images() if not self._config.no_dependencies else []),
247
+ ]
248
+
249
+ for image_id in image_ids:
250
+ with log_timing_context(f'Run setup only: {image_id}'):
251
+ await ensure_docker_image_setup(
252
+ image_id,
253
+ cwd=self._config.project_dir,
254
+ )
255
+
256
+ #
257
+
236
258
  async def run(self) -> None:
237
259
  await self.setup()
238
260
 
239
- await self._run_compose()
261
+ if self._config.setup_only:
262
+ await self._run_setup_only()
263
+ else:
264
+ await self._run_compose()
@@ -97,6 +97,8 @@ class CiCli(ArgparseCli):
97
97
 
98
98
  argparse_arg('--no-dependencies', action='store_true'),
99
99
 
100
+ argparse_arg('--setup-only', action='store_true'),
101
+
100
102
  argparse_arg('-e', '--env', action='append'),
101
103
  argparse_arg('-v', '--volume', action='append'),
102
104
 
@@ -211,6 +213,8 @@ class CiCli(ArgparseCli):
211
213
 
212
214
  no_dependencies=self.args.no_dependencies,
213
215
 
216
+ setup_only=self.args.setup_only,
217
+
214
218
  run_options=run_options,
215
219
  )
216
220
 
@@ -123,3 +123,21 @@ async def load_docker_tar(
123
123
  tar_file: str,
124
124
  ) -> str:
125
125
  return await load_docker_tar_cmd(ShellCmd(f'cat {shlex.quote(tar_file)}'))
126
+
127
+
128
+ ##
129
+
130
+
131
+ async def ensure_docker_image_setup(
132
+ image: str,
133
+ *,
134
+ cwd: ta.Optional[str] = None,
135
+ ) -> None:
136
+ await asyncio_subprocesses.check_call(
137
+ 'docker',
138
+ 'run',
139
+ '--rm',
140
+ '--entrypoint', '/bin/true', # FIXME: lol
141
+ image,
142
+ **(dict(cwd=cwd) if cwd is not None else {}),
143
+ )
@@ -10983,6 +10983,24 @@ async def load_docker_tar(
10983
10983
  return await load_docker_tar_cmd(ShellCmd(f'cat {shlex.quote(tar_file)}'))
10984
10984
 
10985
10985
 
10986
+ ##
10987
+
10988
+
10989
+ async def ensure_docker_image_setup(
10990
+ image: str,
10991
+ *,
10992
+ cwd: ta.Optional[str] = None,
10993
+ ) -> None:
10994
+ await asyncio_subprocesses.check_call(
10995
+ 'docker',
10996
+ 'run',
10997
+ '--rm',
10998
+ '--entrypoint', '/bin/true', # FIXME: lol
10999
+ image,
11000
+ **(dict(cwd=cwd) if cwd is not None else {}),
11001
+ )
11002
+
11003
+
10986
11004
  ########################################
10987
11005
  # ../docker/dataserver.py
10988
11006
 
@@ -11613,6 +11631,8 @@ class Ci(AsyncExitStacked):
11613
11631
 
11614
11632
  no_dependencies: bool = False
11615
11633
 
11634
+ setup_only: bool = False
11635
+
11616
11636
  run_options: ta.Optional[ta.Sequence[str]] = None
11617
11637
 
11618
11638
  #
@@ -11736,18 +11756,21 @@ class Ci(AsyncExitStacked):
11736
11756
  #
11737
11757
 
11738
11758
  @cached_nullary
11739
- def pull_dependencies_funcs(self) -> ta.Sequence[ta.Callable[[], ta.Awaitable]]:
11759
+ def get_dependency_images(self) -> ta.Sequence[str]:
11740
11760
  deps = get_compose_service_dependencies(
11741
11761
  self._config.compose_file,
11742
11762
  self._config.service,
11743
11763
  )
11764
+ return sorted(deps.values())
11744
11765
 
11766
+ @cached_nullary
11767
+ def pull_dependencies_funcs(self) -> ta.Sequence[ta.Callable[[], ta.Awaitable]]:
11745
11768
  return [
11746
11769
  async_cached_nullary(functools.partial(
11747
11770
  self._docker_image_pulling.pull_docker_image,
11748
11771
  dep_image,
11749
11772
  ))
11750
- for dep_image in deps.values()
11773
+ for dep_image in self.get_dependency_images()
11751
11774
  ]
11752
11775
 
11753
11776
  #
@@ -11795,10 +11818,29 @@ class Ci(AsyncExitStacked):
11795
11818
 
11796
11819
  #
11797
11820
 
11821
+ async def _run_setup_only(self) -> None:
11822
+ image_ids = [
11823
+ await self.resolve_ci_image(),
11824
+
11825
+ *(self.get_dependency_images() if not self._config.no_dependencies else []),
11826
+ ]
11827
+
11828
+ for image_id in image_ids:
11829
+ with log_timing_context(f'Run setup only: {image_id}'):
11830
+ await ensure_docker_image_setup(
11831
+ image_id,
11832
+ cwd=self._config.project_dir,
11833
+ )
11834
+
11835
+ #
11836
+
11798
11837
  async def run(self) -> None:
11799
11838
  await self.setup()
11800
11839
 
11801
- await self._run_compose()
11840
+ if self._config.setup_only:
11841
+ await self._run_setup_only()
11842
+ else:
11843
+ await self._run_compose()
11802
11844
 
11803
11845
 
11804
11846
  ########################################
@@ -11979,6 +12021,8 @@ class CiCli(ArgparseCli):
11979
12021
 
11980
12022
  argparse_arg('--no-dependencies', action='store_true'),
11981
12023
 
12024
+ argparse_arg('--setup-only', action='store_true'),
12025
+
11982
12026
  argparse_arg('-e', '--env', action='append'),
11983
12027
  argparse_arg('-v', '--volume', action='append'),
11984
12028
 
@@ -12093,6 +12137,8 @@ class CiCli(ArgparseCli):
12093
12137
 
12094
12138
  no_dependencies=self.args.no_dependencies,
12095
12139
 
12140
+ setup_only=self.args.setup_only,
12141
+
12096
12142
  run_options=run_options,
12097
12143
  )
12098
12144
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev241
3
+ Version: 0.0.0.dev242
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.dev241
15
+ Requires-Dist: omlish==0.0.0.dev242
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev241
1
+ omlish==0.0.0.dev242
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.dev241'
15
+ version = '0.0.0.dev242'
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.dev241',
25
+ 'omlish == 0.0.0.dev242',
26
26
  ]
27
27
 
28
28
  [project.optional-dependencies]
File without changes
File without changes
File without changes