omdev 0.0.28__tar.gz → 0.0.29__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 (522) hide show
  1. {omdev-0.0.28/omdev.egg-info → omdev-0.0.29}/PKG-INFO +32 -35
  2. omdev-0.0.29/README.md +49 -0
  3. omdev-0.0.29/omdev/README.md +49 -0
  4. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/cli.py +4 -4
  5. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/clicli.py +1 -1
  6. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/install.py +1 -1
  7. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/cli.py +2 -2
  8. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/config.toml +3 -3
  9. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/.python-versions.json +3 -3
  10. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/jdk.sh +1 -1
  11. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/run.py +3 -3
  12. {omdev-0.0.28 → omdev-0.0.29}/omdev/home/paths.py +4 -4
  13. {omdev-0.0.28 → omdev-0.0.29}/omdev/home/secrets.py +1 -1
  14. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/providers/standalone.py +1 -1
  15. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/pkg.py +105 -1
  16. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/tools/buildrs.py +1 -1
  17. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/ci.py +61 -49
  18. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/formats/goyaml.py +54 -42
  19. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/pidfiles.py +52 -40
  20. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/pyproject.py +158 -42
  21. {omdev-0.0.28 → omdev-0.0.29/omdev.egg-info}/PKG-INFO +32 -35
  22. {omdev-0.0.28 → omdev-0.0.29}/omdev.egg-info/requires.txt +5 -5
  23. {omdev-0.0.28 → omdev-0.0.29}/pyproject.toml +7 -8
  24. omdev-0.0.28/README.md +0 -51
  25. omdev-0.0.28/omdev/README.md +0 -51
  26. {omdev-0.0.28 → omdev-0.0.29}/LICENSE +0 -0
  27. {omdev-0.0.28 → omdev-0.0.29}/MANIFEST.in +0 -0
  28. {omdev-0.0.28 → omdev-0.0.29}/omdev/.om-manifests.json +0 -0
  29. {omdev-0.0.28 → omdev-0.0.29}/omdev/__about__.py +0 -0
  30. {omdev-0.0.28 → omdev-0.0.29}/omdev/__init__.py +0 -0
  31. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/__init__.py +0 -0
  32. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/__main__.py +0 -0
  33. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/cli/__init__.py +0 -0
  34. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/cli/main.py +0 -0
  35. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/__init__.py +0 -0
  36. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/gen.py +0 -0
  37. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/imports.py +0 -0
  38. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/manifests.py +0 -0
  39. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/resources.py +0 -0
  40. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/srcfiles.py +0 -0
  41. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/strip.py +0 -0
  42. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/types.py +0 -0
  43. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/gen/typing.py +0 -0
  44. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/info.py +0 -0
  45. {omdev-0.0.28 → omdev-0.0.29}/omdev/amalg/sources.py +0 -0
  46. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/__init__.py +0 -0
  47. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/__init__.py +0 -0
  48. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/cache.py +0 -0
  49. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/contexts.py +0 -0
  50. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/currents.py +0 -0
  51. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/fns.py +0 -0
  52. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/resolvers.py +0 -0
  53. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/storage.py +0 -0
  54. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/compute/types.py +0 -0
  55. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/data/__init__.py +0 -0
  56. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/data/actions.py +0 -0
  57. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/data/cache.py +0 -0
  58. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/data/consts.py +0 -0
  59. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/data/defaults.py +0 -0
  60. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/data/manifests.py +0 -0
  61. {omdev-0.0.28 → omdev-0.0.29}/omdev/cache/data/specs.py +0 -0
  62. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/__init__.py +0 -0
  63. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/darwin/__init__.py +0 -0
  64. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/darwin/aps.py +0 -0
  65. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/darwin/ax.py +0 -0
  66. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/darwin/cf.py +0 -0
  67. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/darwin/cg.py +0 -0
  68. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/linux/__init__.py +0 -0
  69. {omdev-0.0.28 → omdev-0.0.29}/omdev/capi/linux/x11.py +0 -0
  70. {omdev-0.0.28 → omdev-0.0.29}/omdev/cc/__init__.py +0 -0
  71. {omdev-0.0.28 → omdev-0.0.29}/omdev/cc/__main__.py +0 -0
  72. {omdev-0.0.28 → omdev-0.0.29}/omdev/cc/cdeps.py +0 -0
  73. {omdev-0.0.28 → omdev-0.0.29}/omdev/cc/cdeps.toml +0 -0
  74. {omdev-0.0.28 → omdev-0.0.29}/omdev/cc/cli.py +0 -0
  75. {omdev-0.0.28 → omdev-0.0.29}/omdev/cc/srclangs.py +0 -0
  76. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/__init__.py +0 -0
  77. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_boilerplate.cc +0 -0
  78. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/LICENSE +0 -0
  79. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/__init__.py +0 -0
  80. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/build_ext.py +0 -0
  81. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  82. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  83. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/compilers/options.py +0 -0
  84. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  85. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/dir_util.py +0 -0
  86. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/errors.py +0 -0
  87. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/extension.py +0 -0
  88. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/file_util.py +0 -0
  89. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/modified.py +0 -0
  90. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/spawn.py +0 -0
  91. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/sysconfig.py +0 -0
  92. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/util.py +0 -0
  93. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/_distutils/version.py +0 -0
  94. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/build.py +0 -0
  95. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/cmake.py +0 -0
  96. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/importhook.py +0 -0
  97. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/magic.py +0 -0
  98. {omdev-0.0.28 → omdev-0.0.29}/omdev/cexts/scan.py +0 -0
  99. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/__init__.py +0 -0
  100. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/__main__.py +0 -0
  101. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/cache.py +0 -0
  102. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/ci.py +0 -0
  103. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/compose.py +0 -0
  104. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/consts.py +0 -0
  105. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/__init__.py +0 -0
  106. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/buildcaching.py +0 -0
  107. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/cache.py +0 -0
  108. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  109. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/cacheserved/cache.py +0 -0
  110. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  111. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/cmds.py +0 -0
  112. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/dataserver.py +0 -0
  113. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/imagepulling.py +0 -0
  114. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/inject.py +0 -0
  115. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/packing.py +0 -0
  116. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/repositories.py +0 -0
  117. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/docker/utils.py +0 -0
  118. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/__init__.py +0 -0
  119. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/__init__.py +0 -0
  120. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/clients.py +0 -0
  121. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/v1/__init__.py +0 -0
  122. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/v1/api.py +0 -0
  123. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/v1/client.py +0 -0
  124. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/v2/__init__.py +0 -0
  125. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/v2/api.py +0 -0
  126. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/v2/azure.py +0 -0
  127. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/api/v2/client.py +0 -0
  128. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/bootstrap.py +0 -0
  129. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/cache.py +0 -0
  130. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/cli.py +0 -0
  131. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/env.py +0 -0
  132. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/github/inject.py +0 -0
  133. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/inject.py +0 -0
  134. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/requirements.py +0 -0
  135. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/shell.py +0 -0
  136. {omdev-0.0.28 → omdev-0.0.29}/omdev/ci/utils.py +0 -0
  137. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/__init__.py +0 -0
  138. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/__main__.py +0 -0
  139. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/_pathhack.py +0 -0
  140. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/main.py +0 -0
  141. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/managers.py +0 -0
  142. {omdev-0.0.28 → omdev-0.0.29}/omdev/cli/types.py +0 -0
  143. {omdev-0.0.28 → omdev-0.0.29}/omdev/clipboard/__init__.py +0 -0
  144. {omdev-0.0.28 → omdev-0.0.29}/omdev/clipboard/capi/__init__.py +0 -0
  145. {omdev-0.0.28 → omdev-0.0.29}/omdev/clipboard/capi/darwin_cf.py +0 -0
  146. {omdev-0.0.28 → omdev-0.0.29}/omdev/clipboard/capi/linux_x11.py +0 -0
  147. {omdev-0.0.28 → omdev-0.0.29}/omdev/clipboard/commands.py +0 -0
  148. {omdev-0.0.28 → omdev-0.0.29}/omdev/clipboard/platform.py +0 -0
  149. {omdev-0.0.28 → omdev-0.0.29}/omdev/clipboard/types.py +0 -0
  150. {omdev-0.0.28 → omdev-0.0.29}/omdev/cmake.py +0 -0
  151. {omdev-0.0.28 → omdev-0.0.29}/omdev/cmdlog/__init__.py +0 -0
  152. {omdev-0.0.28 → omdev-0.0.29}/omdev/cmdlog/__main__.py +0 -0
  153. {omdev-0.0.28 → omdev-0.0.29}/omdev/cmdlog/_cmdlog.py +0 -0
  154. {omdev-0.0.28 → omdev-0.0.29}/omdev/cmdlog/cli.py +0 -0
  155. {omdev-0.0.28 → omdev-0.0.29}/omdev/cmdlog/cmdlog.py +0 -0
  156. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataclasses/__init__.py +0 -0
  157. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataclasses/__main__.py +0 -0
  158. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataclasses/_dumping.py +0 -0
  159. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataclasses/_template.py +0 -0
  160. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataclasses/cli.py +0 -0
  161. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataclasses/codegen.py +0 -0
  162. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataclasses/dumping.py +0 -0
  163. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataserver/__init__.py +0 -0
  164. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataserver/handlers.py +0 -0
  165. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataserver/http.py +0 -0
  166. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataserver/routes.py +0 -0
  167. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataserver/server.py +0 -0
  168. {omdev-0.0.28 → omdev-0.0.29}/omdev/dataserver/targets.py +0 -0
  169. {omdev-0.0.28 → omdev-0.0.29}/omdev/diffs/__init__.py +0 -0
  170. {omdev-0.0.28 → omdev-0.0.29}/omdev/diffs/__main__.py +0 -0
  171. {omdev-0.0.28 → omdev-0.0.29}/omdev/diffs/cli.py +0 -0
  172. {omdev-0.0.28 → omdev-0.0.29}/omdev/diffs/parsing.py +0 -0
  173. {omdev-0.0.28 → omdev-0.0.29}/omdev/diffs/rendering.py +0 -0
  174. {omdev-0.0.28 → omdev-0.0.29}/omdev/diffs/types.py +0 -0
  175. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/__init__.py +0 -0
  176. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/__main__.py +0 -0
  177. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/build.py +0 -0
  178. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/config.py +0 -0
  179. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/content.py +0 -0
  180. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/gen.py +0 -0
  181. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/helpers.py +0 -0
  182. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/ops.py +0 -0
  183. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/rendering.py +0 -0
  184. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
  185. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/configs/.sqliterc +0 -0
  186. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
  187. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/configs/.vimrc +0 -0
  188. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/depsets/python.toml +0 -0
  189. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/depsets/system.toml +0 -0
  190. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
  191. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
  192. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/chgrp.sh +0 -0
  193. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
  194. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
  195. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/go.sh +0 -0
  196. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/man.sh +0 -0
  197. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
  198. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
  199. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/rbenv.sh +0 -0
  200. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
  201. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
  202. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/user.sh +0 -0
  203. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
  204. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
  205. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/workdir.sh +0 -0
  206. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
  207. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/scripts/install-claude +0 -0
  208. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/scripts/install-codex +0 -0
  209. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/scripts/install-pi +0 -0
  210. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/scripts/run-dbus +0 -0
  211. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/resources/shift-uid.sh +0 -0
  212. {omdev-0.0.28 → omdev-0.0.29}/omdev/dockerdev/utils.py +0 -0
  213. {omdev-0.0.28 → omdev-0.0.29}/omdev/git/__init__.py +0 -0
  214. {omdev-0.0.28 → omdev-0.0.29}/omdev/git/magic.py +0 -0
  215. {omdev-0.0.28 → omdev-0.0.29}/omdev/git/revisions.py +0 -0
  216. {omdev-0.0.28 → omdev-0.0.29}/omdev/git/shallow.py +0 -0
  217. {omdev-0.0.28 → omdev-0.0.29}/omdev/git/status.py +0 -0
  218. {omdev-0.0.28 → omdev-0.0.29}/omdev/home/__init__.py +0 -0
  219. {omdev-0.0.28 → omdev-0.0.29}/omdev/home/__main__.py +0 -0
  220. {omdev-0.0.28 → omdev-0.0.29}/omdev/home/cli.py +0 -0
  221. {omdev-0.0.28 → omdev-0.0.29}/omdev/home/shadow.py +0 -0
  222. {omdev-0.0.28 → omdev-0.0.29}/omdev/imgur.py +0 -0
  223. {omdev-0.0.28 → omdev-0.0.29}/omdev/intellij/__init__.py +0 -0
  224. {omdev-0.0.28 → omdev-0.0.29}/omdev/intellij/cli.py +0 -0
  225. {omdev-0.0.28 → omdev-0.0.29}/omdev/intellij/ides.py +0 -0
  226. {omdev-0.0.28 → omdev-0.0.29}/omdev/intellij/open.py +0 -0
  227. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/__init__.py +0 -0
  228. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/__main__.py +0 -0
  229. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/cli.py +0 -0
  230. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/default.py +0 -0
  231. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/inject.py +0 -0
  232. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/inspect.py +0 -0
  233. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/providers/__init__.py +0 -0
  234. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/providers/base.py +0 -0
  235. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/providers/inject.py +0 -0
  236. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/providers/running.py +0 -0
  237. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/providers/system.py +0 -0
  238. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/pyenv/__init__.py +0 -0
  239. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/pyenv/inject.py +0 -0
  240. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/pyenv/install.py +0 -0
  241. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/pyenv/provider.py +0 -0
  242. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/pyenv/pyenv.py +0 -0
  243. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/resolvers.py +0 -0
  244. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/types.py +0 -0
  245. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/uv/__init__.py +0 -0
  246. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/uv/inject.py +0 -0
  247. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/uv/provider.py +0 -0
  248. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/uv/uv.py +0 -0
  249. {omdev-0.0.28 → omdev-0.0.29}/omdev/interp/venvs.py +0 -0
  250. {omdev-0.0.28 → omdev-0.0.29}/omdev/java/__init__.py +0 -0
  251. {omdev-0.0.28 → omdev-0.0.29}/omdev/java/__main__.py +0 -0
  252. {omdev-0.0.28 → omdev-0.0.29}/omdev/java/cli.py +0 -0
  253. {omdev-0.0.28 → omdev-0.0.29}/omdev/java/pomgen.py +0 -0
  254. {omdev-0.0.28 → omdev-0.0.29}/omdev/java/utils.py +0 -0
  255. {omdev-0.0.28 → omdev-0.0.29}/omdev/java/xml.py +0 -0
  256. {omdev-0.0.28 → omdev-0.0.29}/omdev/magic/__init__.py +0 -0
  257. {omdev-0.0.28 → omdev-0.0.29}/omdev/magic/__main__.py +0 -0
  258. {omdev-0.0.28 → omdev-0.0.29}/omdev/magic/cli.py +0 -0
  259. {omdev-0.0.28 → omdev-0.0.29}/omdev/magic/find.py +0 -0
  260. {omdev-0.0.28 → omdev-0.0.29}/omdev/magic/magic.py +0 -0
  261. {omdev-0.0.28 → omdev-0.0.29}/omdev/magic/prepare.py +0 -0
  262. {omdev-0.0.28 → omdev-0.0.29}/omdev/magic/styles.py +0 -0
  263. {omdev-0.0.28 → omdev-0.0.29}/omdev/manifests/__init__.py +0 -0
  264. {omdev-0.0.28 → omdev-0.0.29}/omdev/manifests/__main__.py +0 -0
  265. {omdev-0.0.28 → omdev-0.0.29}/omdev/manifests/_dumping.py +0 -0
  266. {omdev-0.0.28 → omdev-0.0.29}/omdev/manifests/building.py +0 -0
  267. {omdev-0.0.28 → omdev-0.0.29}/omdev/manifests/dumping.py +0 -0
  268. {omdev-0.0.28 → omdev-0.0.29}/omdev/manifests/main.py +0 -0
  269. {omdev-0.0.28 → omdev-0.0.29}/omdev/markdown/__init__.py +0 -0
  270. {omdev-0.0.28 → omdev-0.0.29}/omdev/markdown/incparse.py +0 -0
  271. {omdev-0.0.28 → omdev-0.0.29}/omdev/markdown/tokens.py +0 -0
  272. {omdev-0.0.28 → omdev-0.0.29}/omdev/mypy/__init__.py +0 -0
  273. {omdev-0.0.28 → omdev-0.0.29}/omdev/mypy/debug.py +0 -0
  274. {omdev-0.0.28 → omdev-0.0.29}/omdev/mypy/report.py +0 -0
  275. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/__init__.py +0 -0
  276. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/marshal.py +0 -0
  277. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/names.py +0 -0
  278. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/requires.py +0 -0
  279. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/revisions.py +0 -0
  280. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/specifiers.py +0 -0
  281. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/versions.py +0 -0
  282. {omdev-0.0.28 → omdev-0.0.29}/omdev/packaging/wheelfile.py +0 -0
  283. {omdev-0.0.28 → omdev-0.0.29}/omdev/pip.py +0 -0
  284. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/__init__.py +0 -0
  285. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/__main__.py +0 -0
  286. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/base.py +0 -0
  287. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/blanklines.py +0 -0
  288. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/caches.py +0 -0
  289. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/git.py +0 -0
  290. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/imports.py +0 -0
  291. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/lite.py +0 -0
  292. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/main.py +0 -0
  293. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/manifests.py +0 -0
  294. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/scripts.py +0 -0
  295. {omdev-0.0.28 → omdev-0.0.29}/omdev/precheck/unicode.py +0 -0
  296. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/__init__.py +0 -0
  297. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/asts/__init__.py +0 -0
  298. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/asts/parents.py +0 -0
  299. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/asts/toplevel.py +0 -0
  300. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/asts/visitors.py +0 -0
  301. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/attrdocs.py +0 -0
  302. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/bracepy.py +0 -0
  303. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/classdot.py +0 -0
  304. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/LICENSE +0 -0
  305. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/__init__.py +0 -0
  306. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/attrdoc.py +0 -0
  307. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/common.py +0 -0
  308. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/epydoc.py +0 -0
  309. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/google.py +0 -0
  310. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/numpydoc.py +0 -0
  311. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/parser.py +0 -0
  312. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/docstrings/rest.py +0 -0
  313. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/findimports.py +0 -0
  314. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/reprs.py +0 -0
  315. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/scripts/__init__.py +0 -0
  316. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/scripts/bumpversion.py +0 -0
  317. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/scripts/importtrace.py +0 -0
  318. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/srcheaders.py +0 -0
  319. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tokens/__init__.py +0 -0
  320. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tokens/all.py +0 -0
  321. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tokens/tokenizert.py +0 -0
  322. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tokens/utils.py +0 -0
  323. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tools/__init__.py +0 -0
  324. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tools/fixdocstrings.py +0 -0
  325. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tools/importscan.py +0 -0
  326. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tools/mkrelimp.py +0 -0
  327. {omdev-0.0.28 → omdev-0.0.29}/omdev/py/tools/pipdepup.py +0 -0
  328. {omdev-0.0.28 → omdev-0.0.29}/omdev/py.typed +0 -0
  329. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/__init__.py +0 -0
  330. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/__main__.py +0 -0
  331. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/cli.py +0 -0
  332. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/configs.py +0 -0
  333. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/inject.py +0 -0
  334. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/reqs.py +0 -0
  335. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/resources/dockerdev.sh +0 -0
  336. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/resources/python.sh +0 -0
  337. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/tools/__init__.py +0 -0
  338. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/tools/aboutdeps.py +0 -0
  339. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/tools/pyversions.py +0 -0
  340. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/venvs.py +0 -0
  341. {omdev-0.0.28 → omdev-0.0.29}/omdev/pyproject/versions.py +0 -0
  342. {omdev-0.0.28 → omdev-0.0.29}/omdev/rs/__init__.py +0 -0
  343. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/__init__.py +0 -0
  344. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/interp.py +0 -0
  345. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/__init__.py +0 -0
  346. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/formats/__init__.py +0 -0
  347. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/inject.py +0 -0
  348. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/io/__init__.py +0 -0
  349. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/io/pipelines.py +0 -0
  350. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/io/streambufs.py +0 -0
  351. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/logs.py +0 -0
  352. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/lib/marshal.py +0 -0
  353. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/slowcat.py +0 -0
  354. {omdev-0.0.28 → omdev-0.0.29}/omdev/scripts/tmpexec.py +0 -0
  355. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/__init__.py +0 -0
  356. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/__init__.py +0 -0
  357. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/messages/__init__.py +0 -0
  358. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/messages/base.py +0 -0
  359. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/messages/formats.py +0 -0
  360. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/messages/messages.py +0 -0
  361. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/messages/parsing.py +0 -0
  362. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/numerics/__init__.py +0 -0
  363. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/numerics/formats.py +0 -0
  364. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/numerics/numerics.py +0 -0
  365. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/numerics/types.py +0 -0
  366. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/LICENSE +0 -0
  367. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/__init__.py +0 -0
  368. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/consts.py +0 -0
  369. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/errors.py +0 -0
  370. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/message.py +0 -0
  371. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/nuh.py +0 -0
  372. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/parsing.py +0 -0
  373. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/rendering.py +0 -0
  374. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/tags.py +0 -0
  375. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/irc/protocol/utils.py +0 -0
  376. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/__init__.py +0 -0
  377. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/__init__.py +0 -0
  378. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/__main__.py +0 -0
  379. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/analysis.py +0 -0
  380. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/cli.py +0 -0
  381. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/config.py +0 -0
  382. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/errors.py +0 -0
  383. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/generator.py +0 -0
  384. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/ir.py +0 -0
  385. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/names.py +0 -0
  386. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/rendering.py +0 -0
  387. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/transforms.py +0 -0
  388. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/jsonschema/codegen/typing.py +0 -0
  389. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/__init__.py +0 -0
  390. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/building.py +0 -0
  391. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/compression.py +0 -0
  392. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/data.py +0 -0
  393. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/datarefs.py +0 -0
  394. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/dataserver.py +0 -0
  395. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/loading.py +0 -0
  396. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/media.py +0 -0
  397. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/pack/__init__.py +0 -0
  398. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/pack/packing.py +0 -0
  399. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/pack/repositories.py +0 -0
  400. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/pack/unpacking.py +0 -0
  401. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/repositories.py +0 -0
  402. {omdev-0.0.28 → omdev-0.0.29}/omdev/specs/oci/tars.py +0 -0
  403. {omdev-0.0.28 → omdev-0.0.29}/omdev/tagstrings.py +0 -0
  404. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/__init__.py +0 -0
  405. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/cloc.py +0 -0
  406. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/diff.py +0 -0
  407. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/doc.py +0 -0
  408. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/docker.py +0 -0
  409. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/git/__init__.py +0 -0
  410. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/git/__main__.py +0 -0
  411. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/git/cli.py +0 -0
  412. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/git/cloning.py +0 -0
  413. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/git/consts.py +0 -0
  414. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/git/messages.py +0 -0
  415. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/__init__.py +0 -0
  416. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/__main__.py +0 -0
  417. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/cli.py +0 -0
  418. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/formats.py +0 -0
  419. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/io.py +0 -0
  420. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/parsing.py +0 -0
  421. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/processing.py +0 -0
  422. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/json/rendering.py +0 -0
  423. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/jsonview/__init__.py +0 -0
  424. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/jsonview/__main__.py +0 -0
  425. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/jsonview/cli.py +0 -0
  426. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/jsonview/resources/jsonview.css +0 -0
  427. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
  428. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/jsonview/resources/jsonview.js +0 -0
  429. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/linehisto.py +0 -0
  430. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/mkenv.py +0 -0
  431. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/notebook.py +0 -0
  432. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/ocr.py +0 -0
  433. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/pawk/README.md +0 -0
  434. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/pawk/__init__.py +0 -0
  435. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/pawk/__main__.py +0 -0
  436. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/pawk/pawk.py +0 -0
  437. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/pip.py +0 -0
  438. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/prof.py +0 -0
  439. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/qr.py +0 -0
  440. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/shadow.py +0 -0
  441. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/shell.py +0 -0
  442. {omdev-0.0.28 → omdev-0.0.29}/omdev/tools/sqlrepl.py +0 -0
  443. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/__init__.py +0 -0
  444. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/__init__.py +0 -0
  445. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/edit/__init__.py +0 -0
  446. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/edit/main.py +0 -0
  447. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/irc/__init__.py +0 -0
  448. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/irc/__main__.py +0 -0
  449. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/irc/app.py +0 -0
  450. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/irc/client.py +0 -0
  451. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/irc/commands.py +0 -0
  452. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/irc/main.py +0 -0
  453. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/LICENSE +0 -0
  454. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/__init__.py +0 -0
  455. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/__main__.py +0 -0
  456. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/app.py +0 -0
  457. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/cli.py +0 -0
  458. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/styles/layout.tcss +0 -0
  459. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/utils.py +0 -0
  460. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/jtree/widgets.py +0 -0
  461. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/markdown/__init__.py +0 -0
  462. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/markdown/__main__.py +0 -0
  463. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/apps/markdown/cli.py +0 -0
  464. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/__init__.py +0 -0
  465. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/console2.py +0 -0
  466. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/LICENSE +0 -0
  467. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/__init__.py +0 -0
  468. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/__main__.py +0 -0
  469. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/_compat.py +0 -0
  470. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/cli.py +0 -0
  471. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/renderables.py +0 -0
  472. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/rendering.py +0 -0
  473. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/diff/underlinebar.py +0 -0
  474. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/markdown2.py +0 -0
  475. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/textual/__init__.py +0 -0
  476. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/textual/dark.py +0 -0
  477. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/textual/dump.py +0 -0
  478. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/textual/themes.py +0 -0
  479. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/rich/trirule.py +0 -0
  480. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/__init__.py +0 -0
  481. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/actionmenu.py +0 -0
  482. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/LICENSE +0 -0
  483. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/__init__.py +0 -0
  484. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/client.py +0 -0
  485. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/previews/__init__.py +0 -0
  486. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/previews/borders.py +0 -0
  487. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/previews/colors.py +0 -0
  488. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/previews/colors.tcss +0 -0
  489. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/previews/easing.py +0 -0
  490. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/previews/easing.tcss +0 -0
  491. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/previews/keys.py +0 -0
  492. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/protocol.py +0 -0
  493. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/redirect_output.py +0 -0
  494. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/renderables.py +0 -0
  495. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/server.py +0 -0
  496. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/service.py +0 -0
  497. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/tools/__init__.py +0 -0
  498. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/altdevtools/tools/diagnose.py +0 -0
  499. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/app2.py +0 -0
  500. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/autocomplete/LICENSE +0 -0
  501. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/autocomplete/__init__.py +0 -0
  502. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/autocomplete/matching.py +0 -0
  503. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/autocomplete/paths.py +0 -0
  504. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/autocomplete/widget.py +0 -0
  505. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/binding2.py +0 -0
  506. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/clipboard.py +0 -0
  507. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/debug/__init__.py +0 -0
  508. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/debug/dominfo.py +0 -0
  509. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/debug/screen.py +0 -0
  510. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/devtools.py +0 -0
  511. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/dom2.py +0 -0
  512. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/drivers2.py +0 -0
  513. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/logging2.py +0 -0
  514. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/render2.py +0 -0
  515. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/screen2.py +0 -0
  516. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/types.py +0 -0
  517. {omdev-0.0.28 → omdev-0.0.29}/omdev/tui/textual/widgets2.py +0 -0
  518. {omdev-0.0.28 → omdev-0.0.29}/omdev.egg-info/SOURCES.txt +0 -0
  519. {omdev-0.0.28 → omdev-0.0.29}/omdev.egg-info/dependency_links.txt +0 -0
  520. {omdev-0.0.28 → omdev-0.0.29}/omdev.egg-info/entry_points.txt +0 -0
  521. {omdev-0.0.28 → omdev-0.0.29}/omdev.egg-info/top_level.txt +0 -0
  522. {omdev-0.0.28 → omdev-0.0.29}/setup.cfg +0 -0
@@ -1,11 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.28
3
+ Version: 0.0.29
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
7
- Project-URL: source, https://github.com/wrmsr/omcore
8
- Classifier: Development Status :: 2 - Pre-Alpha
7
+ Project-URL: source, https://github.com/wrmsr/om
9
8
  Classifier: Intended Audience :: Developers
10
9
  Classifier: Operating System :: OS Independent
11
10
  Classifier: Operating System :: POSIX
@@ -14,10 +13,10 @@ Classifier: Programming Language :: Python :: 3.14
14
13
  Requires-Python: >=3.14
15
14
  Description-Content-Type: text/markdown
16
15
  License-File: LICENSE
17
- Requires-Dist: omcore==0.0.28
16
+ Requires-Dist: omcore==0.0.29
18
17
  Provides-Extra: all
19
- Requires-Dist: ominfra==0.0.28; extra == "all"
20
- Requires-Dist: omllm==0.0.28; extra == "all"
18
+ Requires-Dist: ominfra==0.0.29; extra == "all"
19
+ Requires-Dist: omllm==0.0.29; extra == "all"
21
20
  Requires-Dist: black~=26.5; extra == "all"
22
21
  Requires-Dist: pycparser~=3.0; extra == "all"
23
22
  Requires-Dist: pcpp~=1.30; extra == "all"
@@ -36,9 +35,9 @@ Requires-Dist: textual~=8.2; extra == "all"
36
35
  Requires-Dist: textual-dev~=1.8; extra == "all"
37
36
  Requires-Dist: textual-speedups~=0.2; extra == "all"
38
37
  Provides-Extra: ominfra
39
- Requires-Dist: ominfra==0.0.28; extra == "ominfra"
38
+ Requires-Dist: ominfra==0.0.29; extra == "ominfra"
40
39
  Provides-Extra: omllm
41
- Requires-Dist: omllm==0.0.28; extra == "omllm"
40
+ Requires-Dist: omllm==0.0.29; extra == "omllm"
42
41
  Provides-Extra: black
43
42
  Requires-Dist: black~=26.5; extra == "black"
44
43
  Provides-Extra: c
@@ -73,48 +72,46 @@ Development utilities and support code.
73
72
 
74
73
  # Notable packages
75
74
 
76
- - **[cli](https://github.com/wrmsr/omlish/blob/master/omdev/cli)** - The codebase's all-in-one CLI. This is not
77
- installed as an entrypoint / command when this package is itself installed - that is separated into the `omdev-cli`
78
- installable package so as to not pollute users' bin/ directories when depping this lib for its utility code.
75
+ - **[cli](https://github.com/wrmsr/om/blob/master/omdev/cli)** - The codebase's all-in-one CLI. This is not installed as
76
+ an entrypoint / command when this package is itself installed - that is separated into the `omdev-cli` installable
77
+ package so as to not pollute users' bin/ directories when depping this lib for its utility code.
79
78
 
80
- - **[amalg](https://github.com/wrmsr/omlish/blob/master/omdev/amalg)** - The [amalgamator](#amalgamation).
79
+ - **[amalg](https://github.com/wrmsr/om/blob/master/omdev/amalg)** - The [amalgamator](#amalgamation).
81
80
 
82
- - **[pyproject](https://github.com/wrmsr/omlish/blob/master/omdev/pyproject)**
83
- ([amalg](https://github.com/wrmsr/omlish/blob/master/omdev/scripts/pyproject.py)) - python project management tool.
81
+ - **[pyproject](https://github.com/wrmsr/om/blob/master/omdev/pyproject)**
82
+ ([amalg](https://github.com/wrmsr/om/blob/master/omdev/scripts/pyproject.py)) - python project management tool.
84
83
  wrangles but does not replace tools like venv, pip, setuptools, and uv. does things like sets up venvs, generates
85
- [`.pkg`](https://github.com/wrmsr/omlish/blob/master/.pkg) directories and their `pyproject.toml`'s (from their
84
+ [`.pkg`](https://github.com/wrmsr/om/blob/master/.pkg) directories and their `pyproject.toml`'s (from their
86
85
  `__about__.py`'s), and packages them. this should grow to eat more and more of the Makefile. as it is amalgamated it
87
86
  requires no installation and can just be dropped into other projects / repos.
88
87
 
89
- - **[ci](https://github.com/wrmsr/omlish/blob/master/omdev/ci)**
90
- ([amalg](https://github.com/wrmsr/omlish/blob/master/omdev/scripts/ci.py)) - ci runner. given a
91
- [`compose.yml`](https://github.com/wrmsr/omlish/blob/master/docker/compose.yml)
92
- and requirements.txt files, takes care of building and caching of containers and venvs and execution of required ci
93
- commands. detects and [natively uses](https://github.com/wrmsr/omlish/blob/master/omdev/ci/github/api/v2)
94
- github-action's caching system. unifies ci execution between local dev and github runners.
88
+ - **[ci](https://github.com/wrmsr/om/blob/master/omdev/ci)**
89
+ ([amalg](https://github.com/wrmsr/om/blob/master/omdev/scripts/ci.py)) - ci runner. given a
90
+ [`compose.yml`](https://github.com/wrmsr/om/blob/master/docker/compose.yml) and requirements.txt files, takes care of
91
+ building and caching of containers and venvs and execution of required ci commands. detects and [natively
92
+ uses](https://github.com/wrmsr/om/blob/master/omdev/ci/github/api/v2) github-action's caching system. unifies ci
93
+ execution between local dev and github runners.
95
94
 
96
- - **[tools.json](https://github.com/wrmsr/omlish/blob/master/omdev/tools/json)** (cli: `om j`) - a tool for json-like
97
- data, obviously in the vein of [jq](https://github.com/jqlang/jq) but using the internal
98
- [jmespath](https://github.com/wrmsr/omlish/blob/master/omcore/specs/jmespath) engine. supports
99
- [true streaming](https://github.com/wrmsr/omlish/blob/master/omcore/formats/json/stream) json input and output, as
100
- well as [various other](https://github.com/wrmsr/omlish/blob/master/omdev/tools/json/formats.py) non-streaming input
101
- formats.
95
+ - **[tools.json](https://github.com/wrmsr/om/blob/master/omdev/tools/json)** (cli: `om j`) - a tool for json-like data,
96
+ obviously in the vein of [jq](https://github.com/jqlang/jq) but using the internal
97
+ [jmespath](https://github.com/wrmsr/om/blob/master/omcore/specs/jmespath) engine. supports [true
98
+ streaming](https://github.com/wrmsr/om/blob/master/omcore/formats/json/stream) json input and output, as well as
99
+ [various other](https://github.com/wrmsr/om/blob/master/omdev/tools/json/formats.py) non-streaming input formats.
102
100
 
103
- - **[tools.git](https://github.com/wrmsr/omlish/blob/master/omdev/tools/git)** (cli: `om git`) - a tool for various lazy
104
- git operations, including the one that (poorly) writes all of these commit messages.
101
+ - **[tools.git](https://github.com/wrmsr/om/blob/master/omdev/tools/git)** (cli: `om git`) - a tool for various lazy git
102
+ operations, including the one that (poorly) writes all of these commit messages.
105
103
 
106
104
  # Amalgamation
107
105
 
108
106
  Amalgamation is the process of stitching together multiple python source files into a single self-contained python
109
- script. ['lite'](https://github.com/wrmsr/omlish/blob/master/omcore#lite-code) code is written in a style conducive to
110
- this.
107
+ script. ['lite'](https://github.com/wrmsr/om/blob/master/omcore#lite-code) code is written in a style conducive to this.
111
108
 
112
109
  # Local storage
113
110
 
114
111
  Some of this code, when asked, will store things on the local filesystem. The only directories used (outside of ones
115
112
  explicitly specified as command or function arguments) are managed in
116
- [home.paths](https://github.com/wrmsr/omlish/blob/master/omdev/home/paths.py), and are the following:
113
+ [home.paths](https://github.com/wrmsr/om/blob/master/omdev/home/paths.py), and are the following:
117
114
 
118
- - `$OMLISH_HOME`, default of `~/.omlish` - persistent things like config and state.
119
- - `$OMLISH_CACHE`, default of `~/.cache/omlish` - used for things like the local ci cache and
120
- [various other](https://github.com/search?q=repo%3Awrmsr%2Fomlish+%22dcache.%22&type=code) cached data.
115
+ - `$OM_HOME`, default of `~/.om` - persistent things like config and state.
116
+ - `$OM_CACHE`, default of `~/.cache/om` - used for things like the local ci cache and [various
117
+ other](https://github.com/search?q=repo%3Awrmsr%2Fom+%22dcache.%22&type=code) cached data.
omdev-0.0.29/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # Overview
2
+
3
+ Development utilities and support code.
4
+
5
+ # Notable packages
6
+
7
+ - **[cli](https://github.com/wrmsr/om/blob/master/omdev/cli)** - The codebase's all-in-one CLI. This is not installed as
8
+ an entrypoint / command when this package is itself installed - that is separated into the `omdev-cli` installable
9
+ package so as to not pollute users' bin/ directories when depping this lib for its utility code.
10
+
11
+ - **[amalg](https://github.com/wrmsr/om/blob/master/omdev/amalg)** - The [amalgamator](#amalgamation).
12
+
13
+ - **[pyproject](https://github.com/wrmsr/om/blob/master/omdev/pyproject)**
14
+ ([amalg](https://github.com/wrmsr/om/blob/master/omdev/scripts/pyproject.py)) - python project management tool.
15
+ wrangles but does not replace tools like venv, pip, setuptools, and uv. does things like sets up venvs, generates
16
+ [`.pkg`](https://github.com/wrmsr/om/blob/master/.pkg) directories and their `pyproject.toml`'s (from their
17
+ `__about__.py`'s), and packages them. this should grow to eat more and more of the Makefile. as it is amalgamated it
18
+ requires no installation and can just be dropped into other projects / repos.
19
+
20
+ - **[ci](https://github.com/wrmsr/om/blob/master/omdev/ci)**
21
+ ([amalg](https://github.com/wrmsr/om/blob/master/omdev/scripts/ci.py)) - ci runner. given a
22
+ [`compose.yml`](https://github.com/wrmsr/om/blob/master/docker/compose.yml) and requirements.txt files, takes care of
23
+ building and caching of containers and venvs and execution of required ci commands. detects and [natively
24
+ uses](https://github.com/wrmsr/om/blob/master/omdev/ci/github/api/v2) github-action's caching system. unifies ci
25
+ execution between local dev and github runners.
26
+
27
+ - **[tools.json](https://github.com/wrmsr/om/blob/master/omdev/tools/json)** (cli: `om j`) - a tool for json-like data,
28
+ obviously in the vein of [jq](https://github.com/jqlang/jq) but using the internal
29
+ [jmespath](https://github.com/wrmsr/om/blob/master/omcore/specs/jmespath) engine. supports [true
30
+ streaming](https://github.com/wrmsr/om/blob/master/omcore/formats/json/stream) json input and output, as well as
31
+ [various other](https://github.com/wrmsr/om/blob/master/omdev/tools/json/formats.py) non-streaming input formats.
32
+
33
+ - **[tools.git](https://github.com/wrmsr/om/blob/master/omdev/tools/git)** (cli: `om git`) - a tool for various lazy git
34
+ operations, including the one that (poorly) writes all of these commit messages.
35
+
36
+ # Amalgamation
37
+
38
+ Amalgamation is the process of stitching together multiple python source files into a single self-contained python
39
+ script. ['lite'](https://github.com/wrmsr/om/blob/master/omcore#lite-code) code is written in a style conducive to this.
40
+
41
+ # Local storage
42
+
43
+ Some of this code, when asked, will store things on the local filesystem. The only directories used (outside of ones
44
+ explicitly specified as command or function arguments) are managed in
45
+ [home.paths](https://github.com/wrmsr/om/blob/master/omdev/home/paths.py), and are the following:
46
+
47
+ - `$OM_HOME`, default of `~/.om` - persistent things like config and state.
48
+ - `$OM_CACHE`, default of `~/.cache/om` - used for things like the local ci cache and [various
49
+ other](https://github.com/search?q=repo%3Awrmsr%2Fom+%22dcache.%22&type=code) cached data.
@@ -0,0 +1,49 @@
1
+ # Overview
2
+
3
+ Development utilities and support code.
4
+
5
+ # Notable packages
6
+
7
+ - **[cli](https://github.com/wrmsr/om/blob/master/omdev/cli)** - The codebase's all-in-one CLI. This is not installed as
8
+ an entrypoint / command when this package is itself installed - that is separated into the `omdev-cli` installable
9
+ package so as to not pollute users' bin/ directories when depping this lib for its utility code.
10
+
11
+ - **[amalg](https://github.com/wrmsr/om/blob/master/omdev/amalg)** - The [amalgamator](#amalgamation).
12
+
13
+ - **[pyproject](https://github.com/wrmsr/om/blob/master/omdev/pyproject)**
14
+ ([amalg](https://github.com/wrmsr/om/blob/master/omdev/scripts/pyproject.py)) - python project management tool.
15
+ wrangles but does not replace tools like venv, pip, setuptools, and uv. does things like sets up venvs, generates
16
+ [`.pkg`](https://github.com/wrmsr/om/blob/master/.pkg) directories and their `pyproject.toml`'s (from their
17
+ `__about__.py`'s), and packages them. this should grow to eat more and more of the Makefile. as it is amalgamated it
18
+ requires no installation and can just be dropped into other projects / repos.
19
+
20
+ - **[ci](https://github.com/wrmsr/om/blob/master/omdev/ci)**
21
+ ([amalg](https://github.com/wrmsr/om/blob/master/omdev/scripts/ci.py)) - ci runner. given a
22
+ [`compose.yml`](https://github.com/wrmsr/om/blob/master/docker/compose.yml) and requirements.txt files, takes care of
23
+ building and caching of containers and venvs and execution of required ci commands. detects and [natively
24
+ uses](https://github.com/wrmsr/om/blob/master/omdev/ci/github/api/v2) github-action's caching system. unifies ci
25
+ execution between local dev and github runners.
26
+
27
+ - **[tools.json](https://github.com/wrmsr/om/blob/master/omdev/tools/json)** (cli: `om j`) - a tool for json-like data,
28
+ obviously in the vein of [jq](https://github.com/jqlang/jq) but using the internal
29
+ [jmespath](https://github.com/wrmsr/om/blob/master/omcore/specs/jmespath) engine. supports [true
30
+ streaming](https://github.com/wrmsr/om/blob/master/omcore/formats/json/stream) json input and output, as well as
31
+ [various other](https://github.com/wrmsr/om/blob/master/omdev/tools/json/formats.py) non-streaming input formats.
32
+
33
+ - **[tools.git](https://github.com/wrmsr/om/blob/master/omdev/tools/git)** (cli: `om git`) - a tool for various lazy git
34
+ operations, including the one that (poorly) writes all of these commit messages.
35
+
36
+ # Amalgamation
37
+
38
+ Amalgamation is the process of stitching together multiple python source files into a single self-contained python
39
+ script. ['lite'](https://github.com/wrmsr/om/blob/master/omcore#lite-code) code is written in a style conducive to this.
40
+
41
+ # Local storage
42
+
43
+ Some of this code, when asked, will store things on the local filesystem. The only directories used (outside of ones
44
+ explicitly specified as command or function arguments) are managed in
45
+ [home.paths](https://github.com/wrmsr/om/blob/master/omdev/home/paths.py), and are the following:
46
+
47
+ - `$OM_HOME`, default of `~/.om` - persistent things like config and state.
48
+ - `$OM_CACHE`, default of `~/.cache/om` - used for things like the local ci cache and [various
49
+ other](https://github.com/search?q=repo%3Awrmsr%2Fom+%22dcache.%22&type=code) cached data.
@@ -8,12 +8,12 @@ Inputs:
8
8
 
9
9
  ==
10
10
 
11
- run --cache-dir omdev/ci/tests/cache -e CI=1 omdev/ci/tests/project omlish-ci pytest tests
11
+ run --cache-dir omdev/ci/tests/cache -e CI=1 omdev/ci/tests/project om-ci pytest tests
12
12
 
13
- run --cache-dir omdev/ci/tests/cache --cache-served-docker --always-build -e CI=1 omdev/ci/tests/project omlish-ci pytest tests
14
- run --cache-dir omdev/ci/tests/cache --cache-served-docker --always-build --always-pull -e CI=1 omdev/ci/tests/project omlish-ci pytest tests
13
+ run --cache-dir omdev/ci/tests/cache --cache-served-docker --always-build -e CI=1 omdev/ci/tests/project om-ci pytest tests
14
+ run --cache-dir omdev/ci/tests/cache --cache-served-docker --always-build --always-pull -e CI=1 omdev/ci/tests/project om-ci pytest tests
15
15
 
16
- run --cache-dir ~/.cache/omlish/ci . omlish-ci bash
16
+ run --cache-dir ~/.cache/om/ci . om-ci bash
17
17
  """ # noqa
18
18
  import argparse
19
19
  import asyncio
@@ -31,7 +31,7 @@ from .types import CliModule
31
31
  ##
32
32
 
33
33
 
34
- DEFAULT_REINSTALL_URL = 'https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py'
34
+ DEFAULT_REINSTALL_URL = 'https://raw.githubusercontent.com/wrmsr/om/master/omdev/cli/install.py'
35
35
 
36
36
 
37
37
  ##
@@ -2,7 +2,7 @@
2
2
  # ruff: noqa: UP045
3
3
  # @om-lite
4
4
  # @om-script
5
- """curl -LsSf 'https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py' | python3 -"""
5
+ """curl -LsSf 'https://raw.githubusercontent.com/wrmsr/om/master/omdev/cli/install.py' | python3 -"""
6
6
  import abc
7
7
  import argparse
8
8
  import dataclasses as dc
@@ -8,7 +8,7 @@ TODO:
8
8
  - can fast-build new (temp) image w preamble (probably slow and garbagey)
9
9
  - launch / manage compose services
10
10
  - more cache dirs
11
- - --mount=type=bind,src="$(pwd)",dst=/omlish/pwd
11
+ - --mount=type=bind,src="$(pwd)",dst=/om/pwd
12
12
  - build --no-cache / cache bust
13
13
  - build args
14
14
  - `run --pull=never`, `build --pull=false`
@@ -22,7 +22,7 @@ if [ -t 1 ] ; then TTY_ENV_ARGS="-e LINES=$(tput lines) -e COLUMNS=$(tput cols)"
22
22
 
23
23
  ====
24
24
 
25
- tag = f'omlish-dockerdev--{time.time_ns()}--{os.getpid()}'
25
+ tag = f'om-dockerdev--{time.time_ns()}--{os.getpid()}'
26
26
  subprocess.check_call(['docker', 'tag', obi, tag])
27
27
  try:
28
28
  cfg = dc.replace(cfg, base_image=tag) # noqa
@@ -1,6 +1,6 @@
1
1
  base_image = 'ubuntu:24.04'
2
2
 
3
- user = 'omlish'
3
+ user = 'om'
4
4
 
5
5
  dep_sets = [
6
6
  'system',
@@ -44,5 +44,5 @@ pyenv_version_keys = [
44
44
  workdir = '/work'
45
45
 
46
46
  [cache_mounts]
47
- 'pip' = '/omlish/.cache/pip'
48
- 'uv' = '/omlish/.cache/uv'
47
+ 'pip' = '/om/.cache/pip'
48
+ 'uv' = '/om/.cache/uv'
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "8": "3.8.20",
3
3
  "9": "3.9.25",
4
- "10": "3.10.19",
5
- "11": "3.11.14",
6
- "12": "3.12.12",
4
+ "10": "3.10.20",
5
+ "11": "3.11.15",
6
+ "12": "3.12.13",
7
7
  "13": "3.13.14",
8
8
  "13d": "3.13.14d",
9
9
  "13t": "3.13.14t",
@@ -1,4 +1,4 @@
1
- sudo apt install gnupg ca-certificates curl ;
1
+ sudo apt install -y gnupg ca-certificates curl ;
2
2
  curl -s 'https://repos.azul.com/azul-repo.key' | sudo gpg --dearmor -o /usr/share/keyrings/azul.gpg ;
3
3
  echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" | sudo tee /etc/apt/sources.list.d/zulu.list ;
4
4
 
@@ -5,7 +5,7 @@
5
5
  --user=0:0 \
6
6
  --env=EXTERNAL_UID=1000 \
7
7
  --env=EXTERNAL_GID=1000 \
8
- --env=INTERNAL_USER=omlish \
8
+ --env=INTERNAL_USER=om \
9
9
  --rm -it bash
10
10
 
11
11
  ====
@@ -40,7 +40,7 @@ unset INTERNAL_USER
40
40
  unset INTERNAL_UID
41
41
  unset INTERNAL_HOME
42
42
 
43
- exec gosu omlish bash # "$@"
43
+ exec gosu om bash # "$@"
44
44
  """
45
45
  import os.path
46
46
  import platform
@@ -96,7 +96,7 @@ class RunArgs:
96
96
  extra_args: ta.Sequence[str] | None = None
97
97
 
98
98
 
99
- LABEL_PREFIX = 'omlish.dockerdev'
99
+ LABEL_PREFIX = 'om.dockerdev'
100
100
 
101
101
 
102
102
  @dc.dataclass(frozen=True)
@@ -14,8 +14,8 @@ from omcore.os.environ import EnvVar
14
14
  ##
15
15
 
16
16
 
17
- HOME_DIR_ENV_VAR = EnvVar('OMLISH_HOME')
18
- DEFAULT_HOME_DIR = '~/.omlish'
17
+ HOME_DIR_ENV_VAR = EnvVar('OM_HOME')
18
+ DEFAULT_HOME_DIR = '~/.om'
19
19
 
20
20
 
21
21
  def get_home_dir() -> str:
@@ -99,8 +99,8 @@ def get_home_paths() -> HomePaths:
99
99
  ##
100
100
 
101
101
 
102
- CACHE_DIR_ENV_VAR = EnvVar('OMLISH_CACHE')
103
- DEFAULT_CACHE_DIR = '~/.cache/omlish'
102
+ CACHE_DIR_ENV_VAR = EnvVar('OM_CACHE')
103
+ DEFAULT_CACHE_DIR = '~/.cache/om'
104
104
 
105
105
 
106
106
  def get_cache_dir() -> str:
@@ -17,7 +17,7 @@ else:
17
17
  ##
18
18
 
19
19
 
20
- SECRETS_FILE_ENV_VAR = EnvVar('OMLISH_SECRETS')
20
+ SECRETS_FILE_ENV_VAR = EnvVar('OM_SECRETS')
21
21
  DEFAULT_SECRETS_FILE_NAME = 'secrets.yml'
22
22
 
23
23
 
@@ -1,7 +1,7 @@
1
1
  # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  """
3
3
  TODO:
4
- - ~/.cache/omlish/interp/standalone/...
4
+ - ~/.cache/om/interp/standalone/...
5
5
  - remove fallback
6
6
  """
7
7
  # MIT License
@@ -23,7 +23,7 @@ https://github.com/pypa/sampleproject/blob/db5806e0a3204034c51b1c00dde7d5eb3fa25
23
23
 
24
24
  https://pip.pypa.io/en/stable/cli/pip_install/#vcs-support
25
25
  vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir
26
- 'git+https://github.com/wrmsr/omlish@master#subdirectory=.pip/omlish'
26
+ 'git+https://github.com/wrmsr/om@master#subdirectory=.pip/omcore'
27
27
  """ # noqa
28
28
  import abc
29
29
  import dataclasses as dc
@@ -90,6 +90,7 @@ class BasePyprojectPackageGenerator(Abstract):
90
90
 
91
91
  _GIT_IGNORE: ta.Sequence[str] = [
92
92
  '/*.egg-info/',
93
+ '/build',
93
94
  '/dist',
94
95
  ]
95
96
 
@@ -357,6 +358,7 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
357
358
 
358
359
  for k in [
359
360
  'cext',
361
+ 'mypyc',
360
362
  'rs',
361
363
  ]:
362
364
  st.pop(k, None)
@@ -441,6 +443,14 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
441
443
  pkg_suffix='-cext',
442
444
  ))
443
445
 
446
+ # FIXME:
447
+ # if self.build_specs().setuptools.get('mypyc'):
448
+ # out.append(_PyprojectMypycPackageGenerator(
449
+ # self._dir_name,
450
+ # self._pkgs_root,
451
+ # pkg_suffix='-mypyc',
452
+ # ))
453
+
444
454
  if self.build_specs().setuptools.get('rs'):
445
455
  out.append(_PyprojectRsPackageGenerator(
446
456
  self._dir_name,
@@ -485,6 +495,7 @@ class _PyprojectExtensionPackageGenerator(BasePyprojectPackageGenerator, Abstrac
485
495
 
486
496
  for k in [
487
497
  'cext',
498
+ 'mypyc',
488
499
  'rs',
489
500
 
490
501
  'find_packages',
@@ -589,6 +600,98 @@ class _PyprojectCextPackageGenerator(_PyprojectExtensionPackageGenerator):
589
600
  )
590
601
 
591
602
 
603
+ class _PyprojectMypycPackageGenerator(_PyprojectExtensionPackageGenerator):
604
+ @cached_nullary
605
+ def find_mypyc_dirs(self) -> ta.Sequence[str]:
606
+ return sorted(
607
+ dp
608
+ for dp, dns, fns in os.walk(self._dir_name)
609
+ for fn in fns
610
+ if fn == '.om-mypyc-ext'
611
+ )
612
+
613
+ #
614
+
615
+ @cached_nullary
616
+ def file_contents(self) -> _PyprojectExtensionPackageGenerator.FileContents:
617
+ prj = self._build_project_dict()
618
+ st = self._build_setuptools_dict()
619
+
620
+ #
621
+
622
+ prj['dependencies'] = [
623
+ *prj.get('dependencies', []),
624
+ 'librt',
625
+ ]
626
+
627
+ #
628
+
629
+ pyp_dct = {}
630
+
631
+ pyp_dct['build-system'] = {
632
+ 'requires': [
633
+ 'setuptools',
634
+ 'mypy',
635
+ f'{prj["name"]} == {prj["version"]}',
636
+ ],
637
+ 'build-backend': 'setuptools.build_meta',
638
+ }
639
+
640
+ pyp_dct['project'] = prj
641
+ pyp_dct['tool.setuptools'] = st
642
+
643
+ #
644
+
645
+ ext_dirs = sorted(self.find_mypyc_dirs())
646
+
647
+ # pyp_dct['tool.setuptools.packages.find'] = {
648
+ # 'include': [
649
+ # ext_dir.replace(os.sep, '.')
650
+ # for ext_dir in ext_dirs
651
+ # ],
652
+ # }
653
+
654
+ #
655
+
656
+ ext_lines: list = []
657
+
658
+ for ext_dir in ext_dirs: # noqa
659
+ ext_files = [
660
+ fp
661
+ for fn in sorted(os.listdir(ext_dir))
662
+ if os.path.isfile(fp := os.path.join(ext_dir, fn)) and
663
+ fp.endswith('.py')
664
+ ]
665
+ ext_lines.extend([
666
+ '[',
667
+ *[
668
+ f' {fp!r},'
669
+ for fp in ext_files
670
+ ],
671
+ '],',
672
+ ])
673
+
674
+ src = '\n'.join([
675
+ 'import mypyc.build as mcb',
676
+ 'import setuptools as st',
677
+ '',
678
+ '',
679
+ 'st.setup(',
680
+ ' ext_modules=mcb.mypycify(',
681
+ *[' ' + l for l in ext_lines],
682
+ ' ),',
683
+ ')',
684
+ '',
685
+ ])
686
+
687
+ #
688
+
689
+ return self.FileContents(
690
+ pyp_dct,
691
+ src,
692
+ )
693
+
694
+
592
695
  class _PyprojectRsPackageGenerator(_PyprojectExtensionPackageGenerator):
593
696
  @cached_nullary
594
697
  def find_rs_dirs(self) -> ta.Sequence[str]:
@@ -737,6 +840,7 @@ class _PyprojectCliPackageGenerator(BasePyprojectPackageGenerator):
737
840
 
738
841
  for k in [
739
842
  'cext',
843
+ 'mypyc',
740
844
  'rs',
741
845
 
742
846
  'find_packages',
@@ -50,7 +50,7 @@ def _main() -> None:
50
50
  cwd=rs_pkg_dir,
51
51
  env={
52
52
  **os.environ,
53
- 'OMLISH_PYCHARM_RUNHACK_ENABLED': '0',
53
+ 'OM_PYCHARM_RUNHACK_ENABLED': '0',
54
54
  },
55
55
  check=True,
56
56
  )