omdev 0.0.2__tar.gz → 0.0.3__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 (474) hide show
  1. {omdev-0.0.2/omdev.egg-info → omdev-0.0.3}/PKG-INFO +2 -2
  2. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/contexts.py +3 -3
  3. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/cmake.py +2 -2
  4. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/cache.py +1 -1
  5. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/dataserver.py +1 -1
  6. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/v1/api.py +1 -1
  7. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/v2/api.py +1 -1
  8. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataclasses/_dumping.py +1 -1
  9. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataserver/handlers.py +1 -1
  10. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataserver/routes.py +1 -1
  11. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataserver/server.py +1 -1
  12. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataserver/targets.py +1 -1
  13. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/config.toml +4 -0
  14. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/content.py +2 -2
  15. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/inspect.py +1 -1
  16. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/providers/standalone.py +1 -1
  17. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/pyenv/install.py +1 -1
  18. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/types.py +1 -1
  19. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/messages/formats.py +2 -2
  20. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/messages/messages.py +1 -1
  21. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/numerics/types.py +1 -1
  22. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/nuh.py +1 -1
  23. {omdev-0.0.2 → omdev-0.0.3}/omdev/manifests/_dumping.py +1 -1
  24. {omdev-0.0.2 → omdev-0.0.3}/omdev/markdown/incparse.py +24 -24
  25. {omdev-0.0.2 → omdev-0.0.3}/omdev/markdown/tokens.py +5 -5
  26. {omdev-0.0.2 → omdev-0.0.3}/omdev/mypy/report.py +1 -1
  27. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/data.py +1 -1
  28. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/repositories.py +1 -1
  29. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/specifiers.py +1 -1
  30. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/versions.py +1 -1
  31. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/base.py +1 -1
  32. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/scripts/execstat.py +1 -1
  33. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/scripts/importtrace.py +1 -1
  34. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/pkg.py +1 -1
  35. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/ci.py +124 -59
  36. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/interp.py +13 -13
  37. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/formats/goyaml.py +7 -7
  38. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/inject.py +3 -3
  39. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/io/pipelines.py +85 -20
  40. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/io/streams.py +3 -3
  41. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/logs.py +4 -4
  42. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/marshal.py +2 -2
  43. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/pyproject.py +17 -17
  44. {omdev-0.0.2 → omdev-0.0.3}/omdev/tagstrings.py +1 -1
  45. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/processing.py +1 -1
  46. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/pawk/pawk.py +4 -4
  47. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/sqlrepl.py +1 -1
  48. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/irc/commands.py +7 -7
  49. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/renderables.py +2 -2
  50. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/markdown2.py +16 -16
  51. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/textual/themes.py +3 -3
  52. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/clipboard.py +1 -1
  53. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/debug/dominfo.py +1 -1
  54. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/drivers2.py +2 -2
  55. {omdev-0.0.2 → omdev-0.0.3/omdev.egg-info}/PKG-INFO +2 -2
  56. {omdev-0.0.2 → omdev-0.0.3}/omdev.egg-info/requires.txt +1 -1
  57. {omdev-0.0.2 → omdev-0.0.3}/pyproject.toml +2 -2
  58. {omdev-0.0.2 → omdev-0.0.3}/LICENSE +0 -0
  59. {omdev-0.0.2 → omdev-0.0.3}/MANIFEST.in +0 -0
  60. {omdev-0.0.2 → omdev-0.0.3}/README.md +0 -0
  61. {omdev-0.0.2 → omdev-0.0.3}/omdev/.omlish-manifests.json +0 -0
  62. {omdev-0.0.2 → omdev-0.0.3}/omdev/README.md +0 -0
  63. {omdev-0.0.2 → omdev-0.0.3}/omdev/__about__.py +0 -0
  64. {omdev-0.0.2 → omdev-0.0.3}/omdev/__init__.py +0 -0
  65. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/__init__.py +0 -0
  66. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/__main__.py +0 -0
  67. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/cli/__init__.py +0 -0
  68. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/cli/main.py +0 -0
  69. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/__init__.py +0 -0
  70. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/gen.py +0 -0
  71. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/imports.py +0 -0
  72. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/manifests.py +0 -0
  73. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/resources.py +0 -0
  74. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/srcfiles.py +0 -0
  75. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/strip.py +0 -0
  76. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/types.py +0 -0
  77. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/gen/typing.py +0 -0
  78. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/info.py +0 -0
  79. {omdev-0.0.2 → omdev-0.0.3}/omdev/amalg/sources.py +0 -0
  80. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/__init__.py +0 -0
  81. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/__init__.py +0 -0
  82. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/cache.py +0 -0
  83. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/currents.py +0 -0
  84. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/fns.py +0 -0
  85. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/resolvers.py +0 -0
  86. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/storage.py +0 -0
  87. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/compute/types.py +0 -0
  88. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/data/__init__.py +0 -0
  89. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/data/actions.py +0 -0
  90. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/data/cache.py +0 -0
  91. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/data/consts.py +0 -0
  92. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/data/defaults.py +0 -0
  93. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/data/manifests.py +0 -0
  94. {omdev-0.0.2 → omdev-0.0.3}/omdev/cache/data/specs.py +0 -0
  95. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/__init__.py +0 -0
  96. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/darwin/__init__.py +0 -0
  97. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/darwin/aps.py +0 -0
  98. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/darwin/ax.py +0 -0
  99. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/darwin/cf.py +0 -0
  100. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/darwin/cg.py +0 -0
  101. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/linux/__init__.py +0 -0
  102. {omdev-0.0.2 → omdev-0.0.3}/omdev/capi/linux/x11.py +0 -0
  103. {omdev-0.0.2 → omdev-0.0.3}/omdev/cc/__init__.py +0 -0
  104. {omdev-0.0.2 → omdev-0.0.3}/omdev/cc/__main__.py +0 -0
  105. {omdev-0.0.2 → omdev-0.0.3}/omdev/cc/cdeps.py +0 -0
  106. {omdev-0.0.2 → omdev-0.0.3}/omdev/cc/cdeps.toml +0 -0
  107. {omdev-0.0.2 → omdev-0.0.3}/omdev/cc/cli.py +0 -0
  108. {omdev-0.0.2 → omdev-0.0.3}/omdev/cc/srclangs.py +0 -0
  109. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/__init__.py +0 -0
  110. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_boilerplate.cc +0 -0
  111. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/LICENSE +0 -0
  112. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/__init__.py +0 -0
  113. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/build_ext.py +0 -0
  114. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  115. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  116. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/compilers/options.py +0 -0
  117. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  118. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/dir_util.py +0 -0
  119. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/errors.py +0 -0
  120. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/extension.py +0 -0
  121. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/file_util.py +0 -0
  122. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/modified.py +0 -0
  123. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/spawn.py +0 -0
  124. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/sysconfig.py +0 -0
  125. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/util.py +0 -0
  126. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/_distutils/version.py +0 -0
  127. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/build.py +0 -0
  128. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/importhook.py +0 -0
  129. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/magic.py +0 -0
  130. {omdev-0.0.2 → omdev-0.0.3}/omdev/cexts/scan.py +0 -0
  131. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/__init__.py +0 -0
  132. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/__main__.py +0 -0
  133. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/cache.py +0 -0
  134. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/ci.py +0 -0
  135. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/cli.py +0 -0
  136. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/compose.py +0 -0
  137. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/consts.py +0 -0
  138. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/__init__.py +0 -0
  139. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/buildcaching.py +0 -0
  140. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  141. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/cacheserved/cache.py +0 -0
  142. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  143. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/cmds.py +0 -0
  144. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/imagepulling.py +0 -0
  145. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/inject.py +0 -0
  146. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/packing.py +0 -0
  147. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/repositories.py +0 -0
  148. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/docker/utils.py +0 -0
  149. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/__init__.py +0 -0
  150. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/__init__.py +0 -0
  151. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/clients.py +0 -0
  152. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/v1/__init__.py +0 -0
  153. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/v1/client.py +0 -0
  154. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/v2/__init__.py +0 -0
  155. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/v2/azure.py +0 -0
  156. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/api/v2/client.py +0 -0
  157. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/bootstrap.py +0 -0
  158. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/cache.py +0 -0
  159. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/cli.py +0 -0
  160. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/env.py +0 -0
  161. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/github/inject.py +0 -0
  162. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/inject.py +0 -0
  163. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/requirements.py +0 -0
  164. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/shell.py +0 -0
  165. {omdev-0.0.2 → omdev-0.0.3}/omdev/ci/utils.py +0 -0
  166. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/__init__.py +0 -0
  167. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/__main__.py +0 -0
  168. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/_pathhack.py +0 -0
  169. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/clicli.py +0 -0
  170. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/install.py +0 -0
  171. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/main.py +0 -0
  172. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/managers.py +0 -0
  173. {omdev-0.0.2 → omdev-0.0.3}/omdev/cli/types.py +0 -0
  174. {omdev-0.0.2 → omdev-0.0.3}/omdev/clipboard/__init__.py +0 -0
  175. {omdev-0.0.2 → omdev-0.0.3}/omdev/clipboard/capi/__init__.py +0 -0
  176. {omdev-0.0.2 → omdev-0.0.3}/omdev/clipboard/capi/darwin_cf.py +0 -0
  177. {omdev-0.0.2 → omdev-0.0.3}/omdev/clipboard/capi/linux_x11.py +0 -0
  178. {omdev-0.0.2 → omdev-0.0.3}/omdev/clipboard/commands.py +0 -0
  179. {omdev-0.0.2 → omdev-0.0.3}/omdev/clipboard/platform.py +0 -0
  180. {omdev-0.0.2 → omdev-0.0.3}/omdev/clipboard/types.py +0 -0
  181. {omdev-0.0.2 → omdev-0.0.3}/omdev/cmake.py +0 -0
  182. {omdev-0.0.2 → omdev-0.0.3}/omdev/cmdlog/__init__.py +0 -0
  183. {omdev-0.0.2 → omdev-0.0.3}/omdev/cmdlog/__main__.py +0 -0
  184. {omdev-0.0.2 → omdev-0.0.3}/omdev/cmdlog/_cmdlog.py +0 -0
  185. {omdev-0.0.2 → omdev-0.0.3}/omdev/cmdlog/cli.py +0 -0
  186. {omdev-0.0.2 → omdev-0.0.3}/omdev/cmdlog/cmdlog.py +0 -0
  187. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataclasses/__init__.py +0 -0
  188. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataclasses/__main__.py +0 -0
  189. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataclasses/_template.py +0 -0
  190. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataclasses/cli.py +0 -0
  191. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataclasses/codegen.py +0 -0
  192. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataclasses/dumping.py +0 -0
  193. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataserver/__init__.py +0 -0
  194. {omdev-0.0.2 → omdev-0.0.3}/omdev/dataserver/http.py +0 -0
  195. {omdev-0.0.2 → omdev-0.0.3}/omdev/diffs/__init__.py +0 -0
  196. {omdev-0.0.2 → omdev-0.0.3}/omdev/diffs/__main__.py +0 -0
  197. {omdev-0.0.2 → omdev-0.0.3}/omdev/diffs/cli.py +0 -0
  198. {omdev-0.0.2 → omdev-0.0.3}/omdev/diffs/parsing.py +0 -0
  199. {omdev-0.0.2 → omdev-0.0.3}/omdev/diffs/rendering.py +0 -0
  200. {omdev-0.0.2 → omdev-0.0.3}/omdev/diffs/types.py +0 -0
  201. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/__init__.py +0 -0
  202. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/__main__.py +0 -0
  203. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/cli.py +0 -0
  204. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/config.py +0 -0
  205. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/gen.py +0 -0
  206. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/helpers.py +0 -0
  207. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/ops.py +0 -0
  208. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/rendering.py +0 -0
  209. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/.python-versions.json +0 -0
  210. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
  211. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/configs/.sqliterc +0 -0
  212. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
  213. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/configs/.vimrc +0 -0
  214. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/depsets/python.toml +0 -0
  215. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/depsets/system.toml +0 -0
  216. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
  217. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
  218. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
  219. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
  220. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/go.sh +0 -0
  221. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
  222. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/man.sh +0 -0
  223. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
  224. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
  225. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/rbenv.sh +0 -0
  226. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
  227. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
  228. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/user.sh +0 -0
  229. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
  230. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
  231. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
  232. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/scripts/install-claude +0 -0
  233. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/scripts/install-codex +0 -0
  234. {omdev-0.0.2 → omdev-0.0.3}/omdev/dockerdev/resources/scripts/run-dbus +0 -0
  235. {omdev-0.0.2 → omdev-0.0.3}/omdev/git/__init__.py +0 -0
  236. {omdev-0.0.2 → omdev-0.0.3}/omdev/git/magic.py +0 -0
  237. {omdev-0.0.2 → omdev-0.0.3}/omdev/git/revisions.py +0 -0
  238. {omdev-0.0.2 → omdev-0.0.3}/omdev/git/shallow.py +0 -0
  239. {omdev-0.0.2 → omdev-0.0.3}/omdev/git/status.py +0 -0
  240. {omdev-0.0.2 → omdev-0.0.3}/omdev/home/__init__.py +0 -0
  241. {omdev-0.0.2 → omdev-0.0.3}/omdev/home/paths.py +0 -0
  242. {omdev-0.0.2 → omdev-0.0.3}/omdev/home/secrets.py +0 -0
  243. {omdev-0.0.2 → omdev-0.0.3}/omdev/home/shadow.py +0 -0
  244. {omdev-0.0.2 → omdev-0.0.3}/omdev/imgur.py +0 -0
  245. {omdev-0.0.2 → omdev-0.0.3}/omdev/intellij/__init__.py +0 -0
  246. {omdev-0.0.2 → omdev-0.0.3}/omdev/intellij/cli.py +0 -0
  247. {omdev-0.0.2 → omdev-0.0.3}/omdev/intellij/ides.py +0 -0
  248. {omdev-0.0.2 → omdev-0.0.3}/omdev/intellij/open.py +0 -0
  249. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/__init__.py +0 -0
  250. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/__main__.py +0 -0
  251. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/cli.py +0 -0
  252. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/default.py +0 -0
  253. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/inject.py +0 -0
  254. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/providers/__init__.py +0 -0
  255. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/providers/base.py +0 -0
  256. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/providers/inject.py +0 -0
  257. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/providers/running.py +0 -0
  258. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/providers/system.py +0 -0
  259. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/pyenv/__init__.py +0 -0
  260. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/pyenv/inject.py +0 -0
  261. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/pyenv/provider.py +0 -0
  262. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/pyenv/pyenv.py +0 -0
  263. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/resolvers.py +0 -0
  264. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/uv/__init__.py +0 -0
  265. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/uv/inject.py +0 -0
  266. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/uv/provider.py +0 -0
  267. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/uv/uv.py +0 -0
  268. {omdev-0.0.2 → omdev-0.0.3}/omdev/interp/venvs.py +0 -0
  269. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/__init__.py +0 -0
  270. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/messages/__init__.py +0 -0
  271. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/messages/base.py +0 -0
  272. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/messages/parsing.py +0 -0
  273. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/numerics/__init__.py +0 -0
  274. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/numerics/formats.py +0 -0
  275. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/numerics/numerics.py +0 -0
  276. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/LICENSE +0 -0
  277. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/__init__.py +0 -0
  278. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/consts.py +0 -0
  279. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/errors.py +0 -0
  280. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/message.py +0 -0
  281. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/parsing.py +0 -0
  282. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/rendering.py +0 -0
  283. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/tags.py +0 -0
  284. {omdev-0.0.2 → omdev-0.0.3}/omdev/irc/protocol/utils.py +0 -0
  285. {omdev-0.0.2 → omdev-0.0.3}/omdev/java/__init__.py +0 -0
  286. {omdev-0.0.2 → omdev-0.0.3}/omdev/java/__main__.py +0 -0
  287. {omdev-0.0.2 → omdev-0.0.3}/omdev/java/cli.py +0 -0
  288. {omdev-0.0.2 → omdev-0.0.3}/omdev/java/pomgen.py +0 -0
  289. {omdev-0.0.2 → omdev-0.0.3}/omdev/java/utils.py +0 -0
  290. {omdev-0.0.2 → omdev-0.0.3}/omdev/java/xml.py +0 -0
  291. {omdev-0.0.2 → omdev-0.0.3}/omdev/magic/__init__.py +0 -0
  292. {omdev-0.0.2 → omdev-0.0.3}/omdev/magic/__main__.py +0 -0
  293. {omdev-0.0.2 → omdev-0.0.3}/omdev/magic/cli.py +0 -0
  294. {omdev-0.0.2 → omdev-0.0.3}/omdev/magic/find.py +0 -0
  295. {omdev-0.0.2 → omdev-0.0.3}/omdev/magic/magic.py +0 -0
  296. {omdev-0.0.2 → omdev-0.0.3}/omdev/magic/prepare.py +0 -0
  297. {omdev-0.0.2 → omdev-0.0.3}/omdev/magic/styles.py +0 -0
  298. {omdev-0.0.2 → omdev-0.0.3}/omdev/manifests/__init__.py +0 -0
  299. {omdev-0.0.2 → omdev-0.0.3}/omdev/manifests/__main__.py +0 -0
  300. {omdev-0.0.2 → omdev-0.0.3}/omdev/manifests/building.py +0 -0
  301. {omdev-0.0.2 → omdev-0.0.3}/omdev/manifests/dumping.py +0 -0
  302. {omdev-0.0.2 → omdev-0.0.3}/omdev/manifests/main.py +0 -0
  303. {omdev-0.0.2 → omdev-0.0.3}/omdev/markdown/__init__.py +0 -0
  304. {omdev-0.0.2 → omdev-0.0.3}/omdev/mypy/__init__.py +0 -0
  305. {omdev-0.0.2 → omdev-0.0.3}/omdev/mypy/debug.py +0 -0
  306. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/__init__.py +0 -0
  307. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/building.py +0 -0
  308. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/compression.py +0 -0
  309. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/datarefs.py +0 -0
  310. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/dataserver.py +0 -0
  311. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/loading.py +0 -0
  312. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/media.py +0 -0
  313. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/pack/__init__.py +0 -0
  314. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/pack/packing.py +0 -0
  315. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/pack/repositories.py +0 -0
  316. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/pack/unpacking.py +0 -0
  317. {omdev-0.0.2 → omdev-0.0.3}/omdev/oci/tars.py +0 -0
  318. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/__init__.py +0 -0
  319. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/marshal.py +0 -0
  320. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/names.py +0 -0
  321. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/requires.py +0 -0
  322. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/revisions.py +0 -0
  323. {omdev-0.0.2 → omdev-0.0.3}/omdev/packaging/wheelfile.py +0 -0
  324. {omdev-0.0.2 → omdev-0.0.3}/omdev/pip.py +0 -0
  325. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/__init__.py +0 -0
  326. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/__main__.py +0 -0
  327. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/blanklines.py +0 -0
  328. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/caches.py +0 -0
  329. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/git.py +0 -0
  330. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/imports.py +0 -0
  331. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/lite.py +0 -0
  332. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/main.py +0 -0
  333. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/manifests.py +0 -0
  334. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/scripts.py +0 -0
  335. {omdev-0.0.2 → omdev-0.0.3}/omdev/precheck/unicode.py +0 -0
  336. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/__init__.py +0 -0
  337. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/asts/__init__.py +0 -0
  338. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/asts/parents.py +0 -0
  339. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/asts/toplevel.py +0 -0
  340. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/asts/visitors.py +0 -0
  341. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/attrdocs.py +0 -0
  342. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/bracepy.py +0 -0
  343. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/classdot.py +0 -0
  344. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/LICENSE +0 -0
  345. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/__init__.py +0 -0
  346. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/attrdoc.py +0 -0
  347. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/common.py +0 -0
  348. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/epydoc.py +0 -0
  349. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/google.py +0 -0
  350. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/numpydoc.py +0 -0
  351. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/parser.py +0 -0
  352. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/docstrings/rest.py +0 -0
  353. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/findimports.py +0 -0
  354. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/reprs.py +0 -0
  355. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/scripts/__init__.py +0 -0
  356. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/scripts/bumpversion.py +0 -0
  357. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/srcheaders.py +0 -0
  358. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tokens/__init__.py +0 -0
  359. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tokens/all.py +0 -0
  360. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tokens/tokenizert.py +0 -0
  361. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tokens/utils.py +0 -0
  362. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tools/__init__.py +0 -0
  363. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tools/importscan.py +0 -0
  364. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tools/mkrelimp.py +0 -0
  365. {omdev-0.0.2 → omdev-0.0.3}/omdev/py/tools/pipdepup.py +0 -0
  366. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/__init__.py +0 -0
  367. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/__main__.py +0 -0
  368. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/cli.py +0 -0
  369. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/configs.py +0 -0
  370. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/inject.py +0 -0
  371. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/reqs.py +0 -0
  372. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/resources/dockerdev.sh +0 -0
  373. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/resources/python.sh +0 -0
  374. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/tools/__init__.py +0 -0
  375. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/tools/aboutdeps.py +0 -0
  376. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/tools/buildrs.py +0 -0
  377. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/tools/pyversions.py +0 -0
  378. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/venvs.py +0 -0
  379. {omdev-0.0.2 → omdev-0.0.3}/omdev/pyproject/versions.py +0 -0
  380. {omdev-0.0.2 → omdev-0.0.3}/omdev/rs/__init__.py +0 -0
  381. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/__init__.py +0 -0
  382. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/__init__.py +0 -0
  383. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/formats/__init__.py +0 -0
  384. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/lib/io/__init__.py +0 -0
  385. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/slowcat.py +0 -0
  386. {omdev-0.0.2 → omdev-0.0.3}/omdev/scripts/tmpexec.py +0 -0
  387. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/__init__.py +0 -0
  388. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/cloc.py +0 -0
  389. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/diff.py +0 -0
  390. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/doc.py +0 -0
  391. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/docker.py +0 -0
  392. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/git/__init__.py +0 -0
  393. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/git/__main__.py +0 -0
  394. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/git/cli.py +0 -0
  395. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/git/cloning.py +0 -0
  396. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/git/consts.py +0 -0
  397. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/git/messages.py +0 -0
  398. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/__init__.py +0 -0
  399. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/__main__.py +0 -0
  400. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/cli.py +0 -0
  401. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/formats.py +0 -0
  402. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/io.py +0 -0
  403. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/parsing.py +0 -0
  404. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/json/rendering.py +0 -0
  405. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/jsonview/__init__.py +0 -0
  406. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/jsonview/__main__.py +0 -0
  407. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/jsonview/cli.py +0 -0
  408. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/jsonview/resources/jsonview.css +0 -0
  409. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
  410. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/jsonview/resources/jsonview.js +0 -0
  411. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/linehisto.py +0 -0
  412. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/mkenv.py +0 -0
  413. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/notebook.py +0 -0
  414. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/pawk/README.md +0 -0
  415. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/pawk/__init__.py +0 -0
  416. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/pawk/__main__.py +0 -0
  417. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/pip.py +0 -0
  418. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/prof.py +0 -0
  419. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/qr.py +0 -0
  420. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/shadow.py +0 -0
  421. {omdev-0.0.2 → omdev-0.0.3}/omdev/tools/shell.py +0 -0
  422. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/__init__.py +0 -0
  423. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/__init__.py +0 -0
  424. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/edit/__init__.py +0 -0
  425. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/edit/main.py +0 -0
  426. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/irc/__init__.py +0 -0
  427. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/irc/__main__.py +0 -0
  428. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/irc/app.py +0 -0
  429. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/irc/client.py +0 -0
  430. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/irc/main.py +0 -0
  431. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/LICENSE +0 -0
  432. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/__init__.py +0 -0
  433. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/__main__.py +0 -0
  434. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/app.py +0 -0
  435. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/cli.py +0 -0
  436. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/styles/layout.tcss +0 -0
  437. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/utils.py +0 -0
  438. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/jtree/widgets.py +0 -0
  439. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/markdown/__init__.py +0 -0
  440. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/markdown/__main__.py +0 -0
  441. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/apps/markdown/cli.py +0 -0
  442. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/__init__.py +0 -0
  443. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/console2.py +0 -0
  444. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/LICENSE +0 -0
  445. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/__init__.py +0 -0
  446. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/__main__.py +0 -0
  447. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/_compat.py +0 -0
  448. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/cli.py +0 -0
  449. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/rendering.py +0 -0
  450. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/diff/underlinebar.py +0 -0
  451. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/textual/__init__.py +0 -0
  452. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/textual/dark.py +0 -0
  453. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/rich/textual/dump.py +0 -0
  454. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/__init__.py +0 -0
  455. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/app2.py +0 -0
  456. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/autocomplete/LICENSE +0 -0
  457. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/autocomplete/__init__.py +0 -0
  458. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/autocomplete/matching.py +0 -0
  459. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/autocomplete/paths.py +0 -0
  460. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/autocomplete/widget.py +0 -0
  461. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/binding2.py +0 -0
  462. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/debug/__init__.py +0 -0
  463. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/debug/screen.py +0 -0
  464. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/devtools.py +0 -0
  465. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/logging2.py +0 -0
  466. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/render2.py +0 -0
  467. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/screen2.py +0 -0
  468. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/types.py +0 -0
  469. {omdev-0.0.2 → omdev-0.0.3}/omdev/tui/textual/widgets2.py +0 -0
  470. {omdev-0.0.2 → omdev-0.0.3}/omdev.egg-info/SOURCES.txt +0 -0
  471. {omdev-0.0.2 → omdev-0.0.3}/omdev.egg-info/dependency_links.txt +0 -0
  472. {omdev-0.0.2 → omdev-0.0.3}/omdev.egg-info/entry_points.txt +0 -0
  473. {omdev-0.0.2 → omdev-0.0.3}/omdev.egg-info/top_level.txt +0 -0
  474. {omdev-0.0.2 → omdev-0.0.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,7 +14,7 @@ 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.2
17
+ Requires-Dist: omlish==0.0.3
18
18
  Provides-Extra: all
19
19
  Requires-Dist: black~=26.3; extra == "all"
20
20
  Requires-Dist: pycparser~=3.0; extra == "all"
@@ -25,7 +25,7 @@ class Context(lang.Abstract, lang.Sealed):
25
25
  obj: Object,
26
26
  *,
27
27
  dependencies: VersionMap = col.frozendict(),
28
- parent: ta.Optional['Context'] = None,
28
+ parent: Context | None = None,
29
29
  ) -> None:
30
30
  super().__init__()
31
31
 
@@ -53,11 +53,11 @@ class Context(lang.Abstract, lang.Sealed):
53
53
  return self._dependencies
54
54
 
55
55
  @property
56
- def parent(self) -> ta.Optional['Context']:
56
+ def parent(self) -> Context | None:
57
57
  return self._parent
58
58
 
59
59
  @property
60
- def children(self) -> ta.Sequence['Context']:
60
+ def children(self) -> ta.Sequence[Context]:
61
61
  return self._children
62
62
 
63
63
  @property
@@ -196,7 +196,7 @@ class CmakeProjectGen:
196
196
  class _CmakeListsGen:
197
197
  def __init__(
198
198
  self,
199
- p: 'CmakeProjectGen',
199
+ p: CmakeProjectGen,
200
200
  out: ta.TextIO,
201
201
  ) -> None:
202
202
  super().__init__()
@@ -209,7 +209,7 @@ class CmakeProjectGen:
209
209
  return self.p.prj_name().upper()
210
210
 
211
211
  @lang.cached_property
212
- def py(self) -> 'CmakeProjectGen.PyInfo':
212
+ def py(self) -> CmakeProjectGen.PyInfo:
213
213
  return self.p.py_info()
214
214
 
215
215
  def _add_ext(self, ext_src: str) -> None:
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  import abc
3
3
  import dataclasses as dc
4
4
  import typing as ta
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP043 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP043 UP045
2
2
  import asyncio
3
3
  import contextlib
4
4
  import ssl
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  """
3
3
  export FILE_SIZE=$(stat --format="%s" $FILE)
4
4
 
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  """
3
3
  https://github.com/tonistiigi/go-actions-cache/blob/3e9a6642607fd6e4d5d4fdab7c91fe8bf4c36a25/cache_v2.go
4
4
 
@@ -43,7 +43,7 @@ def __omlish_amalg__(): # noqa
43
43
  dict(path='../../omlish/lite/objects.py', sha1='9566bbf3530fd71fcc56321485216b592fae21e9'),
44
44
  dict(path='../../omlish/lite/reflect.py', sha1='c4fec44bf144e9d93293c996af06f6c65fc5e63d'),
45
45
  dict(path='../../omlish/lite/strings.py', sha1='89831ecbc34ad80e118a865eceb390ed399dc4d6'),
46
- dict(path='../../omlish/lite/marshal.py', sha1='96348f5f2a26dc27d842d33cc3927e9da163436b'),
46
+ dict(path='../../omlish/lite/marshal.py', sha1='66bc88d705df274e9fa1168d2aab20c7e3935cf6'),
47
47
  dict(path='dumping.py', sha1='982d4f7a46f40e48da4daadb082b7e66acb34ae9'),
48
48
  ],
49
49
  )
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  import abc
3
3
  import dataclasses as dc
4
4
  import http.client
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  """
3
3
  TODO:
4
4
  - generate to nginx config
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  import dataclasses as dc
3
3
  import http.client
4
4
  import typing as ta
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  import dataclasses as dc
3
3
  import typing as ta
4
4
 
@@ -28,12 +28,16 @@ rbenv_versions = [
28
28
  uv_python_versions = [
29
29
  '3.13',
30
30
  '3.14',
31
+ '3.14+freethreaded',
31
32
  ]
32
33
 
33
34
  pyenv_version_keys = [
34
35
  '8',
35
36
  '13',
36
37
  '14',
38
+ '14t',
39
+ '15',
40
+ '15t',
37
41
  ]
38
42
 
39
43
  workdir = '/work'
@@ -33,7 +33,7 @@ StaticEnv: ta.TypeAlias = ta.Union[
33
33
 
34
34
  @dc.dataclass(frozen=True)
35
35
  class WithStaticEnv:
36
- body: 'Content'
36
+ body: Content
37
37
  env: StaticEnv
38
38
 
39
39
 
@@ -42,7 +42,7 @@ class WithStaticEnv:
42
42
 
43
43
  @dc.dataclass(frozen=True)
44
44
  class LazyContent:
45
- fn: ta.Callable[[], 'Content']
45
+ fn: ta.Callable[[], Content]
46
46
 
47
47
 
48
48
  #
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  import dataclasses as dc
3
3
  import json
4
4
  import logging
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  """
3
3
  TODO:
4
4
  - ~/.cache/omlish/interp/standalone/...
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  import abc
3
3
  import dataclasses as dc
4
4
  import itertools
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006
1
+ # ruff: noqa: UP006 UP037 UP045
2
2
  import collections
3
3
  import dataclasses as dc
4
4
  import typing as ta
@@ -21,7 +21,7 @@ class MessageFormat(dc.Frozen, final=True):
21
21
 
22
22
  class Param(dc.Case):
23
23
  @classmethod
24
- def of(cls, obj: ta.Any) -> 'MessageFormat.Param':
24
+ def of(cls, obj: ta.Any) -> MessageFormat.Param:
25
25
  if isinstance(obj, MessageFormat.Param):
26
26
  return obj
27
27
 
@@ -84,7 +84,7 @@ class MessageFormat(dc.Frozen, final=True):
84
84
  name: str,
85
85
  *params: ta.Any,
86
86
  **kwargs: ta.Any,
87
- ) -> 'MessageFormat':
87
+ ) -> MessageFormat:
88
88
  return cls(
89
89
  name,
90
90
  [MessageFormat.Param.of(p) for p in params],
@@ -22,7 +22,7 @@ from .base import list_pair_params_unpacker
22
22
  ##
23
23
 
24
24
 
25
- _REGISTERED_IRC_MESSAGES_BY_NAME: dict[str, list[type['Message']]] = {}
25
+ _REGISTERED_IRC_MESSAGES_BY_NAME: dict[str, list[type[Message]]] = {}
26
26
 
27
27
 
28
28
  def _register_irc_message(cls):
@@ -19,7 +19,7 @@ class NumericReply:
19
19
  name: str,
20
20
  num: int,
21
21
  *formats: str,
22
- ) -> 'NumericReply':
22
+ ) -> NumericReply:
23
23
  return cls(
24
24
  name,
25
25
  num,
@@ -21,7 +21,7 @@ class Nuh:
21
21
  return iter(self.tuple)
22
22
 
23
23
  @classmethod
24
- def parse(cls, inp: str) -> 'Nuh':
24
+ def parse(cls, inp: str) -> Nuh:
25
25
  if not inp:
26
26
  raise MalformedNuhError
27
27
 
@@ -43,7 +43,7 @@ def __omlish_amalg__(): # noqa
43
43
  dict(path='../../omlish/lite/objects.py', sha1='9566bbf3530fd71fcc56321485216b592fae21e9'),
44
44
  dict(path='../../omlish/lite/reflect.py', sha1='c4fec44bf144e9d93293c996af06f6c65fc5e63d'),
45
45
  dict(path='../../omlish/lite/strings.py', sha1='89831ecbc34ad80e118a865eceb390ed399dc4d6'),
46
- dict(path='../../omlish/lite/marshal.py', sha1='96348f5f2a26dc27d842d33cc3927e9da163436b'),
46
+ dict(path='../../omlish/lite/marshal.py', sha1='66bc88d705df274e9fa1168d2aab20c7e3935cf6'),
47
47
  dict(path='dumping.py', sha1='49acd06fdcc3427f4a255fea295d7042bb655a13'),
48
48
  ],
49
49
  )
@@ -16,7 +16,7 @@ class IncrementalMarkdownParser:
16
16
  def __init__(
17
17
  self,
18
18
  *,
19
- parser: ta.Optional['md.MarkdownIt'] = None,
19
+ parser: md.MarkdownIt | None = None,
20
20
  ) -> None:
21
21
  super().__init__()
22
22
 
@@ -29,9 +29,9 @@ class IncrementalMarkdownParser:
29
29
  self._num_stable_lines = 0 # Number of lines in stable tokens
30
30
 
31
31
  class FeedOutput(ta.NamedTuple):
32
- stable: ta.Sequence['md.token.Token']
33
- new_stable: ta.Sequence['md.token.Token']
34
- unstable: ta.Sequence['md.token.Token']
32
+ stable: ta.Sequence[md.token.Token]
33
+ new_stable: ta.Sequence[md.token.Token]
34
+ unstable: ta.Sequence[md.token.Token]
35
35
 
36
36
  def feed2(self, chunk: str) -> FeedOutput:
37
37
  self._buffer += chunk
@@ -77,11 +77,11 @@ class IncrementalMarkdownParser:
77
77
  unstable=adjusted_tokens[stable_count:],
78
78
  )
79
79
 
80
- def feed(self, chunk: str) -> list['md.token.Token']:
80
+ def feed(self, chunk: str) -> list[md.token.Token]:
81
81
  out = self.feed2(chunk)
82
82
  return [*out.stable, *out.unstable]
83
83
 
84
- def _find_stable_token_count(self, tokens: list['md.token.Token']) -> int:
84
+ def _find_stable_token_count(self, tokens: list[md.token.Token]) -> int:
85
85
  if not tokens:
86
86
  return 0
87
87
 
@@ -100,9 +100,9 @@ class IncrementalMarkdownParser:
100
100
 
101
101
  def _adjust_token_line_numbers(
102
102
  self,
103
- tokens: list['md.token.Token'],
103
+ tokens: list[md.token.Token],
104
104
  line_offset: int,
105
- ) -> list['md.token.Token']:
105
+ ) -> list[md.token.Token]:
106
106
  adjusted = []
107
107
  for token in tokens:
108
108
  if token.map:
@@ -125,7 +125,7 @@ class ClaudeIncrementalMarkdownParser:
125
125
  def __init__(
126
126
  self,
127
127
  *,
128
- parser: ta.Optional['md.MarkdownIt'] = None,
128
+ parser: md.MarkdownIt | None = None,
129
129
  ) -> None:
130
130
  super().__init__()
131
131
 
@@ -138,9 +138,9 @@ class ClaudeIncrementalMarkdownParser:
138
138
  self._num_stable_lines = 0
139
139
 
140
140
  class FeedOutput(ta.NamedTuple):
141
- stable: ta.Sequence['md.token.Token']
142
- new_stable: ta.Sequence['md.token.Token']
143
- unstable: ta.Sequence['md.token.Token']
141
+ stable: ta.Sequence[md.token.Token]
142
+ new_stable: ta.Sequence[md.token.Token]
143
+ unstable: ta.Sequence[md.token.Token]
144
144
 
145
145
  def feed2(self, chunk: str) -> FeedOutput:
146
146
  self._buffer += chunk
@@ -177,13 +177,13 @@ class ClaudeIncrementalMarkdownParser:
177
177
  unstable=adjusted_tokens[stable_count:],
178
178
  )
179
179
 
180
- def feed(self, chunk: str) -> list['md.token.Token']:
180
+ def feed(self, chunk: str) -> list[md.token.Token]:
181
181
  out = self.feed2(chunk)
182
182
  return [*out.stable, *out.unstable]
183
183
 
184
184
  def _find_stable_token_count(
185
185
  self,
186
- tokens: list['md.token.Token'],
186
+ tokens: list[md.token.Token],
187
187
  buffer: str,
188
188
  ) -> int:
189
189
  if not tokens:
@@ -253,9 +253,9 @@ class ClaudeIncrementalMarkdownParser:
253
253
 
254
254
  def _adjust_token_line_numbers(
255
255
  self,
256
- tokens: list['md.token.Token'],
256
+ tokens: list[md.token.Token],
257
257
  line_offset: int,
258
- ) -> list['md.token.Token']:
258
+ ) -> list[md.token.Token]:
259
259
  adjusted = []
260
260
  for token in tokens:
261
261
  if token.map:
@@ -275,7 +275,7 @@ class GptIncrementalMarkdownParser:
275
275
  def __init__(
276
276
  self,
277
277
  *,
278
- parser: ta.Optional['md.MarkdownIt'] = None,
278
+ parser: md.MarkdownIt | None = None,
279
279
  ) -> None:
280
280
  super().__init__()
281
281
 
@@ -288,9 +288,9 @@ class GptIncrementalMarkdownParser:
288
288
  self._num_stable_lines = 0 # Number of *source* lines removed from the buffer and committed.
289
289
 
290
290
  class FeedOutput(ta.NamedTuple):
291
- stable: ta.Sequence['md.token.Token']
292
- new_stable: ta.Sequence['md.token.Token']
293
- unstable: ta.Sequence['md.token.Token']
291
+ stable: ta.Sequence[md.token.Token]
292
+ new_stable: ta.Sequence[md.token.Token]
293
+ unstable: ta.Sequence[md.token.Token]
294
294
 
295
295
  def feed2(self, chunk: str) -> FeedOutput:
296
296
  self._buffer += chunk
@@ -346,7 +346,7 @@ class GptIncrementalMarkdownParser:
346
346
  unstable=unstable,
347
347
  )
348
348
 
349
- def feed(self, chunk: str) -> list['md.token.Token']:
349
+ def feed(self, chunk: str) -> list[md.token.Token]:
350
350
  out = self.feed2(chunk)
351
351
  return [*out.stable, *out.unstable]
352
352
 
@@ -470,12 +470,12 @@ class GptIncrementalMarkdownParser:
470
470
 
471
471
  def _adjust_token_line_numbers(
472
472
  self,
473
- tokens: list['md.token.Token'],
473
+ tokens: list[md.token.Token],
474
474
  line_offset: int,
475
- ) -> list['md.token.Token']:
475
+ ) -> list[md.token.Token]:
476
476
  adjusted: list[md.token.Token] = []
477
477
 
478
- def adj_tok(t: 'md.token.Token') -> 'md.token.Token':
478
+ def adj_tok(t: md.token.Token) -> md.token.Token:
479
479
  nt = t
480
480
  if nt.map:
481
481
  nt = dc.replace(
@@ -12,7 +12,7 @@ with lang.auto_proxy_import(globals()):
12
12
  ##
13
13
 
14
14
 
15
- def token_repr(t: 'md.token.Token') -> str:
15
+ def token_repr(t: md.token.Token) -> str:
16
16
  return ''.join([
17
17
  'Token(',
18
18
  f'type={t.type!r}',
@@ -36,11 +36,11 @@ def token_repr(t: 'md.token.Token') -> str:
36
36
 
37
37
 
38
38
  def flatten_tokens(
39
- tokens: ta.Iterable['md.token.Token'],
39
+ tokens: ta.Iterable[md.token.Token],
40
40
  *,
41
- filter: ta.Callable[['md.token.Token'], bool] | None = None, # noqa
42
- ) -> ta.Iterable['md.token.Token']:
43
- def rec(tks: ta.Iterable['md.token.Token']) -> ta.Iterator['md.token.Token']:
41
+ filter: ta.Callable[[md.token.Token], bool] | None = None, # noqa
42
+ ) -> ta.Iterable[md.token.Token]:
43
+ def rec(tks: ta.Iterable[md.token.Token]) -> ta.Iterator[md.token.Token]:
44
44
  for tk in tks:
45
45
  if tk.children and not (filter is not None and not filter(tk)):
46
46
  yield from rec(tk.children)
@@ -35,7 +35,7 @@ class JsonOutputError:
35
35
 
36
36
 
37
37
  def _report_build_result(
38
- result: 'mypy.build.BuildResult',
38
+ result: mypy.build.BuildResult,
39
39
  ) -> None:
40
40
  errors: ta.Sequence[mypy.errors.ErrorInfo] = [
41
41
  e
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  # @omlish-lite
3
3
  import dataclasses as dc
4
4
  import enum
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  # @omlish-lite
3
3
  import abc
4
4
  import os.path
@@ -1,4 +1,4 @@
1
- # ruff: noqa: UP006 UP007 UP045
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
2
2
  # @omlish-lite
3
3
  # Copyright (c) Donald Stufft and individual contributors.
4
4
  # All rights reserved.
@@ -1,3 +1,4 @@
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
1
2
  # @omlish-lite
2
3
  # Copyright (c) Donald Stufft and individual contributors.
3
4
  # All rights reserved.
@@ -21,7 +22,6 @@
21
22
  # Apache License, Version 2.0, and the BSD License. See the LICENSE file in the root of this repository for complete
22
23
  # details.
23
24
  # https://github.com/pypa/packaging/blob/2c885fe91a54559e2382902dce28428ad2887be5/src/packaging/version.py
24
- # ruff: noqa: UP006 UP007 UP045
25
25
  import itertools
26
26
  import re
27
27
  import typing as ta
@@ -27,7 +27,7 @@ class Precheck(cfgs.Configurable[PrecheckConfigT], lang.Abstract):
27
27
 
28
28
  @dc.dataclass(frozen=True)
29
29
  class Violation:
30
- pc: 'Precheck'
30
+ pc: Precheck
31
31
  msg: str
32
32
 
33
33
  @abc.abstractmethod
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env python3
2
- # ruff: noqa: UP045
2
+ # ruff: noqa: UP037 UP045
3
3
  # @omlish-lite
4
4
  # @omlish-script
5
5
  import argparse
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  # @omlish-script
3
- # ruff: noqa: PYI034 UP006 UP007 UP045
3
+ # ruff: noqa: PYI034 UP006 UP007 UP037 UP045
4
4
  """
5
5
  TODO:
6
6
  - !! amalg !!
@@ -1,3 +1,4 @@
1
+ # ruff: noqa: UP006 UP007 UP037 UP045
1
2
  """
2
3
  TODO:
3
4
  - ext scanning
@@ -24,7 +25,6 @@ https://pip.pypa.io/en/stable/cli/pip_install/#vcs-support
24
25
  vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir
25
26
  'git+https://github.com/wrmsr/omlish@master#subdirectory=.pip/omlish'
26
27
  """ # noqa
27
- # ruff: noqa: UP006 UP007 UP045
28
28
  import abc
29
29
  import dataclasses as dc
30
30
  import glob