omdev 0.0.0.dev363__tar.gz → 0.0.0.dev364__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 (317) hide show
  1. {omdev-0.0.0.dev363/omdev.egg-info → omdev-0.0.0.dev364}/PKG-INFO +4 -4
  2. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/__about__.py +1 -1
  3. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/scripts/ci.py +4 -4
  4. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/scripts/interp.py +4 -4
  5. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/scripts/pyproject.py +4 -4
  6. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/docker.py +1 -1
  7. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/cli.py +2 -0
  8. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/processing.py +14 -0
  9. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364/omdev.egg-info}/PKG-INFO +4 -4
  10. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev.egg-info/requires.txt +3 -3
  11. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/pyproject.toml +4 -4
  12. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/LICENSE +0 -0
  13. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/MANIFEST.in +0 -0
  14. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/README.md +0 -0
  15. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/.manifests.json +0 -0
  16. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/__init__.py +0 -0
  17. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/__init__.py +0 -0
  18. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/__main__.py +0 -0
  19. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/gen.py +0 -0
  20. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/imports.py +0 -0
  21. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/main.py +0 -0
  22. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/manifests.py +0 -0
  23. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/resources.py +0 -0
  24. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/srcfiles.py +0 -0
  25. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/strip.py +0 -0
  26. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/types.py +0 -0
  27. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/amalg/typing.py +0 -0
  28. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/__init__.py +0 -0
  29. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/__init__.py +0 -0
  30. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/cache.py +0 -0
  31. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/contexts.py +0 -0
  32. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/currents.py +0 -0
  33. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/fns.py +0 -0
  34. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/resolvers.py +0 -0
  35. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/storage.py +0 -0
  36. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/compute/types.py +0 -0
  37. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/data/__init__.py +0 -0
  38. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/data/actions.py +0 -0
  39. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/data/cache.py +0 -0
  40. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/data/consts.py +0 -0
  41. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/data/defaults.py +0 -0
  42. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/data/manifests.py +0 -0
  43. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cache/data/specs.py +0 -0
  44. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cc/__init__.py +0 -0
  45. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cc/__main__.py +0 -0
  46. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cc/cdeps.py +0 -0
  47. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cc/cdeps.toml +0 -0
  48. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cc/cli.py +0 -0
  49. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cc/srclangs.py +0 -0
  50. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/__init__.py +0 -0
  51. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_boilerplate.cc +0 -0
  52. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/LICENSE +0 -0
  53. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/__init__.py +0 -0
  54. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/build_ext.py +0 -0
  55. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  56. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  57. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/compilers/options.py +0 -0
  58. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  59. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/dir_util.py +0 -0
  60. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/errors.py +0 -0
  61. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/extension.py +0 -0
  62. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/file_util.py +0 -0
  63. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/modified.py +0 -0
  64. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/spawn.py +0 -0
  65. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/sysconfig.py +0 -0
  66. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/util.py +0 -0
  67. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/_distutils/version.py +0 -0
  68. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/build.py +0 -0
  69. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/cmake.py +0 -0
  70. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/importhook.py +0 -0
  71. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/magic.py +0 -0
  72. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cexts/scan.py +0 -0
  73. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/__init__.py +0 -0
  74. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/__main__.py +0 -0
  75. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/cache.py +0 -0
  76. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/ci.py +0 -0
  77. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/cli.py +0 -0
  78. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/compose.py +0 -0
  79. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/consts.py +0 -0
  80. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/__init__.py +0 -0
  81. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/buildcaching.py +0 -0
  82. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/cache.py +0 -0
  83. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  84. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/cacheserved/cache.py +0 -0
  85. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  86. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/cmds.py +0 -0
  87. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/dataserver.py +0 -0
  88. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/imagepulling.py +0 -0
  89. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/inject.py +0 -0
  90. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/packing.py +0 -0
  91. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/repositories.py +0 -0
  92. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/docker/utils.py +0 -0
  93. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/__init__.py +0 -0
  94. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/__init__.py +0 -0
  95. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/clients.py +0 -0
  96. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/v1/__init__.py +0 -0
  97. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/v1/api.py +0 -0
  98. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/v1/client.py +0 -0
  99. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/v2/__init__.py +0 -0
  100. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/v2/api.py +0 -0
  101. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/v2/azure.py +0 -0
  102. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/api/v2/client.py +0 -0
  103. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/bootstrap.py +0 -0
  104. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/cache.py +0 -0
  105. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/cli.py +0 -0
  106. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/env.py +0 -0
  107. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/github/inject.py +0 -0
  108. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/inject.py +0 -0
  109. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/requirements.py +0 -0
  110. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/shell.py +0 -0
  111. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ci/utils.py +0 -0
  112. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/__init__.py +0 -0
  113. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/__main__.py +0 -0
  114. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/_pathhack.py +0 -0
  115. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/clicli.py +0 -0
  116. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/install.py +0 -0
  117. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/main.py +0 -0
  118. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/managers.py +0 -0
  119. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cli/types.py +0 -0
  120. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/clipboard/__init__.py +0 -0
  121. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/clipboard/clipboard.py +0 -0
  122. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/clipboard/darwin_cf.py +0 -0
  123. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/clipboard/linux_x11.py +0 -0
  124. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cmake.py +0 -0
  125. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cmdlog/__init__.py +0 -0
  126. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cmdlog/__main__.py +0 -0
  127. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cmdlog/_cmdlog.py +0 -0
  128. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cmdlog/cli.py +0 -0
  129. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/cmdlog/cmdlog.py +0 -0
  130. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/dataserver/__init__.py +0 -0
  131. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/dataserver/handlers.py +0 -0
  132. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/dataserver/http.py +0 -0
  133. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/dataserver/routes.py +0 -0
  134. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/dataserver/server.py +0 -0
  135. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/dataserver/targets.py +0 -0
  136. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/git/__init__.py +0 -0
  137. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/git/magic.py +0 -0
  138. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/git/revisions.py +0 -0
  139. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/git/shallow.py +0 -0
  140. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/git/status.py +0 -0
  141. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/home/__init__.py +0 -0
  142. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/home/paths.py +0 -0
  143. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/home/secrets.py +0 -0
  144. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/home/shadow.py +0 -0
  145. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/imgur.py +0 -0
  146. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/__init__.py +0 -0
  147. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/__main__.py +0 -0
  148. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/cli.py +0 -0
  149. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/default.py +0 -0
  150. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/inject.py +0 -0
  151. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/inspect.py +0 -0
  152. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/providers/__init__.py +0 -0
  153. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/providers/base.py +0 -0
  154. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/providers/inject.py +0 -0
  155. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/providers/running.py +0 -0
  156. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/providers/standalone.py +0 -0
  157. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/providers/system.py +0 -0
  158. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/pyenv/__init__.py +0 -0
  159. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/pyenv/inject.py +0 -0
  160. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/pyenv/install.py +0 -0
  161. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/pyenv/provider.py +0 -0
  162. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/pyenv/pyenv.py +0 -0
  163. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/resolvers.py +0 -0
  164. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/types.py +0 -0
  165. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/uv/__init__.py +0 -0
  166. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/uv/inject.py +0 -0
  167. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/uv/provider.py +0 -0
  168. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/uv/uv.py +0 -0
  169. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/interp/venvs.py +0 -0
  170. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/magic/__init__.py +0 -0
  171. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/magic/__main__.py +0 -0
  172. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/magic/cli.py +0 -0
  173. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/magic/find.py +0 -0
  174. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/magic/magic.py +0 -0
  175. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/magic/prepare.py +0 -0
  176. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/magic/styles.py +0 -0
  177. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/manifests/__init__.py +0 -0
  178. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/manifests/__main__.py +0 -0
  179. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/manifests/build.py +0 -0
  180. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/manifests/dumping.py +0 -0
  181. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/manifests/main.py +0 -0
  182. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/mypy/__init__.py +0 -0
  183. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/mypy/debug.py +0 -0
  184. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/mypy/report.py +0 -0
  185. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/__init__.py +0 -0
  186. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/building.py +0 -0
  187. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/compression.py +0 -0
  188. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/data.py +0 -0
  189. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/datarefs.py +0 -0
  190. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/dataserver.py +0 -0
  191. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/loading.py +0 -0
  192. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/media.py +0 -0
  193. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/pack/__init__.py +0 -0
  194. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/pack/packing.py +0 -0
  195. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/pack/repositories.py +0 -0
  196. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/pack/unpacking.py +0 -0
  197. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/repositories.py +0 -0
  198. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/oci/tars.py +0 -0
  199. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/__init__.py +0 -0
  200. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/marshal.py +0 -0
  201. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/names.py +0 -0
  202. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/requires.py +0 -0
  203. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/revisions.py +0 -0
  204. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/specifiers.py +0 -0
  205. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/versions.py +0 -0
  206. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/packaging/wheelfile.py +0 -0
  207. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pip.py +0 -0
  208. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/__init__.py +0 -0
  209. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/__main__.py +0 -0
  210. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/base.py +0 -0
  211. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/caches.py +0 -0
  212. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/git.py +0 -0
  213. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/imports.py +0 -0
  214. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/lite.py +0 -0
  215. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/main.py +0 -0
  216. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/manifests.py +0 -0
  217. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/precheck/scripts.py +0 -0
  218. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/__init__.py +0 -0
  219. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/apps/__init__.py +0 -0
  220. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/apps/ncdu.py +0 -0
  221. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/confirm.py +0 -0
  222. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/LICENSE +0 -0
  223. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/__init__.py +0 -0
  224. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/__main__.py +0 -0
  225. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/border.py +0 -0
  226. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/cli.py +0 -0
  227. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/markdown.py +0 -0
  228. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/parser.py +0 -0
  229. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/styles.py +0 -0
  230. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/tags.py +0 -0
  231. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/ptk/markdown/utils.py +0 -0
  232. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/__init__.py +0 -0
  233. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/attrdocs.py +0 -0
  234. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/bracepy.py +0 -0
  235. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/classdot.py +0 -0
  236. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/LICENSE +0 -0
  237. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/__init__.py +0 -0
  238. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/attrdoc.py +0 -0
  239. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/common.py +0 -0
  240. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/epydoc.py +0 -0
  241. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/google.py +0 -0
  242. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/numpydoc.py +0 -0
  243. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/parser.py +0 -0
  244. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/docstrings/rest.py +0 -0
  245. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/findimports.py +0 -0
  246. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/scripts/__init__.py +0 -0
  247. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/scripts/bumpversion.py +0 -0
  248. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/scripts/execstat.py +0 -0
  249. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/scripts/importtrace.py +0 -0
  250. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/srcheaders.py +0 -0
  251. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/tools/__init__.py +0 -0
  252. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/tools/importscan.py +0 -0
  253. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/py/tools/mkrelimp.py +0 -0
  254. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/__init__.py +0 -0
  255. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/__main__.py +0 -0
  256. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/cexts.py +0 -0
  257. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/cli.py +0 -0
  258. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/configs.py +0 -0
  259. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/inject.py +0 -0
  260. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/pkg.py +0 -0
  261. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/reqs.py +0 -0
  262. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/resources/__init__.py +0 -0
  263. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/resources/docker-dev.sh +0 -0
  264. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/resources/python.sh +0 -0
  265. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/pyproject/venvs.py +0 -0
  266. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/scripts/__init__.py +0 -0
  267. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/scripts/slowcat.py +0 -0
  268. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/scripts/tmpexec.py +0 -0
  269. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tagstrings.py +0 -0
  270. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tokens/__init__.py +0 -0
  271. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tokens/all.py +0 -0
  272. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tokens/tokenizert.py +0 -0
  273. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tokens/utils.py +0 -0
  274. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/__init__.py +0 -0
  275. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/antlr/__init__.py +0 -0
  276. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/antlr/__main__.py +0 -0
  277. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/antlr/cli.py +0 -0
  278. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/antlr/consts.py +0 -0
  279. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/antlr/gen.py +0 -0
  280. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/cloc.py +0 -0
  281. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/diff.py +0 -0
  282. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/doc.py +0 -0
  283. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/git/__init__.py +0 -0
  284. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/git/__main__.py +0 -0
  285. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/git/cli.py +0 -0
  286. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/git/consts.py +0 -0
  287. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/git/messages.py +0 -0
  288. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/intellij.py +0 -0
  289. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/__init__.py +0 -0
  290. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/__main__.py +0 -0
  291. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/formats.py +0 -0
  292. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/io.py +0 -0
  293. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/parsing.py +0 -0
  294. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/json/rendering.py +0 -0
  295. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/jsonview/__init__.py +0 -0
  296. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/jsonview/__main__.py +0 -0
  297. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/jsonview/cli.py +0 -0
  298. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/jsonview/resources/__init__.py +0 -0
  299. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/jsonview/resources/jsonview.css +0 -0
  300. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/jsonview/resources/jsonview.js +0 -0
  301. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/linehisto.py +0 -0
  302. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/mkenv.py +0 -0
  303. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/notebook.py +0 -0
  304. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/pawk/__init__.py +0 -0
  305. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/pawk/__main__.py +0 -0
  306. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/pawk/pawk.py +0 -0
  307. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/pip.py +0 -0
  308. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/prof.py +0 -0
  309. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/qr.py +0 -0
  310. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/shadow.py +0 -0
  311. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/shell.py +0 -0
  312. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev/tools/sqlrepl.py +0 -0
  313. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev.egg-info/SOURCES.txt +0 -0
  314. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev.egg-info/dependency_links.txt +0 -0
  315. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev.egg-info/entry_points.txt +0 -0
  316. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/omdev.egg-info/top_level.txt +0 -0
  317. {omdev-0.0.0.dev363 → omdev-0.0.0.dev364}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev363
3
+ Version: 0.0.0.dev364
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.13
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev363
15
+ Requires-Dist: omlish==0.0.0.dev364
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -21,7 +21,7 @@ Requires-Dist: docutils~=0.21; extra == "all"
21
21
  Requires-Dist: markdown-it-py~=3.0; extra == "all"
22
22
  Requires-Dist: mdit-py-plugins~=0.4; extra == "all"
23
23
  Requires-Dist: pygments~=2.19; extra == "all"
24
- Requires-Dist: mypy~=1.16; extra == "all"
24
+ Requires-Dist: mypy~=1.17; extra == "all"
25
25
  Requires-Dist: gprof2dot~=2025.4; extra == "all"
26
26
  Requires-Dist: prompt-toolkit~=3.0; extra == "all"
27
27
  Requires-Dist: segno~=1.6; extra == "all"
@@ -36,7 +36,7 @@ Requires-Dist: markdown-it-py~=3.0; extra == "doc"
36
36
  Requires-Dist: mdit-py-plugins~=0.4; extra == "doc"
37
37
  Requires-Dist: pygments~=2.19; extra == "doc"
38
38
  Provides-Extra: mypy
39
- Requires-Dist: mypy~=1.16; extra == "mypy"
39
+ Requires-Dist: mypy~=1.17; extra == "mypy"
40
40
  Provides-Extra: prof
41
41
  Requires-Dist: gprof2dot~=2025.4; extra == "prof"
42
42
  Provides-Extra: ptk
@@ -31,7 +31,7 @@ class Project(ProjectBase):
31
31
  ],
32
32
 
33
33
  'mypy': [
34
- 'mypy ~= 1.16',
34
+ 'mypy ~= 1.17',
35
35
  ],
36
36
 
37
37
  'prof': [
@@ -962,7 +962,7 @@ class Checks:
962
962
  render_fmt='%s',
963
963
  )
964
964
 
965
- return v # type: ignore
965
+ return v
966
966
 
967
967
  def non_empty_str(self, v: ta.Optional[str], msg: CheckMessage = None) -> str:
968
968
  if not isinstance(v, str) or not v:
@@ -2858,7 +2858,7 @@ class ArgparseCli:
2858
2858
 
2859
2859
  if self._unknown_args and not (cmd is not None and cmd.accepts_unknown):
2860
2860
  msg = f'unrecognized arguments: {" ".join(self._unknown_args)}'
2861
- if (parser := self.get_parser()).exit_on_error: # type: ignore
2861
+ if (parser := self.get_parser()).exit_on_error:
2862
2862
  parser.error(msg)
2863
2863
  else:
2864
2864
  raise argparse.ArgumentError(None, msg)
@@ -5812,7 +5812,7 @@ class SubprocessRun:
5812
5812
  ) -> SubprocessRunOutput:
5813
5813
  if subprocesses is None:
5814
5814
  subprocesses = self._DEFAULT_SUBPROCESSES
5815
- return check.not_none(subprocesses).run_(self.replace(**kwargs)) # type: ignore[attr-defined]
5815
+ return check.not_none(subprocesses).run_(self.replace(**kwargs))
5816
5816
 
5817
5817
  _DEFAULT_ASYNC_SUBPROCESSES: ta.ClassVar[ta.Optional[ta.Any]] = None # AbstractAsyncSubprocesses
5818
5818
 
@@ -5823,7 +5823,7 @@ class SubprocessRun:
5823
5823
  ) -> SubprocessRunOutput:
5824
5824
  if async_subprocesses is None:
5825
5825
  async_subprocesses = self._DEFAULT_ASYNC_SUBPROCESSES
5826
- return await check.not_none(async_subprocesses).run_(self.replace(**kwargs)) # type: ignore[attr-defined]
5826
+ return await check.not_none(async_subprocesses).run_(self.replace(**kwargs))
5827
5827
 
5828
5828
 
5829
5829
  SubprocessRun._FIELD_NAMES = frozenset(fld.name for fld in dc.fields(SubprocessRun)) # noqa
@@ -989,7 +989,7 @@ class Checks:
989
989
  render_fmt='%s',
990
990
  )
991
991
 
992
- return v # type: ignore
992
+ return v
993
993
 
994
994
  def non_empty_str(self, v: ta.Optional[str], msg: CheckMessage = None) -> str:
995
995
  if not isinstance(v, str) or not v:
@@ -2560,7 +2560,7 @@ class ArgparseCli:
2560
2560
 
2561
2561
  if self._unknown_args and not (cmd is not None and cmd.accepts_unknown):
2562
2562
  msg = f'unrecognized arguments: {" ".join(self._unknown_args)}'
2563
- if (parser := self.get_parser()).exit_on_error: # type: ignore
2563
+ if (parser := self.get_parser()).exit_on_error:
2564
2564
  parser.error(msg)
2565
2565
  else:
2566
2566
  raise argparse.ArgumentError(None, msg)
@@ -3873,7 +3873,7 @@ class SubprocessRun:
3873
3873
  ) -> SubprocessRunOutput:
3874
3874
  if subprocesses is None:
3875
3875
  subprocesses = self._DEFAULT_SUBPROCESSES
3876
- return check.not_none(subprocesses).run_(self.replace(**kwargs)) # type: ignore[attr-defined]
3876
+ return check.not_none(subprocesses).run_(self.replace(**kwargs))
3877
3877
 
3878
3878
  _DEFAULT_ASYNC_SUBPROCESSES: ta.ClassVar[ta.Optional[ta.Any]] = None # AbstractAsyncSubprocesses
3879
3879
 
@@ -3884,7 +3884,7 @@ class SubprocessRun:
3884
3884
  ) -> SubprocessRunOutput:
3885
3885
  if async_subprocesses is None:
3886
3886
  async_subprocesses = self._DEFAULT_ASYNC_SUBPROCESSES
3887
- return await check.not_none(async_subprocesses).run_(self.replace(**kwargs)) # type: ignore[attr-defined]
3887
+ return await check.not_none(async_subprocesses).run_(self.replace(**kwargs))
3888
3888
 
3889
3889
 
3890
3890
  SubprocessRun._FIELD_NAMES = frozenset(fld.name for fld in dc.fields(SubprocessRun)) # noqa
@@ -2412,7 +2412,7 @@ class Checks:
2412
2412
  render_fmt='%s',
2413
2413
  )
2414
2414
 
2415
- return v # type: ignore
2415
+ return v
2416
2416
 
2417
2417
  def non_empty_str(self, v: ta.Optional[str], msg: CheckMessage = None) -> str:
2418
2418
  if not isinstance(v, str) or not v:
@@ -4352,7 +4352,7 @@ class ArgparseCli:
4352
4352
 
4353
4353
  if self._unknown_args and not (cmd is not None and cmd.accepts_unknown):
4354
4354
  msg = f'unrecognized arguments: {" ".join(self._unknown_args)}'
4355
- if (parser := self.get_parser()).exit_on_error: # type: ignore
4355
+ if (parser := self.get_parser()).exit_on_error:
4356
4356
  parser.error(msg)
4357
4357
  else:
4358
4358
  raise argparse.ArgumentError(None, msg)
@@ -6263,7 +6263,7 @@ class SubprocessRun:
6263
6263
  ) -> SubprocessRunOutput:
6264
6264
  if subprocesses is None:
6265
6265
  subprocesses = self._DEFAULT_SUBPROCESSES
6266
- return check.not_none(subprocesses).run_(self.replace(**kwargs)) # type: ignore[attr-defined]
6266
+ return check.not_none(subprocesses).run_(self.replace(**kwargs))
6267
6267
 
6268
6268
  _DEFAULT_ASYNC_SUBPROCESSES: ta.ClassVar[ta.Optional[ta.Any]] = None # AbstractAsyncSubprocesses
6269
6269
 
@@ -6274,7 +6274,7 @@ class SubprocessRun:
6274
6274
  ) -> SubprocessRunOutput:
6275
6275
  if async_subprocesses is None:
6276
6276
  async_subprocesses = self._DEFAULT_ASYNC_SUBPROCESSES
6277
- return await check.not_none(async_subprocesses).run_(self.replace(**kwargs)) # type: ignore[attr-defined]
6277
+ return await check.not_none(async_subprocesses).run_(self.replace(**kwargs))
6278
6278
 
6279
6279
 
6280
6280
  SubprocessRun._FIELD_NAMES = frozenset(fld.name for fld in dc.fields(SubprocessRun)) # noqa
@@ -115,7 +115,7 @@ class Cli(ap.Cli):
115
115
  dct: dict[str, list[PortEntry]] = {}
116
116
 
117
117
  with lang.disposing(yaml.WrappedLoaders.base(yml_src)) as loader:
118
- val = check.not_none(loader.get_single_data()) # type: ignore
118
+ val = check.not_none(loader.get_single_data())
119
119
  root = check.isinstance(val.value, ta.Mapping)
120
120
 
121
121
  services = check.isinstance(
@@ -88,6 +88,7 @@ def _build_args_parser() -> argparse.ArgumentParser:
88
88
  parser.add_argument('-x', '--jmespath-expr')
89
89
  parser.add_argument('-M', '--marshal', action='store_true')
90
90
  parser.add_argument('-F', '--flat', action='store_true')
91
+ parser.add_argument('-e', '--prune-empty', action='store_true')
91
92
  parser.add_argument('-E', '--omit-empty', action='store_true')
92
93
 
93
94
  parser.add_argument('-z', '--compact', action='store_true')
@@ -136,6 +137,7 @@ def _process_args(args: ta.Any) -> RunConfiguration:
136
137
  jmespath_expr=args.jmespath_expr,
137
138
  marshal=args.marshal,
138
139
  flat=args.flat,
140
+ prune_empty=args.prune_empty,
139
141
  omit_empty=args.omit_empty,
140
142
  )
141
143
 
@@ -20,9 +20,20 @@ class ProcessingOptions:
20
20
  jmespath_expr: ta.Any | None = None
21
21
  marshal: bool = False
22
22
  flat: bool = False
23
+ prune_empty: bool = False
23
24
  omit_empty: bool = False
24
25
 
25
26
 
27
+ def _prune_empty(v: ta.Any) -> ta.Any:
28
+ # if isinstance(v, ta.Mapping):
29
+ # v = type(v)([
30
+ # (_prune_empty(k), _prune_empty(v))
31
+ # for k, v in v.items()
32
+ # ])
33
+ # elif
34
+ raise NotImplementedError
35
+
36
+
26
37
  class Processor:
27
38
  def __init__(self, opts: ProcessingOptions) -> None:
28
39
  super().__init__()
@@ -68,6 +79,9 @@ class Processor:
68
79
  vs = [v]
69
80
 
70
81
  for v in vs:
82
+ if self._opts.prune_empty:
83
+ v = _prune_empty(v)
84
+
71
85
  if self._opts.omit_empty:
72
86
  if v is None or (isinstance(v, (ta.Sequence, ta.Mapping)) and not v):
73
87
  continue
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev363
3
+ Version: 0.0.0.dev364
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.13
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev363
15
+ Requires-Dist: omlish==0.0.0.dev364
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -21,7 +21,7 @@ Requires-Dist: docutils~=0.21; extra == "all"
21
21
  Requires-Dist: markdown-it-py~=3.0; extra == "all"
22
22
  Requires-Dist: mdit-py-plugins~=0.4; extra == "all"
23
23
  Requires-Dist: pygments~=2.19; extra == "all"
24
- Requires-Dist: mypy~=1.16; extra == "all"
24
+ Requires-Dist: mypy~=1.17; extra == "all"
25
25
  Requires-Dist: gprof2dot~=2025.4; extra == "all"
26
26
  Requires-Dist: prompt-toolkit~=3.0; extra == "all"
27
27
  Requires-Dist: segno~=1.6; extra == "all"
@@ -36,7 +36,7 @@ Requires-Dist: markdown-it-py~=3.0; extra == "doc"
36
36
  Requires-Dist: mdit-py-plugins~=0.4; extra == "doc"
37
37
  Requires-Dist: pygments~=2.19; extra == "doc"
38
38
  Provides-Extra: mypy
39
- Requires-Dist: mypy~=1.16; extra == "mypy"
39
+ Requires-Dist: mypy~=1.17; extra == "mypy"
40
40
  Provides-Extra: prof
41
41
  Requires-Dist: gprof2dot~=2025.4; extra == "prof"
42
42
  Provides-Extra: ptk
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev363
1
+ omlish==0.0.0.dev364
2
2
 
3
3
  [all]
4
4
  black~=25.1
@@ -8,7 +8,7 @@ docutils~=0.21
8
8
  markdown-it-py~=3.0
9
9
  mdit-py-plugins~=0.4
10
10
  pygments~=2.19
11
- mypy~=1.16
11
+ mypy~=1.17
12
12
  gprof2dot~=2025.4
13
13
  prompt-toolkit~=3.0
14
14
  segno~=1.6
@@ -27,7 +27,7 @@ mdit-py-plugins~=0.4
27
27
  pygments~=2.19
28
28
 
29
29
  [mypy]
30
- mypy~=1.16
30
+ mypy~=1.17
31
31
 
32
32
  [prof]
33
33
  gprof2dot~=2025.4
@@ -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.13'
15
- version = '0.0.0.dev363'
15
+ version = '0.0.0.dev364'
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.dev363',
25
+ 'omlish == 0.0.0.dev364',
26
26
  ]
27
27
 
28
28
  [project.optional-dependencies]
@@ -34,7 +34,7 @@ all = [
34
34
  'markdown-it-py ~= 3.0',
35
35
  'mdit-py-plugins ~= 0.4',
36
36
  'pygments ~= 2.19',
37
- 'mypy ~= 1.16',
37
+ 'mypy ~= 1.17',
38
38
  'gprof2dot ~= 2025.4',
39
39
  'prompt-toolkit ~= 3.0',
40
40
  'segno ~= 1.6',
@@ -53,7 +53,7 @@ doc = [
53
53
  'pygments ~= 2.19',
54
54
  ]
55
55
  mypy = [
56
- 'mypy ~= 1.16',
56
+ 'mypy ~= 1.17',
57
57
  ]
58
58
  prof = [
59
59
  'gprof2dot ~= 2025.4',
File without changes
File without changes
File without changes