omdev 0.0.0.dev203__tar.gz → 0.0.0.dev205__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 (201) hide show
  1. {omdev-0.0.0.dev203/omdev.egg-info → omdev-0.0.0.dev205}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/.manifests.json +14 -14
  3. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/__main__.py +1 -1
  4. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/data/cache.py +2 -5
  5. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/data/specs.py +1 -1
  6. omdev-0.0.0.dev205/omdev/cc/__main__.py +11 -0
  7. omdev-0.0.0.dev205/omdev/cc/cli.py +143 -0
  8. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/cmake.py +12 -4
  9. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/clicli.py +18 -0
  10. omdev-0.0.0.dev203/omdev/git/subtrees.py → omdev-0.0.0.dev205/omdev/git/shallow.py +18 -17
  11. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/resources/python.sh +5 -2
  12. omdev-0.0.0.dev205/omdev/tools/pawk/__init__.py +0 -0
  13. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205/omdev.egg-info}/PKG-INFO +2 -2
  14. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev.egg-info/SOURCES.txt +4 -2
  15. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev.egg-info/requires.txt +1 -1
  16. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/pyproject.toml +2 -2
  17. omdev-0.0.0.dev203/omdev/tools/cc.py +0 -81
  18. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/LICENSE +0 -0
  19. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/MANIFEST.in +0 -0
  20. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/README.rst +0 -0
  21. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/__about__.py +0 -0
  22. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/__init__.py +0 -0
  23. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/__init__.py +0 -0
  24. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/gen.py +0 -0
  25. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/imports.py +0 -0
  26. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/main.py +0 -0
  27. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/manifests.py +0 -0
  28. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/resources.py +0 -0
  29. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/srcfiles.py +0 -0
  30. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/strip.py +0 -0
  31. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/types.py +0 -0
  32. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/amalg/typing.py +0 -0
  33. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/antlr/__init__.py +0 -0
  34. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/antlr/consts.py +0 -0
  35. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/antlr/gen.py +0 -0
  36. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/bracepy.py +0 -0
  37. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/__init__.py +0 -0
  38. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/__init__.py +0 -0
  39. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/cache.py +0 -0
  40. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/contexts.py +0 -0
  41. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/currents.py +0 -0
  42. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/fns.py +0 -0
  43. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/resolvers.py +0 -0
  44. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/storage.py +0 -0
  45. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/compute/types.py +0 -0
  46. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/data/__init__.py +0 -0
  47. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/data/actions.py +0 -0
  48. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/data/consts.py +0 -0
  49. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/data/defaults.py +0 -0
  50. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cache/data/manifests.py +0 -0
  51. {omdev-0.0.0.dev203/omdev/cexts → omdev-0.0.0.dev205/omdev/cc}/__init__.py +0 -0
  52. {omdev-0.0.0.dev203/omdev/clipboard → omdev-0.0.0.dev205/omdev/cexts}/__init__.py +0 -0
  53. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_boilerplate.cc +0 -0
  54. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/LICENSE +0 -0
  55. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/__init__.py +0 -0
  56. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/build_ext.py +0 -0
  57. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  58. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  59. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/compilers/options.py +0 -0
  60. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  61. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/dir_util.py +0 -0
  62. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/errors.py +0 -0
  63. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/extension.py +0 -0
  64. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/file_util.py +0 -0
  65. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/modified.py +0 -0
  66. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/spawn.py +0 -0
  67. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/sysconfig.py +0 -0
  68. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/util.py +0 -0
  69. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/_distutils/version.py +0 -0
  70. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/build.py +0 -0
  71. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/importhook.py +0 -0
  72. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/magic.py +0 -0
  73. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cexts/scan.py +0 -0
  74. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/classdot.py +0 -0
  75. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/__init__.py +0 -0
  76. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/__main__.py +0 -0
  77. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/_pathhack.py +0 -0
  78. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/install.py +0 -0
  79. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/main.py +0 -0
  80. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/managers.py +0 -0
  81. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cli/types.py +0 -0
  82. {omdev-0.0.0.dev203/omdev/git → omdev-0.0.0.dev205/omdev/clipboard}/__init__.py +0 -0
  83. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/clipboard/clipboard.py +0 -0
  84. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/clipboard/darwin_cf.py +0 -0
  85. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/clipboard/linux_x11.py +0 -0
  86. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/cmake.py +0 -0
  87. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/findimports.py +0 -0
  88. {omdev-0.0.0.dev203/omdev/interp/providers → omdev-0.0.0.dev205/omdev/git}/__init__.py +0 -0
  89. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/git/revisions.py +0 -0
  90. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/git/status.py +0 -0
  91. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/imgur.py +0 -0
  92. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/__init__.py +0 -0
  93. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/__main__.py +0 -0
  94. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/cli.py +0 -0
  95. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/default.py +0 -0
  96. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/inject.py +0 -0
  97. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/inspect.py +0 -0
  98. {omdev-0.0.0.dev203/omdev/interp/pyenv → omdev-0.0.0.dev205/omdev/interp/providers}/__init__.py +0 -0
  99. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/providers/base.py +0 -0
  100. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/providers/inject.py +0 -0
  101. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/providers/running.py +0 -0
  102. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/providers/standalone.py +0 -0
  103. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/providers/system.py +0 -0
  104. {omdev-0.0.0.dev203/omdev/interp/uv → omdev-0.0.0.dev205/omdev/interp/pyenv}/__init__.py +0 -0
  105. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/pyenv/inject.py +0 -0
  106. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/pyenv/install.py +0 -0
  107. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/pyenv/provider.py +0 -0
  108. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/pyenv/pyenv.py +0 -0
  109. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/resolvers.py +0 -0
  110. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/types.py +0 -0
  111. {omdev-0.0.0.dev203/omdev/mypy → omdev-0.0.0.dev205/omdev/interp/uv}/__init__.py +0 -0
  112. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/uv/inject.py +0 -0
  113. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/uv/provider.py +0 -0
  114. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/uv/uv.py +0 -0
  115. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/interp/venvs.py +0 -0
  116. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/magic/__init__.py +0 -0
  117. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/magic/__main__.py +0 -0
  118. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/magic/cli.py +0 -0
  119. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/magic/find.py +0 -0
  120. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/magic/magic.py +0 -0
  121. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/magic/prepare.py +0 -0
  122. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/magic/styles.py +0 -0
  123. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/manifests/__init__.py +0 -0
  124. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/manifests/__main__.py +0 -0
  125. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/manifests/build.py +0 -0
  126. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/manifests/main.py +0 -0
  127. {omdev-0.0.0.dev203/omdev/packaging → omdev-0.0.0.dev205/omdev/mypy}/__init__.py +0 -0
  128. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/mypy/debug.py +0 -0
  129. {omdev-0.0.0.dev203/omdev/precheck → omdev-0.0.0.dev205/omdev/packaging}/__init__.py +0 -0
  130. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/packaging/marshal.py +0 -0
  131. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/packaging/names.py +0 -0
  132. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/packaging/requires.py +0 -0
  133. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/packaging/specifiers.py +0 -0
  134. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/packaging/versions.py +0 -0
  135. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pip.py +0 -0
  136. {omdev-0.0.0.dev203/omdev/ptk/apps → omdev-0.0.0.dev205/omdev/precheck}/__init__.py +0 -0
  137. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/precheck/__main__.py +0 -0
  138. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/precheck/base.py +0 -0
  139. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/precheck/git.py +0 -0
  140. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/precheck/lite.py +0 -0
  141. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/precheck/main.py +0 -0
  142. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/precheck/manifests.py +0 -0
  143. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/precheck/scripts.py +0 -0
  144. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/ptk/__init__.py +0 -0
  145. {omdev-0.0.0.dev203/omdev/pycharm → omdev-0.0.0.dev205/omdev/ptk/apps}/__init__.py +0 -0
  146. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/ptk/apps/ncdu.py +0 -0
  147. {omdev-0.0.0.dev203/omdev/pyproject/resources → omdev-0.0.0.dev205/omdev/pycharm}/__init__.py +0 -0
  148. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pycharm/__main__.py +0 -0
  149. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pycharm/cli.py +0 -0
  150. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/__init__.py +0 -0
  151. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/__main__.py +0 -0
  152. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/cexts.py +0 -0
  153. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/cli.py +0 -0
  154. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/configs.py +0 -0
  155. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/inject.py +0 -0
  156. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/pkg.py +0 -0
  157. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/reqs.py +0 -0
  158. {omdev-0.0.0.dev203/omdev/tools/json → omdev-0.0.0.dev205/omdev/pyproject/resources}/__init__.py +0 -0
  159. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/resources/docker-dev.sh +0 -0
  160. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/pyproject/venvs.py +0 -0
  161. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/revisions.py +0 -0
  162. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/__init__.py +0 -0
  163. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/bumpversion.py +0 -0
  164. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/execrss.py +0 -0
  165. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/exectime.py +0 -0
  166. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/importtrace.py +0 -0
  167. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/interp.py +0 -0
  168. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/pyproject.py +0 -0
  169. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/slowcat.py +0 -0
  170. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/scripts/tmpexec.py +0 -0
  171. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/secrets.py +0 -0
  172. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tagstrings.py +0 -0
  173. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tokens.py +0 -0
  174. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/__init__.py +0 -0
  175. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/cloc.py +0 -0
  176. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/doc.py +0 -0
  177. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/docker.py +0 -0
  178. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/git.py +0 -0
  179. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/importscan.py +0 -0
  180. {omdev-0.0.0.dev203/omdev/tools/pawk → omdev-0.0.0.dev205/omdev/tools/json}/__init__.py +0 -0
  181. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/json/__main__.py +0 -0
  182. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/json/cli.py +0 -0
  183. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/json/formats.py +0 -0
  184. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/json/io.py +0 -0
  185. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/json/parsing.py +0 -0
  186. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/json/processing.py +0 -0
  187. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/json/rendering.py +0 -0
  188. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/linehisto.py +0 -0
  189. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/mkrelimp.py +0 -0
  190. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/notebook.py +0 -0
  191. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/pawk/__main__.py +0 -0
  192. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/pawk/pawk.py +0 -0
  193. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/pip.py +0 -0
  194. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/prof.py +0 -0
  195. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/qr.py +0 -0
  196. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/tools/sqlrepl.py +0 -0
  197. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev/wheelfile.py +0 -0
  198. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev.egg-info/dependency_links.txt +0 -0
  199. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev.egg-info/entry_points.txt +0 -0
  200. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/omdev.egg-info/top_level.txt +0 -0
  201. {omdev-0.0.0.dev203 → omdev-0.0.0.dev205}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev203
3
+ Version: 0.0.0.dev205
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev203
15
+ Requires-Dist: omlish==0.0.0.dev205
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -23,11 +23,23 @@
23
23
  }
24
24
  }
25
25
  },
26
+ {
27
+ "module": ".cc.__main__",
28
+ "attr": "_CLI_MODULE",
29
+ "file": "omdev/cc/__main__.py",
30
+ "line": 4,
31
+ "value": {
32
+ "$.cli.types.CliModule": {
33
+ "cmd_name": "cc",
34
+ "mod_name": "omdev.cc.__main__"
35
+ }
36
+ }
37
+ },
26
38
  {
27
39
  "module": ".cexts.cmake",
28
40
  "attr": "_CLI_MODULE",
29
41
  "file": "omdev/cexts/cmake.py",
30
- "line": 323,
42
+ "line": 331,
31
43
  "value": {
32
44
  "$.cli.types.CliModule": {
33
45
  "cmd_name": "cmake",
@@ -51,7 +63,7 @@
51
63
  "module": ".cli.clicli",
52
64
  "attr": "_CLI_MODULE",
53
65
  "file": "omdev/cli/clicli.py",
54
- "line": 138,
66
+ "line": 156,
55
67
  "value": {
56
68
  "$.cli.types.CliModule": {
57
69
  "cmd_name": "cli",
@@ -227,18 +239,6 @@
227
239
  }
228
240
  }
229
241
  },
230
- {
231
- "module": ".tools.cc",
232
- "attr": "_CLI_MODULE",
233
- "file": "omdev/tools/cc.py",
234
- "line": 76,
235
- "value": {
236
- "$.cli.types.CliModule": {
237
- "cmd_name": "cc",
238
- "mod_name": "omdev.tools.cc"
239
- }
240
- }
241
- },
242
242
  {
243
243
  "module": ".tools.cloc",
244
244
  "attr": "_CLI_MODULE",
@@ -6,6 +6,6 @@ _CLI_MODULE = CliModule('amalg', __name__)
6
6
 
7
7
 
8
8
  if __name__ == '__main__':
9
- from .main import _main
9
+ from .main import _main # noqa
10
10
 
11
11
  _main()
@@ -27,7 +27,7 @@ from omlish import marshal as msh
27
27
  from omlish.formats import json
28
28
  from omlish.os.files import touch
29
29
 
30
- from ...git.subtrees import git_clone_subtree
30
+ from ...git.shallow import git_shallow_clone
31
31
  from .actions import Action
32
32
  from .actions import ExtractAction
33
33
  from .manifests import Manifest
@@ -141,14 +141,11 @@ class Cache:
141
141
  self._fetch_url(url, os.path.join(data_dir, out_file))
142
142
 
143
143
  elif isinstance(spec, GitSpec):
144
- if not spec.subtrees:
145
- raise NotImplementedError
146
-
147
144
  tmp_dir = tempfile.mkdtemp()
148
145
 
149
146
  log.info('Cloning git repo: %s -> %s', spec.url, tmp_dir)
150
147
 
151
- git_clone_subtree(
148
+ git_shallow_clone(
152
149
  base_dir=tmp_dir,
153
150
  repo_url=spec.url,
154
151
  repo_dir='data',
@@ -50,7 +50,7 @@ class GitSpec(Spec):
50
50
  branch: str | None = dc.field(default=None, kw_only=True)
51
51
  rev: str | None = dc.field(default=None, kw_only=True)
52
52
 
53
- subtrees: ta.Sequence[str] = dc.xfield(default=None, kw_only=True, coerce=_maybe_sorted_strs)
53
+ subtrees: ta.Sequence[str] | None = dc.xfield(default=None, kw_only=True, coerce=_maybe_sorted_strs)
54
54
 
55
55
 
56
56
  ##
@@ -0,0 +1,11 @@
1
+ from ..cli import CliModule
2
+
3
+
4
+ # @omlish-manifest
5
+ _CLI_MODULE = CliModule('cc', __name__)
6
+
7
+
8
+ if __name__ == '__main__':
9
+ from .cli import _main # noqa
10
+
11
+ _main()
@@ -0,0 +1,143 @@
1
+ """
2
+ //$(which true); exec om cc run "$0" "$@"
3
+ or
4
+ //usr/bin/true; exec om cc run "$0" "$@"
5
+
6
+ See: https://gist.github.com/jdarpinian/1952a58b823222627cc1a8b83a7aa4e2
7
+
8
+ ==
9
+
10
+ Freestanding options:
11
+
12
+ //usr/bin/env clang++ -std=c++20 -o ${X=`mktemp`} "$0" && exec -a "$0" "$X" "$@"
13
+ //usr/bin/env clang++ -std=c++20 -o ${D=`mktemp -d`}/x "$0" && ${D}/x ${@:1}; R=$?; rm -rf ${D}; exit $R
14
+ //$(which true); clang++ -std=c++20 -o ${D=`mktemp -d`}/x ${0} && ${D}/x ${@:1}; R=${?}; rm -rf ${D}; exit ${R}
15
+
16
+ ==
17
+
18
+ TODO:
19
+ - toplevel cc dir
20
+ - cext interop
21
+ - gen cmake
22
+ """
23
+ import os
24
+ import shlex
25
+ import shutil
26
+ import subprocess
27
+ import tempfile
28
+ import typing as ta
29
+
30
+ from omlish import check
31
+ from omlish.argparse import all as ap
32
+
33
+ from .. import magic
34
+ from ..cache import data as dcache
35
+
36
+
37
+ class Cli(ap.Cli):
38
+ @ap.cmd(
39
+ ap.arg('--cwd'),
40
+ ap.arg('src-file'),
41
+ ap.arg('args', nargs=ap.REMAINDER),
42
+ )
43
+ def run(self) -> int:
44
+ src_file = self.args.src_file
45
+
46
+ #
47
+
48
+ with open(src_file) as f:
49
+ src = f.read()
50
+
51
+ src_magics = magic.find_magic( # noqa
52
+ magic.C_MAGIC_STYLE,
53
+ src.splitlines(),
54
+ file=src_file,
55
+ preparer=magic.json_magic_preparer,
56
+ )
57
+
58
+ include_dirs: list[str] = []
59
+
60
+ for src_magic in src_magics:
61
+ if src_magic.key == '@omlish-cdeps':
62
+ for dep in check.isinstance(src_magic.prepared, ta.Sequence):
63
+ dep_git = dep['git']
64
+ dep_spec = dcache.GitSpec(
65
+ url=dep_git['url'],
66
+ rev=dep_git['rev'],
67
+ subtrees=dep_git.get('subtrees'),
68
+ )
69
+ dep_dir = dcache.default().get(dep_spec)
70
+ for dep_inc in dep.get('include', []):
71
+ inc_dir = os.path.join(dep_dir, dep_inc)
72
+ check.state(os.path.isdir(inc_dir))
73
+ include_dirs.append(inc_dir)
74
+
75
+ else:
76
+ raise KeyError(src_magic.key)
77
+
78
+ #
79
+
80
+ src_file_name = os.path.basename(src_file)
81
+
82
+ sh_parts: list[str] = [
83
+ 'clang++',
84
+ ]
85
+
86
+ for inc_dir in include_dirs:
87
+ sh_parts.append(f'-I{shlex.quote(inc_dir)}')
88
+
89
+ if cflags := os.environ.get('CFLAGS'):
90
+ sh_parts.append(cflags) # Explicitly shell-unquoted
91
+
92
+ sh_parts.extend([
93
+ '-std=c++20',
94
+ shlex.quote(os.path.abspath(src_file)),
95
+ '-o',
96
+ shlex.quote(src_file_name),
97
+ ])
98
+
99
+ #
100
+
101
+ tmp_dir = tempfile.mkdtemp()
102
+ try:
103
+ proc = subprocess.run( # noqa
104
+ ' '.join(sh_parts),
105
+ cwd=tmp_dir,
106
+ shell=True,
107
+ check=False,
108
+ )
109
+
110
+ if rc := proc.returncode:
111
+ return rc
112
+
113
+ exe_file = os.path.join(tmp_dir, src_file_name)
114
+ check.state(os.path.isfile(exe_file))
115
+
116
+ proc = subprocess.run(
117
+ [
118
+ exe_file,
119
+ *self.args.args,
120
+ ],
121
+ cwd=self.args.cwd,
122
+ check=False,
123
+ )
124
+
125
+ finally:
126
+ shutil.rmtree(tmp_dir)
127
+
128
+ return proc.returncode
129
+
130
+ # @ap.cmd(
131
+ # ap.arg('src-file', nargs='+'),
132
+ # )
133
+ # def add_shebang(self) -> None:
134
+ # # //$(which true); exec om cc run "$0" "$@"
135
+ # print(self.args.src_file)
136
+
137
+
138
+ def _main() -> None:
139
+ Cli().cli_run_and_exit()
140
+
141
+
142
+ if __name__ == '__main__':
143
+ _main()
@@ -7,14 +7,22 @@ TODO:
7
7
  - symlink headers, included src files (hamt_impl, ...)
8
8
  - point / copy output to dst dirs
9
9
  - libs
10
- - ..
11
- - pybind
12
- - catch2?
13
- - json? https://github.com/nlohmann/json
14
10
  - FindPackages? FetchContent? built_ext won't have that
15
11
  - move omml git / data retriever stuff into omdev, get just the one header file from git via sha?
16
12
  - support local built pys
17
13
 
14
+ Libs:
15
+ - py
16
+ - pybind https://github.com/pybind/pybind11
17
+ - nanobind https://github.com/wjakob/nanobind
18
+ - test
19
+ - catch2 https://github.com/catchorg/Catch2
20
+ - ut https://github.com/boost-ext/ut
21
+ - json
22
+ - nlohmann https://github.com/nlohmann/json
23
+ - log
24
+ - spdlog https://github.com/gabime/spdlog
25
+
18
26
  ==
19
27
 
20
28
  Done:
@@ -1,11 +1,13 @@
1
1
  import inspect
2
2
  import os
3
+ import subprocess
3
4
  import sys
4
5
  import typing as ta
5
6
  import urllib.parse
6
7
  import urllib.request
7
8
 
8
9
  from omlish import __about__
10
+ from omlish import lang
9
11
  from omlish.argparse import all as ap
10
12
 
11
13
  from ..pip import get_root_dists
@@ -88,6 +90,22 @@ class CliCli(ap.Cli):
88
90
 
89
91
  #
90
92
 
93
+ if lang.can_import('pip'):
94
+ print('Checking pip install')
95
+ subprocess.check_call([
96
+ sys.executable,
97
+ '-m',
98
+ 'pip',
99
+ 'install',
100
+ '--dry-run',
101
+ *deps,
102
+ ])
103
+ print('Pip install check successful')
104
+ else:
105
+ print('Pip not present, cannot check install')
106
+
107
+ #
108
+
91
109
  if deps:
92
110
  print('Reinstalling with following additional dependencies:')
93
111
  print('\n'.join(' ' + d for d in deps))
@@ -8,7 +8,7 @@ from omlish.subprocesses import subprocesses
8
8
 
9
9
 
10
10
  @dc.dataclass(frozen=True)
11
- class GitSubtreeCloner:
11
+ class GitShallowCloner:
12
12
  base_dir: str
13
13
  repo_url: str
14
14
  repo_dir: str
@@ -37,14 +37,14 @@ class GitSubtreeCloner:
37
37
  '-c', 'advice.detachedHead=false',
38
38
  ]
39
39
 
40
- yield GitSubtreeCloner.Command(
40
+ yield GitShallowCloner.Command(
41
41
  cmd=(
42
42
  'git',
43
43
  *git_opts,
44
44
  'clone',
45
45
  '-n',
46
46
  '--depth=1',
47
- '--filter=tree:0',
47
+ *(['--filter=tree:0'] if self.repo_subtrees is not None else []),
48
48
  *(['-b', self.branch] if self.branch else []),
49
49
  '--single-branch',
50
50
  self.repo_url,
@@ -54,19 +54,20 @@ class GitSubtreeCloner:
54
54
  )
55
55
 
56
56
  rd = os.path.join(self.base_dir, self.repo_dir)
57
- yield GitSubtreeCloner.Command(
58
- cmd=(
59
- 'git',
60
- *git_opts,
61
- 'sparse-checkout',
62
- 'set',
63
- '--no-cone',
64
- *(self.repo_subtrees or []),
65
- ),
66
- cwd=rd,
67
- )
57
+ if self.repo_subtrees is not None:
58
+ yield GitShallowCloner.Command(
59
+ cmd=(
60
+ 'git',
61
+ *git_opts,
62
+ 'sparse-checkout',
63
+ 'set',
64
+ '--no-cone',
65
+ *self.repo_subtrees,
66
+ ),
67
+ cwd=rd,
68
+ )
68
69
 
69
- yield GitSubtreeCloner.Command(
70
+ yield GitShallowCloner.Command(
70
71
  cmd=(
71
72
  'git',
72
73
  *git_opts,
@@ -77,7 +78,7 @@ class GitSubtreeCloner:
77
78
  )
78
79
 
79
80
 
80
- def git_clone_subtree(
81
+ def git_shallow_clone(
81
82
  *,
82
83
  base_dir: str,
83
84
  repo_url: str,
@@ -86,7 +87,7 @@ def git_clone_subtree(
86
87
  rev: ta.Optional[str] = None,
87
88
  repo_subtrees: ta.Optional[ta.Sequence[str]] = None,
88
89
  ) -> None:
89
- for cmd in GitSubtreeCloner(
90
+ for cmd in GitShallowCloner(
90
91
  base_dir=base_dir,
91
92
  repo_url=repo_url,
92
93
  repo_dir=repo_dir,
@@ -9,7 +9,10 @@ if [ -z "${VENV}" ] ; then
9
9
  fi
10
10
  fi
11
11
 
12
- SCRIPT_DIR=$(dirname "$0")
12
+ SCRIPT_PATH=$(cd -- "$(dirname -- "$0")" && pwd)
13
+ SCRIPT_PATH="$SCRIPT_PATH/$(basename -- "$0")"
14
+ SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
15
+
13
16
  VENV_PYTHON_PATH="$SCRIPT_DIR/.venvs/$VENV/bin/python"
14
17
  if [ -f "$VENV_PYTHON_PATH" ] ; then
15
18
  PYTHON="$VENV_PYTHON_PATH"
@@ -19,7 +22,7 @@ else
19
22
  PYTHON=python
20
23
  fi
21
24
 
22
- export PYTHONPATH="$PYTHONPATH:."
25
+ export PYTHONPATH="$PYTHONPATH:$SCRIPT_DIR:."
23
26
 
24
27
  if [ $# -eq 0 ] && "$PYTHON" -c "import IPython" 2> /dev/null ; then
25
28
  exec "$PYTHON" -m IPython
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev203
3
+ Version: 0.0.0.dev205
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev203
15
+ Requires-Dist: omlish==0.0.0.dev205
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -52,6 +52,9 @@ omdev/cache/data/consts.py
52
52
  omdev/cache/data/defaults.py
53
53
  omdev/cache/data/manifests.py
54
54
  omdev/cache/data/specs.py
55
+ omdev/cc/__init__.py
56
+ omdev/cc/__main__.py
57
+ omdev/cc/cli.py
55
58
  omdev/cexts/__init__.py
56
59
  omdev/cexts/_boilerplate.cc
57
60
  omdev/cexts/build.py
@@ -89,8 +92,8 @@ omdev/clipboard/darwin_cf.py
89
92
  omdev/clipboard/linux_x11.py
90
93
  omdev/git/__init__.py
91
94
  omdev/git/revisions.py
95
+ omdev/git/shallow.py
92
96
  omdev/git/status.py
93
- omdev/git/subtrees.py
94
97
  omdev/interp/__init__.py
95
98
  omdev/interp/__main__.py
96
99
  omdev/interp/cli.py
@@ -170,7 +173,6 @@ omdev/scripts/pyproject.py
170
173
  omdev/scripts/slowcat.py
171
174
  omdev/scripts/tmpexec.py
172
175
  omdev/tools/__init__.py
173
- omdev/tools/cc.py
174
176
  omdev/tools/cloc.py
175
177
  omdev/tools/doc.py
176
178
  omdev/tools/docker.py
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev203
1
+ omlish==0.0.0.dev205
2
2
 
3
3
  [all]
4
4
  black~=24.10
@@ -12,7 +12,7 @@ authors = [
12
12
  urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = {text = 'BSD-3-Clause'}
14
14
  requires-python = '>=3.12'
15
- version = '0.0.0.dev203'
15
+ version = '0.0.0.dev205'
16
16
  classifiers = [
17
17
  'License :: OSI Approved :: BSD License',
18
18
  'Development Status :: 2 - Pre-Alpha',
@@ -22,7 +22,7 @@ classifiers = [
22
22
  ]
23
23
  description = 'omdev'
24
24
  dependencies = [
25
- 'omlish == 0.0.0.dev203',
25
+ 'omlish == 0.0.0.dev205',
26
26
  ]
27
27
 
28
28
  [project.optional-dependencies]
@@ -1,81 +0,0 @@
1
- """
2
- //$(which true); exec om cc run "$0" "$@"
3
- or
4
- //usr/bin/true; exec om cc run "$0" "$@"
5
-
6
- See: https://gist.github.com/jdarpinian/1952a58b823222627cc1a8b83a7aa4e2
7
-
8
- ==
9
-
10
- Freestanding options:
11
-
12
- //usr/bin/env clang++ -std=c++20 -o ${X=`mktemp`} "$0" && exec -a "$0" "$X" "$@"
13
- //usr/bin/env clang++ -std=c++20 -o ${D=`mktemp -d`}/x "$0" && ${D}/x ${@:1}; R=$?; rm -rf ${D}; exit $R
14
- //$(which true); clang++ -std=c++20 -o ${D=`mktemp -d`}/x ${0} && ${D}/x ${@:1}; R=${?}; rm -rf ${D}; exit ${R}
15
- """
16
- import os
17
- import shutil
18
- import subprocess
19
- import tempfile
20
-
21
- from omlish import check
22
- from omlish.argparse import all as ap
23
-
24
- from ..cli import CliModule
25
-
26
-
27
- class Cli(ap.Cli):
28
- @ap.cmd(
29
- ap.arg('src-file'),
30
- ap.arg('args', nargs=ap.REMAINDER),
31
- )
32
- def run(self) -> int:
33
- src_file = self.args.src_file
34
- check.state(os.path.isfile(src_file))
35
-
36
- src_file_name = os.path.basename(src_file)
37
-
38
- tmp_dir = tempfile.mkdtemp()
39
- try:
40
- proc = subprocess.run(
41
- [
42
- check.non_empty_str(shutil.which('clang++')),
43
- '-std=c++20',
44
- os.path.abspath(src_file),
45
- '-o',
46
- src_file_name,
47
- ],
48
- cwd=tmp_dir,
49
- check=False,
50
- )
51
-
52
- if rc := proc.returncode:
53
- return rc
54
-
55
- exe_file = os.path.join(tmp_dir, src_file_name)
56
- check.state(os.path.isfile(exe_file))
57
-
58
- proc = subprocess.run(
59
- [
60
- exe_file,
61
- *self.args.args,
62
- ],
63
- check=False,
64
- )
65
-
66
- finally:
67
- shutil.rmtree(tmp_dir)
68
-
69
- return proc.returncode
70
-
71
-
72
- def _main() -> None:
73
- Cli().cli_run_and_exit()
74
-
75
-
76
- # @omlish-manifest
77
- _CLI_MODULE = CliModule('cc', __name__)
78
-
79
-
80
- if __name__ == '__main__':
81
- _main()
File without changes
File without changes
File without changes