omdev 0.0.0.dev533__tar.gz → 0.0.0.dev534__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 (445) hide show
  1. {omdev-0.0.0.dev533/omdev.egg-info → omdev-0.0.0.dev534}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataclasses/_dumping.py +5 -5
  3. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/cli.py +43 -0
  4. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/manifests/_dumping.py +5 -5
  5. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/pkg.py +47 -12
  6. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/ci.py +5 -5
  7. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/interp.py +5 -5
  8. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/lib/formats/goyaml.py +5 -5
  9. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/lib/inject.py +5 -5
  10. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/lib/marshal.py +5 -5
  11. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/pyproject.py +51 -18
  12. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534/omdev.egg-info}/PKG-INFO +2 -2
  13. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev.egg-info/SOURCES.txt +1 -9
  14. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev.egg-info/requires.txt +1 -1
  15. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/pyproject.toml +19 -15
  16. omdev-0.0.0.dev533/omdev/dockerdev/resources/.pkgdata +0 -2
  17. omdev-0.0.0.dev533/omdev/dockerdev/resources/configs/.pkgdata +0 -2
  18. omdev-0.0.0.dev533/omdev/tools/pawk/__init__.py +0 -0
  19. omdev-0.0.0.dev533/omdev/tui/__init__.py +0 -0
  20. omdev-0.0.0.dev533/omdev/tui/apps/__init__.py +0 -0
  21. omdev-0.0.0.dev533/omdev/tui/apps/edit/__init__.py +0 -0
  22. omdev-0.0.0.dev533/omdev/tui/apps/irc/__init__.py +0 -0
  23. omdev-0.0.0.dev533/omdev/tui/apps/markdown/__init__.py +0 -0
  24. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/LICENSE +0 -0
  25. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/MANIFEST.in +0 -0
  26. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/README.md +0 -0
  27. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/.omlish-manifests.json +0 -0
  28. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/README.md +0 -0
  29. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/__about__.py +0 -0
  30. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/__init__.py +0 -0
  31. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/__init__.py +0 -0
  32. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/__main__.py +0 -0
  33. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/cli/__init__.py +0 -0
  34. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/cli/main.py +0 -0
  35. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/__init__.py +0 -0
  36. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/gen.py +0 -0
  37. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/imports.py +0 -0
  38. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/manifests.py +0 -0
  39. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/resources.py +0 -0
  40. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/srcfiles.py +0 -0
  41. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/strip.py +0 -0
  42. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/types.py +0 -0
  43. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/gen/typing.py +0 -0
  44. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/info.py +0 -0
  45. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/amalg/sources.py +0 -0
  46. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/__init__.py +0 -0
  47. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/__init__.py +0 -0
  48. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/cache.py +0 -0
  49. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/contexts.py +0 -0
  50. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/currents.py +0 -0
  51. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/fns.py +0 -0
  52. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/resolvers.py +0 -0
  53. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/storage.py +0 -0
  54. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/compute/types.py +0 -0
  55. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/data/__init__.py +0 -0
  56. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/data/actions.py +0 -0
  57. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/data/cache.py +0 -0
  58. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/data/consts.py +0 -0
  59. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/data/defaults.py +0 -0
  60. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/data/manifests.py +0 -0
  61. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cache/data/specs.py +0 -0
  62. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/__init__.py +0 -0
  63. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/darwin/__init__.py +0 -0
  64. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/darwin/aps.py +0 -0
  65. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/darwin/ax.py +0 -0
  66. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/darwin/cf.py +0 -0
  67. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/darwin/cg.py +0 -0
  68. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/linux/__init__.py +0 -0
  69. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/capi/linux/x11.py +0 -0
  70. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cc/__init__.py +0 -0
  71. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cc/__main__.py +0 -0
  72. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cc/cdeps.py +0 -0
  73. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cc/cdeps.toml +0 -0
  74. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cc/cli.py +0 -0
  75. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cc/srclangs.py +0 -0
  76. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/__init__.py +0 -0
  77. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_boilerplate.cc +0 -0
  78. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/LICENSE +0 -0
  79. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/__init__.py +0 -0
  80. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/build_ext.py +0 -0
  81. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  82. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  83. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/compilers/options.py +0 -0
  84. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  85. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/dir_util.py +0 -0
  86. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/errors.py +0 -0
  87. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/extension.py +0 -0
  88. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/file_util.py +0 -0
  89. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/modified.py +0 -0
  90. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/spawn.py +0 -0
  91. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/sysconfig.py +0 -0
  92. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/util.py +0 -0
  93. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/_distutils/version.py +0 -0
  94. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/build.py +0 -0
  95. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/cmake.py +0 -0
  96. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/importhook.py +0 -0
  97. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/magic.py +0 -0
  98. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cexts/scan.py +0 -0
  99. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/__init__.py +0 -0
  100. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/__main__.py +0 -0
  101. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/cache.py +0 -0
  102. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/ci.py +0 -0
  103. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/cli.py +0 -0
  104. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/compose.py +0 -0
  105. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/consts.py +0 -0
  106. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/__init__.py +0 -0
  107. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/buildcaching.py +0 -0
  108. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/cache.py +0 -0
  109. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  110. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/cacheserved/cache.py +0 -0
  111. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  112. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/cmds.py +0 -0
  113. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/dataserver.py +0 -0
  114. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/imagepulling.py +0 -0
  115. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/inject.py +0 -0
  116. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/packing.py +0 -0
  117. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/repositories.py +0 -0
  118. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/docker/utils.py +0 -0
  119. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/__init__.py +0 -0
  120. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/__init__.py +0 -0
  121. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/clients.py +0 -0
  122. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/v1/__init__.py +0 -0
  123. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/v1/api.py +0 -0
  124. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/v1/client.py +0 -0
  125. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/v2/__init__.py +0 -0
  126. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/v2/api.py +0 -0
  127. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/v2/azure.py +0 -0
  128. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/api/v2/client.py +0 -0
  129. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/bootstrap.py +0 -0
  130. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/cache.py +0 -0
  131. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/cli.py +0 -0
  132. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/env.py +0 -0
  133. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/github/inject.py +0 -0
  134. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/inject.py +0 -0
  135. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/requirements.py +0 -0
  136. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/shell.py +0 -0
  137. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/ci/utils.py +0 -0
  138. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/__init__.py +0 -0
  139. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/__main__.py +0 -0
  140. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/_pathhack.py +0 -0
  141. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/clicli.py +0 -0
  142. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/install.py +0 -0
  143. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/main.py +0 -0
  144. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/managers.py +0 -0
  145. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cli/types.py +0 -0
  146. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/clipboard/__init__.py +0 -0
  147. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/clipboard/capi/__init__.py +0 -0
  148. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/clipboard/capi/darwin_cf.py +0 -0
  149. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/clipboard/capi/linux_x11.py +0 -0
  150. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/clipboard/commands.py +0 -0
  151. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/clipboard/platform.py +0 -0
  152. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/clipboard/types.py +0 -0
  153. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cmake.py +0 -0
  154. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cmdlog/__init__.py +0 -0
  155. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cmdlog/__main__.py +0 -0
  156. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cmdlog/_cmdlog.py +0 -0
  157. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cmdlog/cli.py +0 -0
  158. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/cmdlog/cmdlog.py +0 -0
  159. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataclasses/__init__.py +0 -0
  160. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataclasses/__main__.py +0 -0
  161. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataclasses/_template.py +0 -0
  162. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataclasses/cli.py +0 -0
  163. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataclasses/codegen.py +0 -0
  164. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataclasses/dumping.py +0 -0
  165. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataserver/__init__.py +0 -0
  166. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataserver/handlers.py +0 -0
  167. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataserver/http.py +0 -0
  168. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataserver/routes.py +0 -0
  169. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataserver/server.py +0 -0
  170. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dataserver/targets.py +0 -0
  171. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/__init__.py +0 -0
  172. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/__main__.py +0 -0
  173. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/config.toml +0 -0
  174. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/content.py +0 -0
  175. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/gen.py +0 -0
  176. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/helpers.py +0 -0
  177. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/ops.py +0 -0
  178. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/rendering.py +0 -0
  179. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/.python-versions.json +0 -0
  180. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
  181. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
  182. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/configs/.vimrc +0 -0
  183. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/depsets/python.toml +0 -0
  184. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/depsets/system.toml +0 -0
  185. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
  186. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
  187. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
  188. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
  189. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/go.sh +0 -0
  190. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
  191. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
  192. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
  193. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
  194. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
  195. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
  196. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
  197. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
  198. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/dockerdev/resources/xu +0 -0
  199. {omdev-0.0.0.dev533/omdev/dockerdev/resources → omdev-0.0.0.dev534/omdev/git}/__init__.py +0 -0
  200. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/git/magic.py +0 -0
  201. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/git/revisions.py +0 -0
  202. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/git/shallow.py +0 -0
  203. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/git/status.py +0 -0
  204. {omdev-0.0.0.dev533/omdev/dockerdev/resources/configs → omdev-0.0.0.dev534/omdev/home}/__init__.py +0 -0
  205. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/home/paths.py +0 -0
  206. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/home/secrets.py +0 -0
  207. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/home/shadow.py +0 -0
  208. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/imgur.py +0 -0
  209. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/intellij/__init__.py +0 -0
  210. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/intellij/cli.py +0 -0
  211. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/intellij/ides.py +0 -0
  212. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/intellij/open.py +0 -0
  213. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/__init__.py +0 -0
  214. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/__main__.py +0 -0
  215. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/cli.py +0 -0
  216. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/default.py +0 -0
  217. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/inject.py +0 -0
  218. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/inspect.py +0 -0
  219. {omdev-0.0.0.dev533/omdev/dockerdev/resources/depsets → omdev-0.0.0.dev534/omdev/interp/providers}/__init__.py +0 -0
  220. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/providers/base.py +0 -0
  221. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/providers/inject.py +0 -0
  222. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/providers/running.py +0 -0
  223. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/providers/standalone.py +0 -0
  224. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/providers/system.py +0 -0
  225. {omdev-0.0.0.dev533/omdev/dockerdev/resources/fragments → omdev-0.0.0.dev534/omdev/interp/pyenv}/__init__.py +0 -0
  226. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/pyenv/inject.py +0 -0
  227. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/pyenv/install.py +0 -0
  228. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/pyenv/provider.py +0 -0
  229. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/pyenv/pyenv.py +0 -0
  230. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/resolvers.py +0 -0
  231. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/types.py +0 -0
  232. {omdev-0.0.0.dev533/omdev/git → omdev-0.0.0.dev534/omdev/interp/uv}/__init__.py +0 -0
  233. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/uv/inject.py +0 -0
  234. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/uv/provider.py +0 -0
  235. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/uv/uv.py +0 -0
  236. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/interp/venvs.py +0 -0
  237. {omdev-0.0.0.dev533/omdev/home → omdev-0.0.0.dev534/omdev/irc}/__init__.py +0 -0
  238. {omdev-0.0.0.dev533/omdev/interp/providers → omdev-0.0.0.dev534/omdev/irc/messages}/__init__.py +0 -0
  239. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/messages/base.py +0 -0
  240. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/messages/formats.py +0 -0
  241. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/messages/messages.py +0 -0
  242. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/messages/parsing.py +0 -0
  243. {omdev-0.0.0.dev533/omdev/interp/pyenv → omdev-0.0.0.dev534/omdev/irc/numerics}/__init__.py +0 -0
  244. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/numerics/formats.py +0 -0
  245. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/numerics/numerics.py +0 -0
  246. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/numerics/types.py +0 -0
  247. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/LICENSE +0 -0
  248. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/__init__.py +0 -0
  249. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/consts.py +0 -0
  250. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/errors.py +0 -0
  251. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/message.py +0 -0
  252. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/nuh.py +0 -0
  253. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/parsing.py +0 -0
  254. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/rendering.py +0 -0
  255. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/tags.py +0 -0
  256. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/irc/protocol/utils.py +0 -0
  257. {omdev-0.0.0.dev533/omdev/interp/uv → omdev-0.0.0.dev534/omdev/java}/__init__.py +0 -0
  258. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/java/__main__.py +0 -0
  259. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/java/cli.py +0 -0
  260. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/java/pomgen.py +0 -0
  261. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/java/xml.py +0 -0
  262. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/magic/__init__.py +0 -0
  263. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/magic/__main__.py +0 -0
  264. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/magic/cli.py +0 -0
  265. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/magic/find.py +0 -0
  266. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/magic/magic.py +0 -0
  267. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/magic/prepare.py +0 -0
  268. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/magic/styles.py +0 -0
  269. {omdev-0.0.0.dev533/omdev/irc → omdev-0.0.0.dev534/omdev/manifests}/__init__.py +0 -0
  270. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/manifests/__main__.py +0 -0
  271. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/manifests/building.py +0 -0
  272. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/manifests/dumping.py +0 -0
  273. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/manifests/main.py +0 -0
  274. {omdev-0.0.0.dev533/omdev/irc/messages → omdev-0.0.0.dev534/omdev/markdown}/__init__.py +0 -0
  275. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/markdown/incparse.py +0 -0
  276. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/markdown/tokens.py +0 -0
  277. {omdev-0.0.0.dev533/omdev/irc/numerics → omdev-0.0.0.dev534/omdev/mypy}/__init__.py +0 -0
  278. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/mypy/debug.py +0 -0
  279. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/mypy/report.py +0 -0
  280. {omdev-0.0.0.dev533/omdev/java → omdev-0.0.0.dev534/omdev/oci}/__init__.py +0 -0
  281. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/building.py +0 -0
  282. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/compression.py +0 -0
  283. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/data.py +0 -0
  284. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/datarefs.py +0 -0
  285. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/dataserver.py +0 -0
  286. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/loading.py +0 -0
  287. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/media.py +0 -0
  288. {omdev-0.0.0.dev533/omdev/manifests → omdev-0.0.0.dev534/omdev/oci/pack}/__init__.py +0 -0
  289. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/pack/packing.py +0 -0
  290. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/pack/repositories.py +0 -0
  291. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/pack/unpacking.py +0 -0
  292. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/repositories.py +0 -0
  293. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/oci/tars.py +0 -0
  294. {omdev-0.0.0.dev533/omdev/markdown → omdev-0.0.0.dev534/omdev/packaging}/__init__.py +0 -0
  295. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/packaging/marshal.py +0 -0
  296. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/packaging/names.py +0 -0
  297. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/packaging/requires.py +0 -0
  298. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/packaging/revisions.py +0 -0
  299. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/packaging/specifiers.py +0 -0
  300. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/packaging/versions.py +0 -0
  301. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/packaging/wheelfile.py +0 -0
  302. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pip.py +0 -0
  303. {omdev-0.0.0.dev533/omdev/mypy → omdev-0.0.0.dev534/omdev/precheck}/__init__.py +0 -0
  304. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/__main__.py +0 -0
  305. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/base.py +0 -0
  306. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/blanklines.py +0 -0
  307. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/caches.py +0 -0
  308. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/git.py +0 -0
  309. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/imports.py +0 -0
  310. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/lite.py +0 -0
  311. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/main.py +0 -0
  312. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/manifests.py +0 -0
  313. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/scripts.py +0 -0
  314. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/precheck/unicode.py +0 -0
  315. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/__init__.py +0 -0
  316. {omdev-0.0.0.dev533/omdev/oci → omdev-0.0.0.dev534/omdev/py/asts}/__init__.py +0 -0
  317. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/asts/parents.py +0 -0
  318. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/asts/toplevel.py +0 -0
  319. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/asts/visitors.py +0 -0
  320. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/attrdocs.py +0 -0
  321. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/bracepy.py +0 -0
  322. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/classdot.py +0 -0
  323. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/LICENSE +0 -0
  324. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/__init__.py +0 -0
  325. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/attrdoc.py +0 -0
  326. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/common.py +0 -0
  327. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/epydoc.py +0 -0
  328. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/google.py +0 -0
  329. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/numpydoc.py +0 -0
  330. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/parser.py +0 -0
  331. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/docstrings/rest.py +0 -0
  332. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/findimports.py +0 -0
  333. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/reprs.py +0 -0
  334. {omdev-0.0.0.dev533/omdev/oci/pack → omdev-0.0.0.dev534/omdev/py/scripts}/__init__.py +0 -0
  335. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/scripts/bumpversion.py +0 -0
  336. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/scripts/execstat.py +0 -0
  337. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/scripts/importtrace.py +0 -0
  338. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/srcheaders.py +0 -0
  339. {omdev-0.0.0.dev533/omdev/packaging → omdev-0.0.0.dev534/omdev/py/tokens}/__init__.py +0 -0
  340. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/tokens/all.py +0 -0
  341. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/tokens/tokenizert.py +0 -0
  342. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/tokens/utils.py +0 -0
  343. {omdev-0.0.0.dev533/omdev/precheck → omdev-0.0.0.dev534/omdev/py/tools}/__init__.py +0 -0
  344. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/tools/importscan.py +0 -0
  345. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/tools/mkrelimp.py +0 -0
  346. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/py/tools/pipdepup.py +0 -0
  347. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/__init__.py +0 -0
  348. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/__main__.py +0 -0
  349. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/cli.py +0 -0
  350. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/configs.py +0 -0
  351. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/inject.py +0 -0
  352. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/reqs.py +0 -0
  353. /omdev-0.0.0.dev533/omdev/pyproject/resources/docker-dev.sh → /omdev-0.0.0.dev534/omdev/pyproject/resources/dockerdev.sh +0 -0
  354. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/resources/python.sh +0 -0
  355. {omdev-0.0.0.dev533/omdev/py/asts → omdev-0.0.0.dev534/omdev/pyproject/tools}/__init__.py +0 -0
  356. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/tools/aboutdeps.py +0 -0
  357. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/tools/buildrs.py +0 -0
  358. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/tools/pyversions.py +0 -0
  359. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/venvs.py +0 -0
  360. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/pyproject/versions.py +0 -0
  361. {omdev-0.0.0.dev533/omdev/py/scripts → omdev-0.0.0.dev534/omdev/rs}/__init__.py +0 -0
  362. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/__init__.py +0 -0
  363. {omdev-0.0.0.dev533/omdev/py/tokens → omdev-0.0.0.dev534/omdev/scripts/lib}/__init__.py +0 -0
  364. {omdev-0.0.0.dev533/omdev/py/tools → omdev-0.0.0.dev534/omdev/scripts/lib/formats}/__init__.py +0 -0
  365. {omdev-0.0.0.dev533/omdev/pyproject/resources → omdev-0.0.0.dev534/omdev/scripts/lib/io}/__init__.py +0 -0
  366. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/lib/io/streams.py +0 -0
  367. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/lib/logs.py +0 -0
  368. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/slowcat.py +0 -0
  369. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/scripts/tmpexec.py +0 -0
  370. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tagstrings.py +0 -0
  371. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/__init__.py +0 -0
  372. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/cloc.py +0 -0
  373. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/diff.py +0 -0
  374. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/doc.py +0 -0
  375. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/docker.py +0 -0
  376. {omdev-0.0.0.dev533/omdev/pyproject/tools → omdev-0.0.0.dev534/omdev/tools/git}/__init__.py +0 -0
  377. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/git/__main__.py +0 -0
  378. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/git/cli.py +0 -0
  379. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/git/cloning.py +0 -0
  380. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/git/consts.py +0 -0
  381. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/git/messages.py +0 -0
  382. {omdev-0.0.0.dev533/omdev/rs → omdev-0.0.0.dev534/omdev/tools/json}/__init__.py +0 -0
  383. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/json/__main__.py +0 -0
  384. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/json/cli.py +0 -0
  385. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/json/formats.py +0 -0
  386. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/json/io.py +0 -0
  387. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/json/parsing.py +0 -0
  388. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/json/processing.py +0 -0
  389. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/json/rendering.py +0 -0
  390. {omdev-0.0.0.dev533/omdev/scripts/lib → omdev-0.0.0.dev534/omdev/tools/jsonview}/__init__.py +0 -0
  391. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/jsonview/__main__.py +0 -0
  392. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/jsonview/cli.py +0 -0
  393. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/jsonview/resources/jsonview.css +0 -0
  394. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
  395. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/jsonview/resources/jsonview.js +0 -0
  396. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/linehisto.py +0 -0
  397. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/mkenv.py +0 -0
  398. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/notebook.py +0 -0
  399. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/pawk/README.md +0 -0
  400. {omdev-0.0.0.dev533/omdev/scripts/lib/formats → omdev-0.0.0.dev534/omdev/tools/pawk}/__init__.py +0 -0
  401. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/pawk/__main__.py +0 -0
  402. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/pawk/pawk.py +0 -0
  403. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/pip.py +0 -0
  404. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/prof.py +0 -0
  405. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/qr.py +0 -0
  406. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/shadow.py +0 -0
  407. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/shell.py +0 -0
  408. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tools/sqlrepl.py +0 -0
  409. {omdev-0.0.0.dev533/omdev/scripts/lib/io → omdev-0.0.0.dev534/omdev/tui}/__init__.py +0 -0
  410. {omdev-0.0.0.dev533/omdev/tools/git → omdev-0.0.0.dev534/omdev/tui/apps}/__init__.py +0 -0
  411. {omdev-0.0.0.dev533/omdev/tools/json → omdev-0.0.0.dev534/omdev/tui/apps/edit}/__init__.py +0 -0
  412. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/edit/main.py +0 -0
  413. {omdev-0.0.0.dev533/omdev/tools/jsonview → omdev-0.0.0.dev534/omdev/tui/apps/irc}/__init__.py +0 -0
  414. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/irc/__main__.py +0 -0
  415. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/irc/app.py +0 -0
  416. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/irc/client.py +0 -0
  417. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/irc/commands.py +0 -0
  418. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/irc/main.py +0 -0
  419. {omdev-0.0.0.dev533/omdev/tools/jsonview/resources → omdev-0.0.0.dev534/omdev/tui/apps/markdown}/__init__.py +0 -0
  420. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/markdown/__main__.py +0 -0
  421. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/apps/markdown/cli.py +0 -0
  422. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/rich/__init__.py +0 -0
  423. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/rich/console2.py +0 -0
  424. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/rich/markdown2.py +0 -0
  425. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/__init__.py +0 -0
  426. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/app2.py +0 -0
  427. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/autocomplete/LICENSE +0 -0
  428. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/autocomplete/__init__.py +0 -0
  429. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/autocomplete/matching.py +0 -0
  430. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/autocomplete/paths.py +0 -0
  431. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/autocomplete/widget.py +0 -0
  432. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/binding2.py +0 -0
  433. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/clipboard.py +0 -0
  434. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/debug/__init__.py +0 -0
  435. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/debug/dominfo.py +0 -0
  436. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/debug/screen.py +0 -0
  437. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/devtools.py +0 -0
  438. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/drivers2.py +0 -0
  439. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/logging2.py +0 -0
  440. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/screen2.py +0 -0
  441. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev/tui/textual/types.py +0 -0
  442. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev.egg-info/dependency_links.txt +0 -0
  443. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev.egg-info/entry_points.txt +0 -0
  444. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/omdev.egg-info/top_level.txt +0 -0
  445. {omdev-0.0.0.dev533 → omdev-0.0.0.dev534}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev533
3
+ Version: 0.0.0.dev534
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.0.dev533
17
+ Requires-Dist: omlish==0.0.0.dev534
18
18
  Provides-Extra: all
19
19
  Requires-Dist: black~=26.1; extra == "all"
20
20
  Requires-Dist: pycparser~=3.0; extra == "all"
@@ -38,7 +38,7 @@ def __omlish_amalg__(): # noqa
38
38
  return dict(
39
39
  src_files=[
40
40
  dict(path='../../omlish/lite/abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
41
- dict(path='../../omlish/lite/check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
41
+ dict(path='../../omlish/lite/check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
42
42
  dict(path='../../omlish/lite/json.py', sha1='57eeddc4d23a17931e00284ffa5cb6e3ce089486'),
43
43
  dict(path='../../omlish/lite/objects.py', sha1='9566bbf3530fd71fcc56321485216b592fae21e9'),
44
44
  dict(path='../../omlish/lite/reflect.py', sha1='c4fec44bf144e9d93293c996af06f6c65fc5e63d'),
@@ -355,7 +355,7 @@ class Checks:
355
355
  ...
356
356
 
357
357
  def isinstance(self, v, spec, msg=None):
358
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
358
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
359
359
  self._raise(
360
360
  TypeError,
361
361
  'Must be instance',
@@ -375,7 +375,7 @@ class Checks:
375
375
  ...
376
376
 
377
377
  def of_isinstance(self, spec, msg=None, /):
378
- spec = self._unpack_isinstance_spec(spec)
378
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
379
379
 
380
380
  def inner(v):
381
381
  return self.isinstance(v, spec, msg)
@@ -400,7 +400,7 @@ class Checks:
400
400
  return inner
401
401
 
402
402
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
403
- if isinstance(v, self._unpack_isinstance_spec(spec)):
403
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
404
404
  self._raise(
405
405
  TypeError,
406
406
  'Must not be instance',
@@ -412,7 +412,7 @@ class Checks:
412
412
  return v
413
413
 
414
414
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
415
- spec = self._unpack_isinstance_spec(spec)
415
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
416
416
 
417
417
  def inner(v):
418
418
  return self.not_isinstance(v, spec, msg)
@@ -1,3 +1,46 @@
1
+ """
2
+ TODO:
3
+ - default run bash
4
+ - all of the below stuff
5
+
6
+ ====
7
+
8
+ if [ -t 1 ] ; then
9
+ TTY_ENV_ARGS="-e LINES=$(tput lines) -e COLUMNS=$(tput cols)"
10
+ else
11
+ TTY_ENV_ARGS=""
12
+ fi
13
+
14
+ SERVICE_NAME="$(basename "$SCRIPT_DIR")-dev"
15
+ if ! [ $# -eq 0 ] ; then
16
+ if [ "$1" = "--amd64" ] ; then
17
+ SERVICE_NAME="$SERVICE_NAME-amd64"
18
+ shift
19
+ fi
20
+ fi
21
+
22
+ CONTAINER_ID=$(docker-compose -f 'docker/compose.yml' ps -q "$SERVICE_NAME")
23
+ if [ -z "$CONTAINER_ID" ] ; then
24
+ echo "$SERVICE_NAME not running" 1>&2
25
+ exit 1
26
+ fi
27
+
28
+ if [ -z "$DOCKER_HOST_PLATFORM" ] ; then
29
+ if [ $(uname) = "Linux" ] ; then
30
+ DOCKER_HOST_PLATFORM=linux
31
+ elif [ $(uname) = "Darwin" ] ; then
32
+ DOCKER_HOST_PLATFORM=darwin
33
+ fi
34
+ fi
35
+
36
+ exec docker exec \
37
+ $TTY_ENV_ARGS \
38
+ -e DOCKER_HOST_PLATFORM="$DOCKER_HOST_PLATFORM" \
39
+ --privileged \
40
+ --detach-keys 'ctrl-o,ctrl-d' \
41
+ -it "$CONTAINER_ID" \
42
+ "$@"
43
+ """
1
44
  import os.path
2
45
  import re
3
46
  import shutil
@@ -39,7 +39,7 @@ def __omlish_amalg__(): # noqa
39
39
  src_files=[
40
40
  dict(path='../../omlish/lite/abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
41
41
  dict(path='../../omlish/lite/cached.py', sha1='0c33cf961ac8f0727284303c7a30c5ea98f714f2'),
42
- dict(path='../../omlish/lite/check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
42
+ dict(path='../../omlish/lite/check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
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'),
@@ -471,7 +471,7 @@ class Checks:
471
471
  ...
472
472
 
473
473
  def isinstance(self, v, spec, msg=None):
474
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
474
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
475
475
  self._raise(
476
476
  TypeError,
477
477
  'Must be instance',
@@ -491,7 +491,7 @@ class Checks:
491
491
  ...
492
492
 
493
493
  def of_isinstance(self, spec, msg=None, /):
494
- spec = self._unpack_isinstance_spec(spec)
494
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
495
495
 
496
496
  def inner(v):
497
497
  return self.isinstance(v, spec, msg)
@@ -516,7 +516,7 @@ class Checks:
516
516
  return inner
517
517
 
518
518
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
519
- if isinstance(v, self._unpack_isinstance_spec(spec)):
519
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
520
520
  self._raise(
521
521
  TypeError,
522
522
  'Must not be instance',
@@ -528,7 +528,7 @@ class Checks:
528
528
  return v
529
529
 
530
530
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
531
- spec = self._unpack_isinstance_spec(spec)
531
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
532
532
 
533
533
  def inner(v):
534
534
  return self.not_isinstance(v, spec, msg)
@@ -27,6 +27,7 @@ vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir
27
27
  # ruff: noqa: UP006 UP007 UP045
28
28
  import abc
29
29
  import dataclasses as dc
30
+ import glob
30
31
  import importlib
31
32
  import inspect
32
33
  import os.path
@@ -40,6 +41,7 @@ import typing as ta
40
41
  from omlish.formats.toml.writer import TomlWriter
41
42
  from omlish.lite.abstract import Abstract
42
43
  from omlish.lite.cached import cached_nullary
44
+ from omlish.lite.check import check
43
45
  from omlish.logs.modules import get_module_logger
44
46
  from omlish.subprocesses.sync import subprocesses
45
47
 
@@ -150,28 +152,59 @@ class BasePyprojectPackageGenerator(Abstract):
150
152
  inc: ta.List[str]
151
153
  exc: ta.List[str]
152
154
 
155
+ _PKG_DATA_EXCLUDE_DIRS: ta.ClassVar[ta.AbstractSet[str]] = frozenset([
156
+ '__pycache__',
157
+ ])
158
+
153
159
  @cached_nullary
154
- def _collect_pkg_data(self) -> _PkgData:
155
- inc: ta.List[str] = []
156
- exc: ta.List[str] = []
160
+ def _collect_pkg_data(self) -> ta.Mapping[str, _PkgData]:
161
+ dct: ta.Dict[str, BasePyprojectPackageGenerator._PkgData] = {}
157
162
 
158
163
  for p, ds, fs in os.walk(self._dir_name): # noqa
159
164
  for f in fs:
160
165
  if f != '.pkgdata':
161
166
  continue
162
- rp = os.path.relpath(p, self._dir_name)
163
- log.info('Found pkgdata %s for pkg %s', rp, self._dir_name)
167
+
168
+ log.info('Found pkgdata %s', p)
164
169
  with open(os.path.join(p, f)) as fo:
165
170
  src = fo.read()
171
+
172
+ pn = p.replace(os.sep, '.')
173
+ check.not_in(pn, dct)
174
+
175
+ inc: ta.List[str] = []
176
+ exc: ta.List[str] = []
177
+
166
178
  for l in src.splitlines():
167
179
  if not (l := l.strip()):
168
180
  continue
181
+
169
182
  if (bang := l.startswith('!')):
170
183
  l = l[1:]
171
- rlp = os.path.join(rp, l) if rp != '.' else l
172
- (exc if bang else inc).append(rlp)
173
184
 
174
- return self._PkgData(inc, exc)
185
+ if '**' in l:
186
+ if bang:
187
+ raise ValueError('Cannot exclude recursive globs')
188
+ check.state(not l.endswith(os.sep))
189
+ ge = l.rsplit(os.sep, maxsplit=1)[-1]
190
+
191
+ gds = set()
192
+ for g in glob.glob(l, root_dir=p, recursive=True):
193
+ if os.path.isfile(gp := os.path.join(p, g)):
194
+ if any(gpp in self._PKG_DATA_EXCLUDE_DIRS for gpp in os.path.dirname(gp).split(os.sep)):
195
+ continue
196
+ gd = os.path.dirname(g)
197
+ gds.add(gd)
198
+
199
+ for gd in sorted(gds):
200
+ inc.append(os.path.join(gd, ge))
201
+
202
+ else:
203
+ (exc if bang else inc).append(l)
204
+
205
+ dct[pn] = self._PkgData(inc, exc)
206
+
207
+ return dct
175
208
 
176
209
  #
177
210
 
@@ -353,10 +386,12 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
353
386
  epd = dict(st.pop('exclude_package_data', {}))
354
387
 
355
388
  cpd = self._collect_pkg_data()
356
- if cpd.inc:
357
- pd['*'] = [*pd.get('*', []), *sorted(set(cpd.inc))]
358
- if cpd.exc:
359
- epd['*'] = [*epd.get('*', []), *sorted(set(cpd.exc))]
389
+ for pdk, pdv in cpd.items():
390
+ pdl = TomlWriter.Literal(f"'{pdk}'")
391
+ if pdv.inc:
392
+ pd.setdefault(pdl, []).extend(sorted(set(pdv.inc)))
393
+ if pdv.exc:
394
+ pd.setdefault(pdl, []).extend(sorted(set(pdv.exc)))
360
395
 
361
396
  if pd:
362
397
  pyp_dct['tool.setuptools.package-data'] = pd
@@ -101,7 +101,7 @@ def __omlish_amalg__(): # noqa
101
101
  dict(path='../../omlish/lite/abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
102
102
  dict(path='../../omlish/lite/asyncs.py', sha1='b3f2251c56617ce548abf9c333ac996b63edb23e'),
103
103
  dict(path='../../omlish/lite/cached.py', sha1='0c33cf961ac8f0727284303c7a30c5ea98f714f2'),
104
- dict(path='../../omlish/lite/check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
104
+ dict(path='../../omlish/lite/check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
105
105
  dict(path='../../omlish/lite/contextmanagers.py', sha1='993f5ed96d3410f739a20363f55670d5e5267fa3'),
106
106
  dict(path='../../omlish/lite/dataclasses.py', sha1='8b144d1d9474d96cf2a35f4db5cb224c30f538d6'),
107
107
  dict(path='../../omlish/lite/json.py', sha1='57eeddc4d23a17931e00284ffa5cb6e3ce089486'),
@@ -1372,7 +1372,7 @@ class Checks:
1372
1372
  ...
1373
1373
 
1374
1374
  def isinstance(self, v, spec, msg=None):
1375
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
1375
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
1376
1376
  self._raise(
1377
1377
  TypeError,
1378
1378
  'Must be instance',
@@ -1392,7 +1392,7 @@ class Checks:
1392
1392
  ...
1393
1393
 
1394
1394
  def of_isinstance(self, spec, msg=None, /):
1395
- spec = self._unpack_isinstance_spec(spec)
1395
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
1396
1396
 
1397
1397
  def inner(v):
1398
1398
  return self.isinstance(v, spec, msg)
@@ -1417,7 +1417,7 @@ class Checks:
1417
1417
  return inner
1418
1418
 
1419
1419
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
1420
- if isinstance(v, self._unpack_isinstance_spec(spec)):
1420
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
1421
1421
  self._raise(
1422
1422
  TypeError,
1423
1423
  'Must not be instance',
@@ -1429,7 +1429,7 @@ class Checks:
1429
1429
  return v
1430
1430
 
1431
1431
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
1432
- spec = self._unpack_isinstance_spec(spec)
1432
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
1433
1433
 
1434
1434
  def inner(v):
1435
1435
  return self.not_isinstance(v, spec, msg)
@@ -56,7 +56,7 @@ def __omlish_amalg__(): # noqa
56
56
  dict(path='../packaging/versions.py', sha1='71627ad600b3529b829b0e227b0952f2c63c7271'),
57
57
  dict(path='../../omlish/lite/abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
58
58
  dict(path='../../omlish/lite/cached.py', sha1='0c33cf961ac8f0727284303c7a30c5ea98f714f2'),
59
- dict(path='../../omlish/lite/check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
59
+ dict(path='../../omlish/lite/check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
60
60
  dict(path='../../omlish/lite/json.py', sha1='57eeddc4d23a17931e00284ffa5cb6e3ce089486'),
61
61
  dict(path='../../omlish/lite/reflect.py', sha1='c4fec44bf144e9d93293c996af06f6c65fc5e63d'),
62
62
  dict(path='../../omlish/lite/strings.py', sha1='89831ecbc34ad80e118a865eceb390ed399dc4d6'),
@@ -970,7 +970,7 @@ class Checks:
970
970
  ...
971
971
 
972
972
  def isinstance(self, v, spec, msg=None):
973
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
973
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
974
974
  self._raise(
975
975
  TypeError,
976
976
  'Must be instance',
@@ -990,7 +990,7 @@ class Checks:
990
990
  ...
991
991
 
992
992
  def of_isinstance(self, spec, msg=None, /):
993
- spec = self._unpack_isinstance_spec(spec)
993
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
994
994
 
995
995
  def inner(v):
996
996
  return self.isinstance(v, spec, msg)
@@ -1015,7 +1015,7 @@ class Checks:
1015
1015
  return inner
1016
1016
 
1017
1017
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
1018
- if isinstance(v, self._unpack_isinstance_spec(spec)):
1018
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
1019
1019
  self._raise(
1020
1020
  TypeError,
1021
1021
  'Must not be instance',
@@ -1027,7 +1027,7 @@ class Checks:
1027
1027
  return v
1028
1028
 
1029
1029
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
1030
- spec = self._unpack_isinstance_spec(spec)
1030
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
1031
1031
 
1032
1032
  def inner(v):
1033
1033
  return self.not_isinstance(v, spec, msg)
@@ -35,7 +35,7 @@ def __omlish_amalg__(): # noqa
35
35
  return dict(
36
36
  src_files=[
37
37
  dict(path='../../../lite/abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
38
- dict(path='../../../lite/check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
38
+ dict(path='../../../lite/check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
39
39
  dict(path='../../../lite/dataclasses.py', sha1='8b144d1d9474d96cf2a35f4db5cb224c30f538d6'),
40
40
  dict(path='errors.py', sha1='8fa73c90292f56f8faaedebb2f478ff6a3b95460'),
41
41
  dict(path='tokens.py', sha1='d52876a2a525bc99eb554fe28c3d27e7e01f43a9'),
@@ -357,7 +357,7 @@ class Checks:
357
357
  ...
358
358
 
359
359
  def isinstance(self, v, spec, msg=None):
360
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
360
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
361
361
  self._raise(
362
362
  TypeError,
363
363
  'Must be instance',
@@ -377,7 +377,7 @@ class Checks:
377
377
  ...
378
378
 
379
379
  def of_isinstance(self, spec, msg=None, /):
380
- spec = self._unpack_isinstance_spec(spec)
380
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
381
381
 
382
382
  def inner(v):
383
383
  return self.isinstance(v, spec, msg)
@@ -402,7 +402,7 @@ class Checks:
402
402
  return inner
403
403
 
404
404
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
405
- if isinstance(v, self._unpack_isinstance_spec(spec)):
405
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
406
406
  self._raise(
407
407
  TypeError,
408
408
  'Must not be instance',
@@ -414,7 +414,7 @@ class Checks:
414
414
  return v
415
415
 
416
416
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
417
- spec = self._unpack_isinstance_spec(spec)
417
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
418
418
 
419
419
  def inner(v):
420
420
  return self.not_isinstance(v, spec, msg)
@@ -32,7 +32,7 @@ def __omlish_amalg__(): # noqa
32
32
  return dict(
33
33
  src_files=[
34
34
  dict(path='abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
35
- dict(path='check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
35
+ dict(path='check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
36
36
  dict(path='reflect.py', sha1='c4fec44bf144e9d93293c996af06f6c65fc5e63d'),
37
37
  dict(path='maybes.py', sha1='04d2fcbea17028a5e6b8e7a7fb742375495ed233'),
38
38
  dict(path='inject.py', sha1='6f097e3170019a34ff6834d36fcc9cbeed3a7ab4'),
@@ -355,7 +355,7 @@ class Checks:
355
355
  ...
356
356
 
357
357
  def isinstance(self, v, spec, msg=None):
358
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
358
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
359
359
  self._raise(
360
360
  TypeError,
361
361
  'Must be instance',
@@ -375,7 +375,7 @@ class Checks:
375
375
  ...
376
376
 
377
377
  def of_isinstance(self, spec, msg=None, /):
378
- spec = self._unpack_isinstance_spec(spec)
378
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
379
379
 
380
380
  def inner(v):
381
381
  return self.isinstance(v, spec, msg)
@@ -400,7 +400,7 @@ class Checks:
400
400
  return inner
401
401
 
402
402
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
403
- if isinstance(v, self._unpack_isinstance_spec(spec)):
403
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
404
404
  self._raise(
405
405
  TypeError,
406
406
  'Must not be instance',
@@ -412,7 +412,7 @@ class Checks:
412
412
  return v
413
413
 
414
414
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
415
- spec = self._unpack_isinstance_spec(spec)
415
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
416
416
 
417
417
  def inner(v):
418
418
  return self.not_isinstance(v, spec, msg)
@@ -41,7 +41,7 @@ def __omlish_amalg__(): # noqa
41
41
  return dict(
42
42
  src_files=[
43
43
  dict(path='abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
44
- dict(path='check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
44
+ dict(path='check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
45
45
  dict(path='objects.py', sha1='9566bbf3530fd71fcc56321485216b592fae21e9'),
46
46
  dict(path='reflect.py', sha1='c4fec44bf144e9d93293c996af06f6c65fc5e63d'),
47
47
  dict(path='strings.py', sha1='89831ecbc34ad80e118a865eceb390ed399dc4d6'),
@@ -356,7 +356,7 @@ class Checks:
356
356
  ...
357
357
 
358
358
  def isinstance(self, v, spec, msg=None):
359
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
359
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
360
360
  self._raise(
361
361
  TypeError,
362
362
  'Must be instance',
@@ -376,7 +376,7 @@ class Checks:
376
376
  ...
377
377
 
378
378
  def of_isinstance(self, spec, msg=None, /):
379
- spec = self._unpack_isinstance_spec(spec)
379
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
380
380
 
381
381
  def inner(v):
382
382
  return self.isinstance(v, spec, msg)
@@ -401,7 +401,7 @@ class Checks:
401
401
  return inner
402
402
 
403
403
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
404
- if isinstance(v, self._unpack_isinstance_spec(spec)):
404
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
405
405
  self._raise(
406
406
  TypeError,
407
407
  'Must not be instance',
@@ -413,7 +413,7 @@ class Checks:
413
413
  return v
414
414
 
415
415
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
416
- spec = self._unpack_isinstance_spec(spec)
416
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
417
417
 
418
418
  def inner(v):
419
419
  return self.not_isinstance(v, spec, msg)
@@ -96,7 +96,7 @@ def __omlish_amalg__(): # noqa
96
96
  dict(path='../../omlish/lite/abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
97
97
  dict(path='../../omlish/lite/asyncs.py', sha1='b3f2251c56617ce548abf9c333ac996b63edb23e'),
98
98
  dict(path='../../omlish/lite/cached.py', sha1='0c33cf961ac8f0727284303c7a30c5ea98f714f2'),
99
- dict(path='../../omlish/lite/check.py', sha1='df0ed561b5782545e34e61dd3424f69f836a87c0'),
99
+ dict(path='../../omlish/lite/check.py', sha1='5e625d74d4ad4e0492e25acac42820baa9956965'),
100
100
  dict(path='../../omlish/lite/json.py', sha1='57eeddc4d23a17931e00284ffa5cb6e3ce089486'),
101
101
  dict(path='../../omlish/lite/objects.py', sha1='9566bbf3530fd71fcc56321485216b592fae21e9'),
102
102
  dict(path='../../omlish/lite/reflect.py', sha1='c4fec44bf144e9d93293c996af06f6c65fc5e63d'),
@@ -148,7 +148,7 @@ def __omlish_amalg__(): # noqa
148
148
  dict(path='../interp/providers/system.py', sha1='9638a154475ca98775159d27739563ac7fb2eb16'),
149
149
  dict(path='../interp/pyenv/install.py', sha1='4a10a19717364b4ba9f3b8bf1d12621cf21ba8b8'),
150
150
  dict(path='../interp/uv/provider.py', sha1='3c3980878ad2b9fd2cd02172f9424954759c7f06'),
151
- dict(path='pkg.py', sha1='fd158f4026f2e0e672f147612b46d8552f262eb3'),
151
+ dict(path='pkg.py', sha1='b2b63a3906d62e5911d2e5c0ee178041c53eff50'),
152
152
  dict(path='../interp/providers/inject.py', sha1='7cc9ebf58cf2ec09545321456bd9da9f9a3a79fb'),
153
153
  dict(path='../interp/pyenv/provider.py', sha1='377542ce01a35849e2a5b4a4dbafedc26882f983'),
154
154
  dict(path='../interp/uv/inject.py', sha1='e95d058c2340baa5a3155ec3440f311d1daa10a8'),
@@ -2584,7 +2584,7 @@ class Checks:
2584
2584
  ...
2585
2585
 
2586
2586
  def isinstance(self, v, spec, msg=None):
2587
- if not isinstance(v, self._unpack_isinstance_spec(spec)):
2587
+ if not isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
2588
2588
  self._raise(
2589
2589
  TypeError,
2590
2590
  'Must be instance',
@@ -2604,7 +2604,7 @@ class Checks:
2604
2604
  ...
2605
2605
 
2606
2606
  def of_isinstance(self, spec, msg=None, /):
2607
- spec = self._unpack_isinstance_spec(spec)
2607
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
2608
2608
 
2609
2609
  def inner(v):
2610
2610
  return self.isinstance(v, spec, msg)
@@ -2629,7 +2629,7 @@ class Checks:
2629
2629
  return inner
2630
2630
 
2631
2631
  def not_isinstance(self, v: T, spec: ta.Any, msg: CheckMessage = None, /) -> T: # noqa
2632
- if isinstance(v, self._unpack_isinstance_spec(spec)):
2632
+ if isinstance(v, spec if type(spec) is type else self._unpack_isinstance_spec(spec)):
2633
2633
  self._raise(
2634
2634
  TypeError,
2635
2635
  'Must not be instance',
@@ -2641,7 +2641,7 @@ class Checks:
2641
2641
  return v
2642
2642
 
2643
2643
  def of_not_isinstance(self, spec: ta.Any, msg: CheckMessage = None, /) -> ta.Callable[[T], T]:
2644
- spec = self._unpack_isinstance_spec(spec)
2644
+ spec = spec if type(spec) is type else self._unpack_isinstance_spec(spec)
2645
2645
 
2646
2646
  def inner(v):
2647
2647
  return self.not_isinstance(v, spec, msg)
@@ -11785,28 +11785,59 @@ class BasePyprojectPackageGenerator(Abstract):
11785
11785
  inc: ta.List[str]
11786
11786
  exc: ta.List[str]
11787
11787
 
11788
+ _PKG_DATA_EXCLUDE_DIRS: ta.ClassVar[ta.AbstractSet[str]] = frozenset([
11789
+ '__pycache__',
11790
+ ])
11791
+
11788
11792
  @cached_nullary
11789
- def _collect_pkg_data(self) -> _PkgData:
11790
- inc: ta.List[str] = []
11791
- exc: ta.List[str] = []
11793
+ def _collect_pkg_data(self) -> ta.Mapping[str, _PkgData]:
11794
+ dct: ta.Dict[str, BasePyprojectPackageGenerator._PkgData] = {}
11792
11795
 
11793
11796
  for p, ds, fs in os.walk(self._dir_name): # noqa
11794
11797
  for f in fs:
11795
11798
  if f != '.pkgdata':
11796
11799
  continue
11797
- rp = os.path.relpath(p, self._dir_name)
11798
- log.info('Found pkgdata %s for pkg %s', rp, self._dir_name)
11800
+
11801
+ log.info('Found pkgdata %s', p)
11799
11802
  with open(os.path.join(p, f)) as fo:
11800
11803
  src = fo.read()
11804
+
11805
+ pn = p.replace(os.sep, '.')
11806
+ check.not_in(pn, dct)
11807
+
11808
+ inc: ta.List[str] = []
11809
+ exc: ta.List[str] = []
11810
+
11801
11811
  for l in src.splitlines():
11802
11812
  if not (l := l.strip()):
11803
11813
  continue
11814
+
11804
11815
  if (bang := l.startswith('!')):
11805
11816
  l = l[1:]
11806
- rlp = os.path.join(rp, l) if rp != '.' else l
11807
- (exc if bang else inc).append(rlp)
11808
11817
 
11809
- return self._PkgData(inc, exc)
11818
+ if '**' in l:
11819
+ if bang:
11820
+ raise ValueError('Cannot exclude recursive globs')
11821
+ check.state(not l.endswith(os.sep))
11822
+ ge = l.rsplit(os.sep, maxsplit=1)[-1]
11823
+
11824
+ gds = set()
11825
+ for g in glob.glob(l, root_dir=p, recursive=True):
11826
+ if os.path.isfile(gp := os.path.join(p, g)):
11827
+ if any(gpp in self._PKG_DATA_EXCLUDE_DIRS for gpp in os.path.dirname(gp).split(os.sep)):
11828
+ continue
11829
+ gd = os.path.dirname(g)
11830
+ gds.add(gd)
11831
+
11832
+ for gd in sorted(gds):
11833
+ inc.append(os.path.join(gd, ge))
11834
+
11835
+ else:
11836
+ (exc if bang else inc).append(l)
11837
+
11838
+ dct[pn] = self._PkgData(inc, exc)
11839
+
11840
+ return dct
11810
11841
 
11811
11842
  #
11812
11843
 
@@ -11988,10 +12019,12 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
11988
12019
  epd = dict(st.pop('exclude_package_data', {}))
11989
12020
 
11990
12021
  cpd = self._collect_pkg_data()
11991
- if cpd.inc:
11992
- pd['*'] = [*pd.get('*', []), *sorted(set(cpd.inc))]
11993
- if cpd.exc:
11994
- epd['*'] = [*epd.get('*', []), *sorted(set(cpd.exc))]
12022
+ for pdk, pdv in cpd.items():
12023
+ pdl = TomlWriter.Literal(f"'{pdk}'")
12024
+ if pdv.inc:
12025
+ pd.setdefault(pdl, []).extend(sorted(set(pdv.inc)))
12026
+ if pdv.exc:
12027
+ pd.setdefault(pdl, []).extend(sorted(set(pdv.exc)))
11995
12028
 
11996
12029
  if pd:
11997
12030
  pyp_dct['tool.setuptools.package-data'] = pd
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev533
3
+ Version: 0.0.0.dev534
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.0.dev533
17
+ Requires-Dist: omlish==0.0.0.dev534
18
18
  Provides-Extra: all
19
19
  Requires-Dist: black~=26.1; extra == "all"
20
20
  Requires-Dist: pycparser~=3.0; extra == "all"