omdev 0.0.14__tar.gz → 0.0.16__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 (490) hide show
  1. {omdev-0.0.14/omdev.egg-info → omdev-0.0.16}/PKG-INFO +6 -6
  2. {omdev-0.0.14 → omdev-0.0.16}/omdev/.omlish-manifests.json +4 -4
  3. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/ccompiler.py +32 -3
  4. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/options.py +2 -0
  5. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/unixccompiler.py +5 -0
  6. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/dir_util.py +2 -1
  7. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/file_util.py +3 -0
  8. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/modified.py +1 -0
  9. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/spawn.py +2 -0
  10. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/sysconfig.py +14 -1
  11. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/util.py +4 -0
  12. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/version.py +1 -0
  13. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/cmake.py +0 -1
  14. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/api.py +0 -1
  15. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/clicli.py +1 -0
  16. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/install.py +1 -3
  17. {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/types.py +1 -3
  18. omdev-0.0.16/omdev/dockerdev/build.py +81 -0
  19. omdev-0.0.16/omdev/dockerdev/cli.py +149 -0
  20. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/gen.py +1 -1
  21. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/rendering.py +15 -15
  22. omdev-0.0.16/omdev/dockerdev/resources/shift-uid.sh +35 -0
  23. omdev-0.0.16/omdev/dockerdev/run.py +241 -0
  24. omdev-0.0.16/omdev/dockerdev/utils.py +29 -0
  25. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/media.py +3 -1
  26. omdev-0.0.16/omdev/py/__init__.py +1 -0
  27. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/bracepy.py +1 -3
  28. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/tokenizert.py +1 -0
  29. omdev-0.0.16/omdev/py/tools/fixdocstrings.py +567 -0
  30. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/ci.py +7 -8
  31. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/formats/goyaml.py +2 -4
  32. omdev-0.0.16/omdev/scripts/pidfiles.py +4731 -0
  33. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/rendering.py +2 -2
  34. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/pawk.py +2 -1
  35. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/__init__.py +1 -3
  36. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/trirule.py +45 -11
  37. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/devtools.py +1 -3
  38. {omdev-0.0.14 → omdev-0.0.16/omdev.egg-info}/PKG-INFO +6 -6
  39. {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/SOURCES.txt +6 -0
  40. {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/requires.txt +5 -5
  41. {omdev-0.0.14 → omdev-0.0.16}/pyproject.toml +7 -6
  42. omdev-0.0.14/omdev/dockerdev/cli.py +0 -303
  43. omdev-0.0.14/omdev/py/__init__.py +0 -3
  44. {omdev-0.0.14 → omdev-0.0.16}/LICENSE +0 -0
  45. {omdev-0.0.14 → omdev-0.0.16}/MANIFEST.in +0 -0
  46. {omdev-0.0.14 → omdev-0.0.16}/README.md +0 -0
  47. {omdev-0.0.14 → omdev-0.0.16}/omdev/README.md +0 -0
  48. {omdev-0.0.14 → omdev-0.0.16}/omdev/__about__.py +0 -0
  49. {omdev-0.0.14 → omdev-0.0.16}/omdev/__init__.py +0 -0
  50. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/__init__.py +0 -0
  51. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/__main__.py +0 -0
  52. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/cli/__init__.py +0 -0
  53. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/cli/main.py +0 -0
  54. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/__init__.py +0 -0
  55. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/gen.py +0 -0
  56. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/imports.py +0 -0
  57. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/manifests.py +0 -0
  58. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/resources.py +0 -0
  59. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/srcfiles.py +0 -0
  60. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/strip.py +0 -0
  61. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/types.py +0 -0
  62. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/typing.py +0 -0
  63. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/info.py +0 -0
  64. {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/sources.py +0 -0
  65. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/__init__.py +0 -0
  66. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/__init__.py +0 -0
  67. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/cache.py +0 -0
  68. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/contexts.py +0 -0
  69. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/currents.py +0 -0
  70. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/fns.py +0 -0
  71. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/resolvers.py +0 -0
  72. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/storage.py +0 -0
  73. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/types.py +0 -0
  74. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/__init__.py +0 -0
  75. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/actions.py +0 -0
  76. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/cache.py +0 -0
  77. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/consts.py +0 -0
  78. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/defaults.py +0 -0
  79. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/manifests.py +0 -0
  80. {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/specs.py +0 -0
  81. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/__init__.py +0 -0
  82. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/__init__.py +0 -0
  83. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/aps.py +0 -0
  84. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/ax.py +0 -0
  85. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/cf.py +0 -0
  86. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/cg.py +0 -0
  87. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/linux/__init__.py +0 -0
  88. {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/linux/x11.py +0 -0
  89. {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/__init__.py +0 -0
  90. {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/__main__.py +0 -0
  91. {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/cdeps.py +0 -0
  92. {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/cdeps.toml +0 -0
  93. {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/cli.py +0 -0
  94. {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/srclangs.py +0 -0
  95. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/__init__.py +0 -0
  96. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_boilerplate.cc +0 -0
  97. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/LICENSE +0 -0
  98. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/__init__.py +0 -0
  99. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/build_ext.py +0 -0
  100. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  101. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/errors.py +0 -0
  102. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/extension.py +0 -0
  103. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/build.py +0 -0
  104. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/importhook.py +0 -0
  105. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/magic.py +0 -0
  106. {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/scan.py +0 -0
  107. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/__init__.py +0 -0
  108. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/__main__.py +0 -0
  109. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/cache.py +0 -0
  110. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/ci.py +0 -0
  111. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/cli.py +0 -0
  112. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/compose.py +0 -0
  113. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/consts.py +0 -0
  114. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/__init__.py +0 -0
  115. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/buildcaching.py +0 -0
  116. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cache.py +0 -0
  117. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  118. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cacheserved/cache.py +0 -0
  119. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  120. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cmds.py +0 -0
  121. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/dataserver.py +0 -0
  122. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/imagepulling.py +0 -0
  123. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/inject.py +0 -0
  124. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/packing.py +0 -0
  125. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/repositories.py +0 -0
  126. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/utils.py +0 -0
  127. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/__init__.py +0 -0
  128. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/__init__.py +0 -0
  129. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/clients.py +0 -0
  130. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v1/__init__.py +0 -0
  131. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v1/api.py +0 -0
  132. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v1/client.py +0 -0
  133. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/__init__.py +0 -0
  134. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/azure.py +0 -0
  135. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/client.py +0 -0
  136. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/bootstrap.py +0 -0
  137. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/cache.py +0 -0
  138. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/cli.py +0 -0
  139. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/env.py +0 -0
  140. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/inject.py +0 -0
  141. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/inject.py +0 -0
  142. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/requirements.py +0 -0
  143. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/shell.py +0 -0
  144. {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/utils.py +0 -0
  145. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/__init__.py +0 -0
  146. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/__main__.py +0 -0
  147. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/_pathhack.py +0 -0
  148. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/main.py +0 -0
  149. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/managers.py +0 -0
  150. {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/types.py +0 -0
  151. {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/__init__.py +0 -0
  152. {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/capi/__init__.py +0 -0
  153. {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/capi/darwin_cf.py +0 -0
  154. {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/capi/linux_x11.py +0 -0
  155. {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/commands.py +0 -0
  156. {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/platform.py +0 -0
  157. {omdev-0.0.14 → omdev-0.0.16}/omdev/cmake.py +0 -0
  158. {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/__init__.py +0 -0
  159. {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/__main__.py +0 -0
  160. {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/_cmdlog.py +0 -0
  161. {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/cli.py +0 -0
  162. {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/cmdlog.py +0 -0
  163. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/__init__.py +0 -0
  164. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/__main__.py +0 -0
  165. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/_dumping.py +0 -0
  166. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/_template.py +0 -0
  167. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/cli.py +0 -0
  168. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/codegen.py +0 -0
  169. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/dumping.py +0 -0
  170. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/__init__.py +0 -0
  171. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/handlers.py +0 -0
  172. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/http.py +0 -0
  173. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/routes.py +0 -0
  174. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/server.py +0 -0
  175. {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/targets.py +0 -0
  176. {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/__init__.py +0 -0
  177. {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/__main__.py +0 -0
  178. {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/cli.py +0 -0
  179. {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/parsing.py +0 -0
  180. {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/rendering.py +0 -0
  181. {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/types.py +0 -0
  182. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/__init__.py +0 -0
  183. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/__main__.py +0 -0
  184. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/config.py +0 -0
  185. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/config.toml +0 -0
  186. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/content.py +0 -0
  187. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/helpers.py +0 -0
  188. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/ops.py +0 -0
  189. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/.python-versions.json +0 -0
  190. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
  191. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.sqliterc +0 -0
  192. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
  193. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.vimrc +0 -0
  194. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/depsets/python.toml +0 -0
  195. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/depsets/system.toml +0 -0
  196. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
  197. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
  198. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/chgrp.sh +0 -0
  199. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
  200. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
  201. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/go.sh +0 -0
  202. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
  203. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/man.sh +0 -0
  204. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
  205. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
  206. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/rbenv.sh +0 -0
  207. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
  208. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
  209. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/user.sh +0 -0
  210. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
  211. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
  212. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/workdir.sh +0 -0
  213. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
  214. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/scripts/install-claude +0 -0
  215. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/scripts/install-codex +0 -0
  216. {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/scripts/run-dbus +0 -0
  217. {omdev-0.0.14 → omdev-0.0.16}/omdev/git/__init__.py +0 -0
  218. {omdev-0.0.14 → omdev-0.0.16}/omdev/git/magic.py +0 -0
  219. {omdev-0.0.14 → omdev-0.0.16}/omdev/git/revisions.py +0 -0
  220. {omdev-0.0.14 → omdev-0.0.16}/omdev/git/shallow.py +0 -0
  221. {omdev-0.0.14 → omdev-0.0.16}/omdev/git/status.py +0 -0
  222. {omdev-0.0.14 → omdev-0.0.16}/omdev/home/__init__.py +0 -0
  223. {omdev-0.0.14 → omdev-0.0.16}/omdev/home/paths.py +0 -0
  224. {omdev-0.0.14 → omdev-0.0.16}/omdev/home/secrets.py +0 -0
  225. {omdev-0.0.14 → omdev-0.0.16}/omdev/home/shadow.py +0 -0
  226. {omdev-0.0.14 → omdev-0.0.16}/omdev/imgur.py +0 -0
  227. {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/__init__.py +0 -0
  228. {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/cli.py +0 -0
  229. {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/ides.py +0 -0
  230. {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/open.py +0 -0
  231. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/__init__.py +0 -0
  232. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/__main__.py +0 -0
  233. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/cli.py +0 -0
  234. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/default.py +0 -0
  235. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/inject.py +0 -0
  236. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/inspect.py +0 -0
  237. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/__init__.py +0 -0
  238. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/base.py +0 -0
  239. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/inject.py +0 -0
  240. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/running.py +0 -0
  241. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/standalone.py +0 -0
  242. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/system.py +0 -0
  243. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/__init__.py +0 -0
  244. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/inject.py +0 -0
  245. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/install.py +0 -0
  246. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/provider.py +0 -0
  247. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/pyenv.py +0 -0
  248. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/resolvers.py +0 -0
  249. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/types.py +0 -0
  250. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/__init__.py +0 -0
  251. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/inject.py +0 -0
  252. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/provider.py +0 -0
  253. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/uv.py +0 -0
  254. {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/venvs.py +0 -0
  255. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/__init__.py +0 -0
  256. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/__init__.py +0 -0
  257. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/base.py +0 -0
  258. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/formats.py +0 -0
  259. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/messages.py +0 -0
  260. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/parsing.py +0 -0
  261. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/__init__.py +0 -0
  262. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/formats.py +0 -0
  263. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/numerics.py +0 -0
  264. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/types.py +0 -0
  265. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/LICENSE +0 -0
  266. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/__init__.py +0 -0
  267. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/consts.py +0 -0
  268. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/errors.py +0 -0
  269. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/message.py +0 -0
  270. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/nuh.py +0 -0
  271. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/parsing.py +0 -0
  272. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/rendering.py +0 -0
  273. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/tags.py +0 -0
  274. {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/utils.py +0 -0
  275. {omdev-0.0.14 → omdev-0.0.16}/omdev/java/__init__.py +0 -0
  276. {omdev-0.0.14 → omdev-0.0.16}/omdev/java/__main__.py +0 -0
  277. {omdev-0.0.14 → omdev-0.0.16}/omdev/java/cli.py +0 -0
  278. {omdev-0.0.14 → omdev-0.0.16}/omdev/java/pomgen.py +0 -0
  279. {omdev-0.0.14 → omdev-0.0.16}/omdev/java/utils.py +0 -0
  280. {omdev-0.0.14 → omdev-0.0.16}/omdev/java/xml.py +0 -0
  281. {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/__init__.py +0 -0
  282. {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/__main__.py +0 -0
  283. {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/cli.py +0 -0
  284. {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/find.py +0 -0
  285. {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/magic.py +0 -0
  286. {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/prepare.py +0 -0
  287. {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/styles.py +0 -0
  288. {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/__init__.py +0 -0
  289. {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/__main__.py +0 -0
  290. {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/_dumping.py +0 -0
  291. {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/building.py +0 -0
  292. {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/dumping.py +0 -0
  293. {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/main.py +0 -0
  294. {omdev-0.0.14 → omdev-0.0.16}/omdev/markdown/__init__.py +0 -0
  295. {omdev-0.0.14 → omdev-0.0.16}/omdev/markdown/incparse.py +0 -0
  296. {omdev-0.0.14 → omdev-0.0.16}/omdev/markdown/tokens.py +0 -0
  297. {omdev-0.0.14 → omdev-0.0.16}/omdev/mypy/__init__.py +0 -0
  298. {omdev-0.0.14 → omdev-0.0.16}/omdev/mypy/debug.py +0 -0
  299. {omdev-0.0.14 → omdev-0.0.16}/omdev/mypy/report.py +0 -0
  300. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/__init__.py +0 -0
  301. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/building.py +0 -0
  302. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/compression.py +0 -0
  303. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/data.py +0 -0
  304. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/datarefs.py +0 -0
  305. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/dataserver.py +0 -0
  306. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/loading.py +0 -0
  307. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/__init__.py +0 -0
  308. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/packing.py +0 -0
  309. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/repositories.py +0 -0
  310. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/unpacking.py +0 -0
  311. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/repositories.py +0 -0
  312. {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/tars.py +0 -0
  313. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/__init__.py +0 -0
  314. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/marshal.py +0 -0
  315. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/names.py +0 -0
  316. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/requires.py +0 -0
  317. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/revisions.py +0 -0
  318. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/specifiers.py +0 -0
  319. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/versions.py +0 -0
  320. {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/wheelfile.py +0 -0
  321. {omdev-0.0.14 → omdev-0.0.16}/omdev/pip.py +0 -0
  322. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/__init__.py +0 -0
  323. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/__main__.py +0 -0
  324. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/base.py +0 -0
  325. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/blanklines.py +0 -0
  326. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/caches.py +0 -0
  327. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/git.py +0 -0
  328. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/imports.py +0 -0
  329. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/lite.py +0 -0
  330. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/main.py +0 -0
  331. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/manifests.py +0 -0
  332. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/scripts.py +0 -0
  333. {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/unicode.py +0 -0
  334. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/__init__.py +0 -0
  335. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/parents.py +0 -0
  336. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/toplevel.py +0 -0
  337. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/visitors.py +0 -0
  338. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/attrdocs.py +0 -0
  339. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/classdot.py +0 -0
  340. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/LICENSE +0 -0
  341. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/__init__.py +0 -0
  342. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/attrdoc.py +0 -0
  343. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/common.py +0 -0
  344. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/epydoc.py +0 -0
  345. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/google.py +0 -0
  346. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/numpydoc.py +0 -0
  347. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/parser.py +0 -0
  348. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/rest.py +0 -0
  349. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/findimports.py +0 -0
  350. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/reprs.py +0 -0
  351. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/__init__.py +0 -0
  352. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/bumpversion.py +0 -0
  353. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/execstat.py +0 -0
  354. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/importtrace.py +0 -0
  355. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/srcheaders.py +0 -0
  356. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/__init__.py +0 -0
  357. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/all.py +0 -0
  358. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/utils.py +0 -0
  359. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/__init__.py +0 -0
  360. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/importscan.py +0 -0
  361. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/mkrelimp.py +0 -0
  362. {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/pipdepup.py +0 -0
  363. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/__init__.py +0 -0
  364. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/__main__.py +0 -0
  365. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/cli.py +0 -0
  366. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/configs.py +0 -0
  367. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/inject.py +0 -0
  368. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/pkg.py +0 -0
  369. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/reqs.py +0 -0
  370. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/resources/dockerdev.sh +0 -0
  371. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/resources/python.sh +0 -0
  372. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/__init__.py +0 -0
  373. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/aboutdeps.py +0 -0
  374. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/buildrs.py +0 -0
  375. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/pyversions.py +0 -0
  376. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/venvs.py +0 -0
  377. {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/versions.py +0 -0
  378. {omdev-0.0.14 → omdev-0.0.16}/omdev/rs/__init__.py +0 -0
  379. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/__init__.py +0 -0
  380. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/interp.py +0 -0
  381. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/__init__.py +0 -0
  382. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/formats/__init__.py +0 -0
  383. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/inject.py +0 -0
  384. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/io/__init__.py +0 -0
  385. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/io/pipelines.py +0 -0
  386. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/io/streams.py +0 -0
  387. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/logs.py +0 -0
  388. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/marshal.py +0 -0
  389. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/pyproject.py +0 -0
  390. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/slowcat.py +0 -0
  391. {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/tmpexec.py +0 -0
  392. {omdev-0.0.14 → omdev-0.0.16}/omdev/supervisor/__init__.py +0 -0
  393. {omdev-0.0.14 → omdev-0.0.16}/omdev/supervisor/__main__.py +0 -0
  394. {omdev-0.0.14 → omdev-0.0.16}/omdev/supervisor/cli.py +0 -0
  395. {omdev-0.0.14 → omdev-0.0.16}/omdev/tagstrings.py +0 -0
  396. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/__init__.py +0 -0
  397. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/cloc.py +0 -0
  398. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/diff.py +0 -0
  399. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/doc.py +0 -0
  400. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/docker.py +0 -0
  401. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/__init__.py +0 -0
  402. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/__main__.py +0 -0
  403. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/cli.py +0 -0
  404. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/cloning.py +0 -0
  405. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/consts.py +0 -0
  406. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/messages.py +0 -0
  407. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/__init__.py +0 -0
  408. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/__main__.py +0 -0
  409. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/cli.py +0 -0
  410. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/formats.py +0 -0
  411. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/io.py +0 -0
  412. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/parsing.py +0 -0
  413. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/processing.py +0 -0
  414. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/__init__.py +0 -0
  415. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/__main__.py +0 -0
  416. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/cli.py +0 -0
  417. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/resources/jsonview.css +0 -0
  418. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
  419. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/resources/jsonview.js +0 -0
  420. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/linehisto.py +0 -0
  421. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/mkenv.py +0 -0
  422. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/notebook.py +0 -0
  423. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/README.md +0 -0
  424. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/__init__.py +0 -0
  425. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/__main__.py +0 -0
  426. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pip.py +0 -0
  427. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/prof.py +0 -0
  428. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/qr.py +0 -0
  429. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/shadow.py +0 -0
  430. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/shell.py +0 -0
  431. {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/sqlrepl.py +0 -0
  432. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/__init__.py +0 -0
  433. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/__init__.py +0 -0
  434. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/edit/__init__.py +0 -0
  435. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/edit/main.py +0 -0
  436. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/__init__.py +0 -0
  437. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/__main__.py +0 -0
  438. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/app.py +0 -0
  439. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/client.py +0 -0
  440. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/commands.py +0 -0
  441. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/main.py +0 -0
  442. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/LICENSE +0 -0
  443. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/__init__.py +0 -0
  444. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/__main__.py +0 -0
  445. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/app.py +0 -0
  446. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/cli.py +0 -0
  447. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/styles/layout.tcss +0 -0
  448. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/utils.py +0 -0
  449. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/widgets.py +0 -0
  450. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/markdown/__init__.py +0 -0
  451. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/markdown/__main__.py +0 -0
  452. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/markdown/cli.py +0 -0
  453. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/__init__.py +0 -0
  454. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/console2.py +0 -0
  455. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/LICENSE +0 -0
  456. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/__main__.py +0 -0
  457. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/_compat.py +0 -0
  458. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/cli.py +0 -0
  459. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/renderables.py +0 -0
  460. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/rendering.py +0 -0
  461. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/underlinebar.py +0 -0
  462. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/markdown2.py +0 -0
  463. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/__init__.py +0 -0
  464. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/dark.py +0 -0
  465. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/dump.py +0 -0
  466. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/themes.py +0 -0
  467. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/__init__.py +0 -0
  468. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/actionmenu.py +0 -0
  469. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/app2.py +0 -0
  470. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/LICENSE +0 -0
  471. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/__init__.py +0 -0
  472. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/matching.py +0 -0
  473. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/paths.py +0 -0
  474. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/widget.py +0 -0
  475. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/binding2.py +0 -0
  476. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/clipboard.py +0 -0
  477. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/debug/__init__.py +0 -0
  478. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/debug/dominfo.py +0 -0
  479. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/debug/screen.py +0 -0
  480. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/dom2.py +0 -0
  481. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/drivers2.py +0 -0
  482. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/logging2.py +0 -0
  483. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/render2.py +0 -0
  484. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/screen2.py +0 -0
  485. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/types.py +0 -0
  486. {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/widgets2.py +0 -0
  487. {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/dependency_links.txt +0 -0
  488. {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/entry_points.txt +0 -0
  489. {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/top_level.txt +0 -0
  490. {omdev-0.0.14 → omdev-0.0.16}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.14
3
+ Version: 0.0.16
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,10 +14,10 @@ Classifier: Programming Language :: Python :: 3.14
14
14
  Requires-Python: >=3.14
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.14
17
+ Requires-Dist: omlish==0.0.16
18
18
  Provides-Extra: all
19
- Requires-Dist: ominfra==0.0.14; extra == "all"
20
- Requires-Dist: ommlds==0.0.14; extra == "all"
19
+ Requires-Dist: ominfra==0.0.16; extra == "all"
20
+ Requires-Dist: ommlds==0.0.16; extra == "all"
21
21
  Requires-Dist: black~=26.3; extra == "all"
22
22
  Requires-Dist: pycparser~=3.0; extra == "all"
23
23
  Requires-Dist: pcpp~=1.30; extra == "all"
@@ -33,9 +33,9 @@ Requires-Dist: textual~=8.2; extra == "all"
33
33
  Requires-Dist: textual-dev~=1.8; extra == "all"
34
34
  Requires-Dist: textual-speedups~=0.2; extra == "all"
35
35
  Provides-Extra: ominfra
36
- Requires-Dist: ominfra==0.0.14; extra == "ominfra"
36
+ Requires-Dist: ominfra==0.0.16; extra == "ominfra"
37
37
  Provides-Extra: ommlds
38
- Requires-Dist: ommlds==0.0.14; extra == "ommlds"
38
+ Requires-Dist: ommlds==0.0.16; extra == "ommlds"
39
39
  Provides-Extra: black
40
40
  Requires-Dist: black~=26.3; extra == "black"
41
41
  Provides-Extra: c
@@ -27,7 +27,7 @@
27
27
  "module": ".cexts.cmake",
28
28
  "attr": "_CLI_MODULE",
29
29
  "file": "omdev/cexts/cmake.py",
30
- "line": 375,
30
+ "line": 374,
31
31
  "value": {
32
32
  "!.cli.types.CliModule": {
33
33
  "name": "cmake",
@@ -39,7 +39,7 @@
39
39
  "module": ".cli.clicli",
40
40
  "attr": "_CLI_MODULE",
41
41
  "file": "omdev/cli/clicli.py",
42
- "line": 322,
42
+ "line": 323,
43
43
  "value": {
44
44
  "!.cli.types.CliModule": {
45
45
  "name": "cli",
@@ -209,7 +209,7 @@
209
209
  "module": ".py.bracepy",
210
210
  "attr": "_CLI_MODULE",
211
211
  "file": "omdev/py/bracepy.py",
212
- "line": 94,
212
+ "line": 92,
213
213
  "value": {
214
214
  "!.cli.types.CliModule": {
215
215
  "name": "bracepy",
@@ -502,7 +502,7 @@
502
502
  "module": ".tools.pawk.pawk",
503
503
  "attr": "_CLI_MODULE",
504
504
  "file": "omdev/tools/pawk/pawk.py",
505
- "line": 392,
505
+ "line": 393,
506
506
  "value": {
507
507
  "!.cli.types.CliModule": {
508
508
  "name": "pawk",
@@ -180,6 +180,7 @@ class CCompiler:
180
180
  Ensures that every element of 'definitions' is a valid macro definition, ie. either (name,value) 2-tuple or a
181
181
  (name,) tuple. Do nothing if all definitions are OK, raise TypeError otherwise.
182
182
  """
183
+
183
184
  for defn in definitions:
184
185
  if not (
185
186
  isinstance(defn, tuple)
@@ -200,6 +201,7 @@ class CCompiler:
200
201
  should be a string; if it is not supplied, then the macro will be defined without an explicit value and the
201
202
  exact outcome depends on the compiler used (XXX true? does ANSI say anything about this?)
202
203
  """
204
+
203
205
  # Delete from the list of macro definitions/undefinitions if already there (so that this one will take
204
206
  # precedence).
205
207
  i = self._find_macro(name)
@@ -215,6 +217,7 @@ class CCompiler:
215
217
  redefinitions or undefinitions). If the macro is redefined/undefined on a per-compilation basis (ie. in the
216
218
  call to 'compile()'), then that takes precedence.
217
219
  """
220
+
218
221
  # Delete from the list of macro definitions/undefinitions if already there (so that this one will take
219
222
  # precedence).
220
223
  i = self._find_macro(name)
@@ -229,6 +232,7 @@ class CCompiler:
229
232
  Add 'dir' to the list of directories that will be searched for header files. The compiler is instructed to
230
233
  search directories in the order in which they are supplied by successive calls to 'add_include_dir()'.
231
234
  """
235
+
232
236
  self.include_dirs.append(dir)
233
237
 
234
238
  def set_include_dirs(self, dirs):
@@ -237,6 +241,7 @@ class CCompiler:
237
241
  to 'add_include_dir()'; subsequence calls to 'add_include_dir()' add to the list passed to 'set_include_dirs()'.
238
242
  This does not affect any list of standard include directories that the compiler may search by default.
239
243
  """
244
+
240
245
  self.include_dirs = dirs[:]
241
246
 
242
247
  def add_library(self, libname):
@@ -249,6 +254,7 @@ class CCompiler:
249
254
  and/or 'set_libraries()'. It is perfectly valid to duplicate library names; the linker will be instructed to
250
255
  link against libraries as many times as they are mentioned.
251
256
  """
257
+
252
258
  self.libraries.append(libname)
253
259
 
254
260
  def set_libraries(self, libnames):
@@ -256,6 +262,7 @@ class CCompiler:
256
262
  Set the list of libraries to be included in all links driven by this compiler object to 'libnames' (a list of
257
263
  strings). This does not affect any standard system libraries that the linker may include by default.
258
264
  """
265
+
259
266
  self.libraries = libnames[:]
260
267
 
261
268
  def add_library_dir(self, dir): # noqa
@@ -264,6 +271,7 @@ class CCompiler:
264
271
  'set_libraries()'. The linker will be instructed to search for libraries in the order they are supplied to
265
272
  'add_library_dir()' and/or 'set_library_dirs()'.
266
273
  """
274
+
267
275
  self.library_dirs.append(dir)
268
276
 
269
277
  def set_library_dirs(self, dirs):
@@ -271,12 +279,12 @@ class CCompiler:
271
279
  Set the list of library search directories to 'dirs' (a list of strings). This does not affect any standard
272
280
  library search path that the linker may search by default.
273
281
  """
282
+
274
283
  self.library_dirs = dirs[:]
275
284
 
276
285
  def add_runtime_library_dir(self, dir): # noqa
277
- """
278
- Add 'dir' to the list of directories that will be searched for shared libraries at runtime.
279
- """
286
+ """Add 'dir' to the list of directories that will be searched for shared libraries at runtime."""
287
+
280
288
  self.runtime_library_dirs.append(dir)
281
289
 
282
290
  def set_runtime_library_dirs(self, dirs):
@@ -284,6 +292,7 @@ class CCompiler:
284
292
  Set the list of directories to search for shared libraries at runtime to 'dirs' (a list of strings). This does
285
293
  not affect any standard search path that the runtime linker may search by default.
286
294
  """
295
+
287
296
  self.runtime_library_dirs = dirs[:]
288
297
 
289
298
  def add_link_object(self, object): # noqa
@@ -291,6 +300,7 @@ class CCompiler:
291
300
  Add 'object' to the list of object files (or analogues, such as explicitly named library files or the output of
292
301
  "resource compilers") to be included in every link driven by this compiler object.
293
302
  """
303
+
294
304
  self.objects.append(object)
295
305
 
296
306
  def set_link_objects(self, objects):
@@ -298,6 +308,7 @@ class CCompiler:
298
308
  Set the list of object files (or analogues) to be included in every link to 'objects'. This does not affect any
299
309
  standard object files that the linker may include by default (such as system libraries).
300
310
  """
311
+
301
312
  self.objects = objects[:]
302
313
 
303
314
  # -- Private utility methods --------------------------------------
@@ -307,6 +318,7 @@ class CCompiler:
307
318
 
308
319
  def _setup_compile(self, outdir, macros, incdirs, sources, depends, extra):
309
320
  """Process arguments and decide which source files to compile."""
321
+
310
322
  outdir, macros, incdirs = self._fix_compile_args(outdir, macros, incdirs)
311
323
 
312
324
  if extra is None:
@@ -345,6 +357,7 @@ class CCompiler:
345
357
  that the returned values are of the correct type, i.e. for 'output_dir' either string or None, and for 'macros'
346
358
  and 'include_dirs' either list or None.
347
359
  """
360
+
348
361
  if output_dir is None:
349
362
  output_dir = self.output_dir
350
363
  elif not isinstance(output_dir, str):
@@ -376,6 +389,7 @@ class CCompiler:
376
389
  Determine the list of object files corresponding to 'sources', and figure out which ones really need to be
377
390
  recompiled. Return a list of all object files and a dictionary telling which source files can be skipped.
378
391
  """
392
+
379
393
  # Get the list of expected output (object) files
380
394
  objects = self.object_filenames(sources, output_dir=output_dir)
381
395
  check.equal(len(objects), len(sources))
@@ -389,6 +403,7 @@ class CCompiler:
389
403
  Typecheck and fix up some arguments supplied to various methods. Specifically: ensure that 'objects' is a list;
390
404
  if output_dir is None, replace with self.output_dir. Return fixed versions of 'objects' and 'output_dir'.
391
405
  """
406
+
392
407
  if not isinstance(objects, (list, tuple)):
393
408
  raise TypeError("'objects' must be a list or tuple of strings")
394
409
  objects = list(objects)
@@ -406,6 +421,7 @@ class CCompiler:
406
421
  arguments are lists, and augment them with their permanent versions (eg. 'self.libraries' augments 'libraries').
407
422
  Return a tuple with fixed versions of all arguments.
408
423
  """
424
+
409
425
  if libraries is None:
410
426
  libraries = list(self.libraries)
411
427
  elif isinstance(libraries, (list, tuple)):
@@ -434,6 +450,7 @@ class CCompiler:
434
450
 
435
451
  def _need_link(self, objects, output_file):
436
452
  """Return true if we need to relink the files listed in 'objects' to recreate 'output_file'."""
453
+
437
454
  if self.force:
438
455
  return True
439
456
  else:
@@ -447,6 +464,7 @@ class CCompiler:
447
464
  """
448
465
  Detect the language of a given file, or list of files. Uses language_map, and language_order to do the job.
449
466
  """
467
+
450
468
  if not isinstance(sources, list):
451
469
  sources = [sources]
452
470
  lang = None
@@ -529,6 +547,7 @@ class CCompiler:
529
547
 
530
548
  Raises CompileError on failure.
531
549
  """
550
+
532
551
  # A concrete compiler class can either override this method entirely or implement _compile().
533
552
  macros, objects, extra_postargs, pp_opts, build = self._setup_compile(
534
553
  output_dir, macros, include_dirs, sources, depends, extra_postargs,
@@ -547,6 +566,7 @@ class CCompiler:
547
566
 
548
567
  def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
549
568
  """Compile 'src' to product 'obj'."""
569
+
550
570
  # A concrete compiler class that does not override compile() should implement _compile().
551
571
 
552
572
  def create_static_lib(
@@ -628,6 +648,7 @@ class CCompiler:
628
648
 
629
649
  Raises LinkError on failure.
630
650
  """
651
+
631
652
  raise NotImplementedError
632
653
 
633
654
  # Old 'link_*()' methods, rewritten to use the new 'link()' method.
@@ -729,16 +750,19 @@ class CCompiler:
729
750
 
730
751
  def library_dir_option(self, dir): # noqa
731
752
  """Return the compiler option to add 'dir' to the list of directories searched for libraries."""
753
+
732
754
  raise NotImplementedError
733
755
 
734
756
  def runtime_library_dir_option(self, dir): # noqa
735
757
  """Return the compiler option to add 'dir' to the list of directories searched for runtime libraries."""
758
+
736
759
  raise NotImplementedError
737
760
 
738
761
  def library_option(self, lib):
739
762
  """
740
763
  Return the compiler option to add 'lib' to the list of libraries linked into the shared library or executable.
741
764
  """
765
+
742
766
  raise NotImplementedError
743
767
 
744
768
  def has_function( # noqa: C901
@@ -759,6 +783,7 @@ class CCompiler:
759
783
  The includes and include_dirs arguments are deprecated. Usually, supplying include files with function
760
784
  declarations will cause function detection to fail even in cases where the symbol is available for linking.
761
785
  """
786
+
762
787
  # this can't be included at module scope because it tries to import math which might not be available at that
763
788
  # point - maybe the necessary logic should just be inlined?
764
789
  import tempfile
@@ -829,6 +854,7 @@ int main (int argc, char **argv) {{
829
854
  that file. If 'debug' true, look for a debugging version (if that makes sense on the current platform). Return
830
855
  None if 'lib' wasn't found in any of the specified directories.
831
856
  """
857
+
832
858
  raise NotImplementedError
833
859
 
834
860
  # -- Filename generation methods -----------------------------------
@@ -890,6 +916,7 @@ int main (int argc, char **argv) {{
890
916
  In order to ensure that a filename always honors the indicated output_dir, make sure it's relative. Ref
891
917
  python/cpython#37775.
892
918
  """
919
+
893
920
  # Chop off the drive
894
921
  no_drive = os.path.splitdrive(base)[1]
895
922
  # If abs, chop off leading /
@@ -969,6 +996,7 @@ def get_default_compiler(osname=None, platform=None):
969
996
 
970
997
  The default values are os.name and sys.platform in case the parameters are not given.
971
998
  """
999
+
972
1000
  if osname is None:
973
1001
  osname = os.name
974
1002
  if platform is None:
@@ -1004,6 +1032,7 @@ def new_compiler(
1004
1032
  Visual C++ (MSVCCompiler class). Note that it's perfectly possible to ask for a Unix compiler object under Windows,
1005
1033
  and a Microsoft compiler object under Unix -- if you supply a value for 'compiler', 'plat' is ignored.
1006
1034
  """
1035
+
1007
1036
  if plat is None:
1008
1037
  plat = os.name
1009
1038
 
@@ -21,6 +21,7 @@ def gen_preprocess_options(
21
21
  names to be added to the header file search path (-I). Returns a list of command-line options suitable for either
22
22
  Unix compilers or Visual C++.
23
23
  """
24
+
24
25
  # it would be nice (mainly aesthetic, and so we don't generate stupid-looking command lines) to go over 'macros' and
25
26
  # eliminate redundant definitions/undefinitions (ie. ensure that only the latest mention of a particular macro winds
26
27
  # up on the command line). I don't think it's essential, though, since most (all?) Unix C compilers only pay
@@ -58,6 +59,7 @@ def gen_lib_options(
58
59
  'library_dirs' are, respectively, lists of library names (not filenames!) and search directories. Returns a list of
59
60
  command-line options suitable for use with some compiler (depending on the two format strings passed in).
60
61
  """
62
+
61
63
  lib_opts = []
62
64
 
63
65
  for dir in library_dirs: # noqa
@@ -70,6 +70,7 @@ def _split_env(cmd: list[str]) -> tuple[list[str], list[str]]:
70
70
  >>> _split_env(['/usr/bin/env', 'A=3', 'gcc'])
71
71
  (['/usr/bin/env', 'A=3'], ['gcc'])
72
72
  """
73
+
73
74
  pivot = 0
74
75
  if os.path.basename(cmd[0]) == 'env':
75
76
  pivot = 1
@@ -88,6 +89,7 @@ def _split_aix(cmd: list[str]) -> tuple[list[str], list[str]]:
88
89
  >>> _split_aix(['/bin/foo/ld_so_aix', 'gcc'])
89
90
  (['/bin/foo/ld_so_aix'], ['gcc'])
90
91
  """
92
+
91
93
  pivot = os.path.basename(cmd[0]) == 'ld_so_aix'
92
94
  return cmd[:pivot], cmd[pivot:]
93
95
 
@@ -111,6 +113,7 @@ def _linker_params(linker_cmd: list[str], compiler_cmd: list[str]) -> list[str]:
111
113
  >>> _linker_params(['gcc'], ['gcc'])
112
114
  []
113
115
  """
116
+
114
117
  c_len = len(compiler_cmd)
115
118
  pivot = c_len if linker_cmd[:c_len] == compiler_cmd else 1
116
119
  return linker_cmd[pivot:]
@@ -355,6 +358,7 @@ class UnixCCompiler(CCompiler):
355
358
  vs
356
359
  /usr/lib/libedit.dylib
357
360
  """
361
+
358
362
  cflags = sysconfig.get_config_var('CFLAGS')
359
363
  match = re.search(r'-isysroot\s*(\S+)', cflags)
360
364
 
@@ -374,6 +378,7 @@ class UnixCCompiler(CCompiler):
374
378
  Second-guess the linker with not much hard data to go on: GCC seems to prefer the shared library, so assume that
375
379
  *all* Unix C compilers do, ignoring even GCC's "-static" option.
376
380
  """
381
+
377
382
  lib_names = (
378
383
  self.library_filename(lib, lib_type=ty)
379
384
  for ty in ['dylib', 'xcode_stub', 'shared', 'static']
@@ -20,7 +20,8 @@ _path_created: dict[str, int] = {}
20
20
 
21
21
 
22
22
  def mkpath(name, mode=0o777, verbose=1, dry_run=False) -> list[str]: # noqa: C901
23
- """Create a directory and any missing ancestor directories.
23
+ """
24
+ Create a directory and any missing ancestor directories.
24
25
 
25
26
  If the directory already exists (or if 'name' is the empty string, which means the current directory, which of
26
27
  course exists), then do nothing. Raise DistutilsFileError if unable to create some directory along the way (eg. some
@@ -23,6 +23,7 @@ def _copy_file_contents(src, dst, buffer_size=16 * 1024): # noqa: C901
23
23
  to 'dst', raises DistutilsFileError. Data is read/written in chunks of 'buffer_size' bytes (default 16k). No
24
24
  attempt is made to handle anything apart from regular files.
25
25
  """
26
+
26
27
  # Stolen from shutil module in the standard library, but with custom error-handling added.
27
28
  fsrc = None
28
29
  fdst = None
@@ -92,6 +93,7 @@ def copy_file( # noqa: C901
92
93
  Return a tuple (dest_name, copied): 'dest_name' is the actual name of the output file, and 'copied' is true if the
93
94
  file was copied (or would have been copied, if 'dry_run' true).
94
95
  """
96
+
95
97
  # if the destination file already exists, we clobber it if copying, but blow up if linking. Hmmm. And I don't know
96
98
  # what macostools.copyfile() does. Should definitely be consistent, and should probably blow up if destination
97
99
  # exists and we would be changing it (ie. it's not already a hard/soft link to src OR (not update) and (src newer
@@ -170,6 +172,7 @@ def move_file(src, dst, verbose=1, dry_run=False): # noqa: C901
170
172
 
171
173
  Handles cross-device moves on Unix using 'copy_file()'. What about other systems???
172
174
  """
175
+
173
176
  import errno
174
177
  from os.path import basename
175
178
  from os.path import dirname
@@ -19,6 +19,7 @@ def newer(source, target):
19
19
 
20
20
  Raises DistutilsFileError if 'source' does not exist.
21
21
  """
22
+
22
23
  if not os.path.exists(source):
23
24
  raise DistutilsFileError(f"file '{os.path.abspath(source)}' does not exist")
24
25
 
@@ -32,6 +32,7 @@ def spawn(cmd, search_path=1, verbose=0, dry_run=False, env=None, debug=False):
32
32
 
33
33
  Raise DistutilsExecError if running the program fails in any way; just return on success.
34
34
  """
35
+
35
36
  # cmd is documented as a list, but just in case some code passes a tuple in, protect our %-formatting code against
36
37
  # horrible death
37
38
  cmd = list(cmd)
@@ -77,6 +78,7 @@ def find_executable(executable, path=None):
77
78
  A string listing directories separated by 'os.pathsep'; defaults to os.environ['PATH']. Returns the complete
78
79
  filename or None if not found.
79
80
  """
81
+
80
82
  _, ext = os.path.splitext(executable)
81
83
  if (sys.platform == 'win32') and (ext != '.exe'):
82
84
  executable = executable + '.exe'
@@ -40,6 +40,7 @@ else:
40
40
 
41
41
  def _is_python_source_dir(d):
42
42
  """Return True if the target directory appears to point to an un-installed Python."""
43
+
43
44
  modules = pathlib.Path(d).joinpath('Modules')
44
45
  return any(modules.joinpath(fn).is_file() for fn in ('Setup', 'Setup.local'))
45
46
 
@@ -49,6 +50,7 @@ _sys_home = getattr(sys, '_home', None)
49
50
 
50
51
  def _is_parent(dir_a, dir_b):
51
52
  """Return True if a is a parent of b."""
53
+
52
54
  return os.path.normcase(dir_a).startswith(os.path.normcase(dir_b))
53
55
 
54
56
 
@@ -76,6 +78,7 @@ def get_python_version():
76
78
  Return a string containing the major and minor Python version, leaving off the patchlevel. Sample return values
77
79
  could be '1.5' or '2.2'.
78
80
  """
81
+
79
82
  return '%d.%d' % sys.version_info[:2] # noqa
80
83
 
81
84
 
@@ -88,6 +91,7 @@ def get_python_inc(plat_specific=0, prefix=None):
88
91
 
89
92
  If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
90
93
  """
94
+
91
95
  default_prefix = BASE_EXEC_PREFIX if plat_specific else BASE_PREFIX
92
96
  resolved_prefix = prefix if prefix is not None else default_prefix
93
97
  try:
@@ -100,6 +104,7 @@ def get_python_inc(plat_specific=0, prefix=None):
100
104
  @pass_none
101
105
  def _extant(path):
102
106
  """Replace path with None if it doesn't exist."""
107
+
103
108
  return path if os.path.exists(path) else None
104
109
 
105
110
 
@@ -118,6 +123,7 @@ def _get_python_inc_posix_python(plat_specific):
118
123
  Assume the executable is in the build directory. The pyconfig.h file should be in the same directory. Since the
119
124
  build directory may not be the source directory, use "srcdir" from the makefile to find the "Include" directory.
120
125
  """
126
+
121
127
  if not python_build:
122
128
  return None
123
129
  if plat_specific:
@@ -142,6 +148,7 @@ def _get_python_inc_from_config(plat_specific, spec_prefix):
142
148
  >>> gpifc(True, None)
143
149
  'confincludepy'
144
150
  """
151
+
145
152
  if spec_prefix is None:
146
153
  return get_config_var('CONF' * plat_specific + 'INCLUDEPY')
147
154
  return None
@@ -230,11 +237,13 @@ def _customize_macos():
230
237
 
231
238
 
232
239
  def customize_compiler(compiler): # noqa: C901
233
- """Do any platform-specific customization of a CCompiler instance.
240
+ """
241
+ Do any platform-specific customization of a CCompiler instance.
234
242
 
235
243
  Mainly needed on Unix, so we can plug in the information that varies across Unices and is stored in Python's
236
244
  Makefile.
237
245
  """
246
+
238
247
  if compiler.compiler_type == 'unix':
239
248
  _customize_macos()
240
249
 
@@ -308,6 +317,7 @@ def customize_compiler(compiler): # noqa: C901
308
317
 
309
318
  def get_config_h_filename():
310
319
  """Return full pathname of installed pyconfig.h file."""
320
+
311
321
  return sysconfig.get_config_h_filename()
312
322
 
313
323
 
@@ -318,6 +328,7 @@ def parse_config_h(fp, g=None):
318
328
  A dictionary containing name/value pairs is returned. If an optional dictionary is passed in as the second
319
329
  argument, it is used instead of a new dictionary.
320
330
  """
331
+
321
332
  return sysconfig.parse_config_h(fp, vars=g)
322
333
 
323
334
 
@@ -333,6 +344,7 @@ def get_config_vars(*args):
333
344
  With arguments, return a list of values that result from looking up each argument in the configuration variable
334
345
  dictionary.
335
346
  """
347
+
336
348
  global _config_vars
337
349
  if _config_vars is None:
338
350
  _config_vars = sysconfig.get_config_vars().copy()
@@ -345,6 +357,7 @@ def get_config_var(name):
345
357
  Return the value of a single variable using the dictionary returned by 'get_config_vars()'. Equivalent to
346
358
  get_config_vars().get(name)
347
359
  """
360
+
348
361
  if name == 'SO':
349
362
  import warnings
350
363
 
@@ -63,6 +63,7 @@ if sys.platform == 'darwin':
63
63
 
64
64
  def _clear_cached_macosx_ver() -> None:
65
65
  """For testing only. Do not call."""
66
+
66
67
  global _syscfg_macosx_ver
67
68
  _syscfg_macosx_ver = None
68
69
 
@@ -75,6 +76,7 @@ def get_macosx_target_ver_from_syscfg() -> str:
75
76
  Get the version of macOS latched in the Python interpreter configuration. Returns the version as a string or None
76
77
  if can't obtain one. Cached.
77
78
  """
79
+
78
80
  global _syscfg_macosx_ver
79
81
  if _syscfg_macosx_ver is None:
80
82
  from . import sysconfig
@@ -119,6 +121,7 @@ def get_macosx_target_ver() -> str:
119
121
 
120
122
  def split_version(s) -> list[int]:
121
123
  """Convert a dot-separated string into a list of numbers for comparisons"""
124
+
122
125
  return [int(n) for n in s.split('.')]
123
126
 
124
127
 
@@ -195,6 +198,7 @@ def execute(
195
198
  have to do is supply the function to call and an argument tuple for it (to embody the "external action" being
196
199
  performed), and an optional message to print.
197
200
  """
201
+
198
202
  if msg is None:
199
203
  msg = f'{func.__name__}{args!r}'
200
204
  if msg[-2:] == ',)': # correct for singleton tuple
@@ -189,6 +189,7 @@ class StrictVersion(Version):
189
189
  case 2: self doesn't have prerelease, other does: self is greater
190
190
  case 3: both or neither have prerelease: compare them!
191
191
  """
192
+
192
193
  if self.prerelease and not other.prerelease:
193
194
  return -1
194
195
  elif not self.prerelease and other.prerelease:
@@ -28,7 +28,6 @@ Libs:
28
28
  Done:
29
29
  - https://intellij-support.jetbrains.com/hc/en-us/community/posts/206608485-Multiple-Jetbrain-IDE-sharing-the-same-project-directory really?
30
30
  - aight, generate a whole cmake subdir with symlinks to src files lol
31
-
32
31
  """ # noqa
33
32
  import argparse
34
33
  import dataclasses as dc
@@ -19,7 +19,6 @@ curl -s \
19
19
  -H "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN" \
20
20
  -d '{"key": "foo", "restoreKeys": [], "version": "0000000000000000000000000000000000000000000000000000000000000001" }' \
21
21
  | jq .
22
-
23
22
  """ # noqa
24
23
  import dataclasses as dc
25
24
  import typing as ta
@@ -75,6 +75,7 @@ class CliCli(ap.Cli):
75
75
  @ap.cmd(
76
76
  ap.arg('args', nargs=ap.REMAINDER),
77
77
  name='python',
78
+ aliases=['py'],
78
79
  accepts_unknown=True,
79
80
  )
80
81
  def python_cmd(self) -> None:
@@ -2,9 +2,7 @@
2
2
  # ruff: noqa: UP045
3
3
  # @omlish-lite
4
4
  # @omlish-script
5
- """
6
- curl -LsSf 'https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py' | python3 -
7
- """
5
+ """curl -LsSf 'https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py' | python3 -"""
8
6
  import abc
9
7
  import argparse
10
8
  import dataclasses as dc
@@ -1,6 +1,4 @@
1
- """
2
- https://askubuntu.com/questions/11925/a-command-line-clipboard-copy-and-paste-utility
3
- """
1
+ """https://askubuntu.com/questions/11925/a-command-line-clipboard-copy-and-paste-utility"""
4
2
  import abc
5
3
  import dataclasses as dc
6
4