omdev 0.0.0.dev157__tar.gz → 0.0.0.dev159__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.

Potentially problematic release.


This version of omdev might be problematic. Click here for more details.

Files changed (170) hide show
  1. {omdev-0.0.0.dev157/omdev.egg-info → omdev-0.0.0.dev159}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/amalg/amalg.py +4 -4
  3. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/data/cache.py +2 -2
  4. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/data/manifests.py +1 -1
  5. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/cmake.py +1 -1
  6. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/scan.py +1 -1
  7. omdev-0.0.0.dev159/omdev/git/revisions.py +50 -0
  8. omdev-0.0.0.dev157/omdev/git.py → omdev-0.0.0.dev159/omdev/git/status.py +1 -112
  9. omdev-0.0.0.dev159/omdev/git/subtrees.py +100 -0
  10. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/cli.py +3 -3
  11. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/inspect.py +1 -1
  12. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/pyenv.py +1 -1
  13. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/manifests/main.py +1 -1
  14. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/precheck/lite.py +1 -1
  15. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/precheck/main.py +1 -1
  16. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/cli.py +4 -4
  17. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/pkg.py +1 -1
  18. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/venvs.py +1 -1
  19. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/revisions.py +2 -2
  20. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/interp.py +370 -293
  21. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/pyproject.py +497 -775
  22. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/docker.py +1 -1
  23. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/git.py +3 -3
  24. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/mkrelimp.py +1 -1
  25. omdev-0.0.0.dev159/omdev/tools/pawk/__init__.py +0 -0
  26. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/sqlrepl.py +1 -1
  27. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159/omdev.egg-info}/PKG-INFO +2 -2
  28. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev.egg-info/SOURCES.txt +4 -1
  29. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev.egg-info/requires.txt +1 -1
  30. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/pyproject.toml +2 -2
  31. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/LICENSE +0 -0
  32. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/MANIFEST.in +0 -0
  33. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/README.rst +0 -0
  34. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/.manifests.json +0 -0
  35. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/__about__.py +0 -0
  36. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/__init__.py +0 -0
  37. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/amalg/__init__.py +0 -0
  38. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/amalg/__main__.py +0 -0
  39. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/antlr/__init__.py +0 -0
  40. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/antlr/consts.py +0 -0
  41. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/antlr/gen.py +0 -0
  42. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/bracepy.py +0 -0
  43. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/__init__.py +0 -0
  44. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/__init__.py +0 -0
  45. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/cache.py +0 -0
  46. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/contexts.py +0 -0
  47. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/currents.py +0 -0
  48. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/fns.py +0 -0
  49. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/resolvers.py +0 -0
  50. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/storage.py +0 -0
  51. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/compute/types.py +0 -0
  52. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/data/__init__.py +0 -0
  53. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/data/actions.py +0 -0
  54. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/data/consts.py +0 -0
  55. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/data/defaults.py +0 -0
  56. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cache/data/specs.py +0 -0
  57. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/__init__.py +0 -0
  58. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_boilerplate.cc +0 -0
  59. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/LICENSE +0 -0
  60. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/__init__.py +0 -0
  61. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/build_ext.py +0 -0
  62. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  63. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  64. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/compilers/options.py +0 -0
  65. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  66. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/dir_util.py +0 -0
  67. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/errors.py +0 -0
  68. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/extension.py +0 -0
  69. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/file_util.py +0 -0
  70. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/modified.py +0 -0
  71. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/spawn.py +0 -0
  72. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/sysconfig.py +0 -0
  73. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/util.py +0 -0
  74. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/_distutils/version.py +0 -0
  75. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/build.py +0 -0
  76. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/importhook.py +0 -0
  77. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cexts/magic.py +0 -0
  78. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/classdot.py +0 -0
  79. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/__init__.py +0 -0
  80. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/__main__.py +0 -0
  81. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/_pathhack.py +0 -0
  82. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/clicli.py +0 -0
  83. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/install.py +0 -0
  84. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/main.py +0 -0
  85. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/managers.py +0 -0
  86. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cli/types.py +0 -0
  87. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/clipboard/__init__.py +0 -0
  88. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/clipboard/clipboard.py +0 -0
  89. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/clipboard/darwin_cf.py +0 -0
  90. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/clipboard/linux_x11.py +0 -0
  91. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/cmake.py +0 -0
  92. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/findimports.py +0 -0
  93. {omdev-0.0.0.dev157/omdev/mypy → omdev-0.0.0.dev159/omdev/git}/__init__.py +0 -0
  94. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/imgur.py +0 -0
  95. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/__init__.py +0 -0
  96. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/__main__.py +0 -0
  97. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/providers.py +0 -0
  98. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/resolvers.py +0 -0
  99. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/standalone.py +0 -0
  100. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/system.py +0 -0
  101. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/interp/types.py +0 -0
  102. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/magic/__init__.py +0 -0
  103. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/magic/find.py +0 -0
  104. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/magic/magic.py +0 -0
  105. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/magic/prepare.py +0 -0
  106. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/magic/styles.py +0 -0
  107. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/manifests/__init__.py +0 -0
  108. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/manifests/__main__.py +0 -0
  109. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/manifests/build.py +0 -0
  110. {omdev-0.0.0.dev157/omdev/packaging → omdev-0.0.0.dev159/omdev/mypy}/__init__.py +0 -0
  111. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/mypy/debug.py +0 -0
  112. {omdev-0.0.0.dev157/omdev/precheck → omdev-0.0.0.dev159/omdev/packaging}/__init__.py +0 -0
  113. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/packaging/marshal.py +0 -0
  114. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/packaging/names.py +0 -0
  115. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/packaging/requires.py +0 -0
  116. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/packaging/specifiers.py +0 -0
  117. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/packaging/versions.py +0 -0
  118. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pip.py +0 -0
  119. {omdev-0.0.0.dev157/omdev/ptk/apps → omdev-0.0.0.dev159/omdev/precheck}/__init__.py +0 -0
  120. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/precheck/__main__.py +0 -0
  121. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/precheck/base.py +0 -0
  122. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/precheck/git.py +0 -0
  123. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/precheck/manifests.py +0 -0
  124. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/precheck/scripts.py +0 -0
  125. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/ptk/__init__.py +0 -0
  126. {omdev-0.0.0.dev157/omdev/pycharm → omdev-0.0.0.dev159/omdev/ptk/apps}/__init__.py +0 -0
  127. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/ptk/apps/ncdu.py +0 -0
  128. {omdev-0.0.0.dev157/omdev/tools/json → omdev-0.0.0.dev159/omdev/pycharm}/__init__.py +0 -0
  129. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pycharm/__main__.py +0 -0
  130. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pycharm/cli.py +0 -0
  131. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/__init__.py +0 -0
  132. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/__main__.py +0 -0
  133. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/cexts.py +0 -0
  134. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/configs.py +0 -0
  135. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/pyproject/reqs.py +0 -0
  136. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/__init__.py +0 -0
  137. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/bumpversion.py +0 -0
  138. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/execrss.py +0 -0
  139. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/exectime.py +0 -0
  140. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/importtrace.py +0 -0
  141. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/slowcat.py +0 -0
  142. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/scripts/tmpexec.py +0 -0
  143. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/secrets.py +0 -0
  144. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tokens.py +0 -0
  145. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/toml/__init__.py +0 -0
  146. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/toml/parser.py +0 -0
  147. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/toml/writer.py +0 -0
  148. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/__init__.py +0 -0
  149. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/cloc.py +0 -0
  150. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/doc.py +0 -0
  151. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/importscan.py +0 -0
  152. {omdev-0.0.0.dev157/omdev/tools/pawk → omdev-0.0.0.dev159/omdev/tools/json}/__init__.py +0 -0
  153. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/json/__main__.py +0 -0
  154. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/json/cli.py +0 -0
  155. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/json/formats.py +0 -0
  156. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/json/io.py +0 -0
  157. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/json/parsing.py +0 -0
  158. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/json/processing.py +0 -0
  159. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/json/rendering.py +0 -0
  160. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/notebook.py +0 -0
  161. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/pawk/__main__.py +0 -0
  162. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/pawk/pawk.py +0 -0
  163. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/pip.py +0 -0
  164. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/prof.py +0 -0
  165. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/tools/qr.py +0 -0
  166. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev/wheelfile.py +0 -0
  167. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev.egg-info/dependency_links.txt +0 -0
  168. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev.egg-info/entry_points.txt +0 -0
  169. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/omdev.egg-info/top_level.txt +0 -0
  170. {omdev-0.0.0.dev157 → omdev-0.0.0.dev159}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev157
3
+ Version: 0.0.0.dev159
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.dev157
15
+ Requires-Dist: omlish==0.0.0.dev159
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -41,8 +41,8 @@ import tokenize_rt as trt
41
41
  from omlish import check
42
42
  from omlish import collections as col
43
43
  from omlish import lang
44
- from omlish import logs
45
- from omlish.lite.runtime import REQUIRED_PYTHON_VERSION
44
+ from omlish.lite.runtime import LITE_REQUIRED_PYTHON_VERSION
45
+ from omlish.logs import all as logs
46
46
 
47
47
  from .. import magic
48
48
  from .. import tokens as tks
@@ -595,11 +595,11 @@ def gen_amalg(
595
595
  out.write('\n\n')
596
596
 
597
597
  version_check_fail_msg = (
598
- f'Requires python {REQUIRED_PYTHON_VERSION!r}, '
598
+ f'Requires python {LITE_REQUIRED_PYTHON_VERSION!r}, '
599
599
  f'got {{sys.version_info}} from {{sys.executable}}'
600
600
  )
601
601
  out.write(textwrap.dedent(f"""
602
- if sys.version_info < {REQUIRED_PYTHON_VERSION!r}:
602
+ if sys.version_info < {LITE_REQUIRED_PYTHON_VERSION!r}:
603
603
  raise OSError(f{version_check_fail_msg!r}) # noqa
604
604
  """).lstrip())
605
605
  out.write('\n\n')
@@ -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 ... import git
30
+ from ...git.subtrees import git_clone_subtree
31
31
  from .actions import Action
32
32
  from .actions import ExtractAction
33
33
  from .manifests import Manifest
@@ -148,7 +148,7 @@ class Cache:
148
148
 
149
149
  log.info('Cloning git repo: %s -> %s', spec.url, tmp_dir)
150
150
 
151
- git.git_clone_subtree(
151
+ git_clone_subtree(
152
152
  base_dir=tmp_dir,
153
153
  repo_url=spec.url,
154
154
  repo_dir='data',
@@ -4,7 +4,7 @@ from omlish import __about__ as about
4
4
  from omlish import cached
5
5
  from omlish import dataclasses as dc
6
6
 
7
- from ...git import get_git_revision
7
+ from ...git.revisions import get_git_revision
8
8
  from .consts import SERIALIZATION_VERSION
9
9
  from .specs import Spec
10
10
 
@@ -34,7 +34,7 @@ import typing as ta
34
34
 
35
35
  from omlish import check
36
36
  from omlish import lang
37
- from omlish import logs
37
+ from omlish.logs import all as logs
38
38
 
39
39
  from .. import cmake
40
40
  from .. import magic
@@ -3,7 +3,7 @@ import logging
3
3
  import os.path
4
4
  import typing as ta
5
5
 
6
- from omlish import logs
6
+ from omlish.logs import all as logs
7
7
 
8
8
  from .magic import CextMagic
9
9
 
@@ -0,0 +1,50 @@
1
+ # ruff: noqa: UP006 UP007
2
+ # @omlish-lite
3
+ import os.path
4
+ import subprocess
5
+ import typing as ta
6
+
7
+ from omlish.subprocesses import subprocess_maybe_shell_wrap_exec
8
+ from omlish.subprocesses import subprocesses
9
+
10
+
11
+ def get_git_revision(
12
+ *,
13
+ cwd: ta.Optional[str] = None,
14
+ ) -> ta.Optional[str]:
15
+ subprocesses.check_output('git', '--version')
16
+
17
+ if cwd is None:
18
+ cwd = os.getcwd()
19
+
20
+ if subprocess.run( # noqa
21
+ subprocess_maybe_shell_wrap_exec(
22
+ 'git',
23
+ 'rev-parse',
24
+ '--is-inside-work-tree',
25
+ ),
26
+ stdout=subprocess.PIPE,
27
+ stderr=subprocess.PIPE,
28
+ ).returncode:
29
+ return None
30
+
31
+ has_untracked = bool(subprocesses.check_output(
32
+ 'git',
33
+ 'ls-files',
34
+ '.',
35
+ '--exclude-standard',
36
+ '--others',
37
+ cwd=cwd,
38
+ ).decode().strip())
39
+
40
+ dirty_rev = subprocesses.check_output(
41
+ 'git',
42
+ 'describe',
43
+ '--match=NeVeRmAtCh',
44
+ '--always',
45
+ '--abbrev=40',
46
+ '--dirty',
47
+ cwd=cwd,
48
+ ).decode().strip()
49
+
50
+ return dirty_rev + ('-untracked' if has_untracked else '')
@@ -1,11 +1,5 @@
1
1
  # ruff: noqa: UP006 UP007
2
2
  # @omlish-lite
3
- """
4
- git status
5
- --porcelain=v1
6
- --ignore-submodules
7
- 2>/dev/null
8
- """
9
3
  import dataclasses as dc
10
4
  import enum
11
5
  import os.path
@@ -13,112 +7,7 @@ import subprocess
13
7
  import typing as ta
14
8
 
15
9
  from omlish.lite.check import check
16
- from omlish.lite.subprocesses import subprocess_maybe_shell_wrap_exec
17
-
18
-
19
- ##
20
-
21
-
22
- def git_clone_subtree(
23
- *,
24
- base_dir: str,
25
- repo_url: str,
26
- repo_dir: str,
27
- branch: ta.Optional[str] = None,
28
- rev: ta.Optional[str] = None,
29
- repo_subtrees: ta.Sequence[str],
30
- ) -> None:
31
- if not bool(branch) ^ bool(rev):
32
- raise ValueError('must set branch or rev')
33
-
34
- if isinstance(repo_subtrees, str):
35
- raise TypeError(repo_subtrees)
36
-
37
- git_opts = [
38
- '-c', 'advice.detachedHead=false',
39
- ]
40
-
41
- subprocess.check_call(
42
- subprocess_maybe_shell_wrap_exec(
43
- 'git',
44
- *git_opts,
45
- 'clone',
46
- '-n',
47
- '--depth=1',
48
- '--filter=tree:0',
49
- *(['-b', branch] if branch else []),
50
- '--single-branch',
51
- repo_url,
52
- repo_dir,
53
- ),
54
- cwd=base_dir,
55
- )
56
-
57
- rd = os.path.join(base_dir, repo_dir)
58
- subprocess.check_call(
59
- subprocess_maybe_shell_wrap_exec(
60
- 'git',
61
- *git_opts,
62
- 'sparse-checkout',
63
- 'set',
64
- '--no-cone',
65
- *repo_subtrees,
66
- ),
67
- cwd=rd,
68
- )
69
-
70
- subprocess.check_call(
71
- subprocess_maybe_shell_wrap_exec(
72
- 'git',
73
- *git_opts,
74
- 'checkout',
75
- *([rev] if rev else []),
76
- ),
77
- cwd=rd,
78
- )
79
-
80
-
81
- def get_git_revision(
82
- *,
83
- cwd: ta.Optional[str] = None,
84
- ) -> ta.Optional[str]:
85
- subprocess.check_output(subprocess_maybe_shell_wrap_exec('git', '--version'))
86
-
87
- if cwd is None:
88
- cwd = os.getcwd()
89
-
90
- if subprocess.run( # noqa
91
- subprocess_maybe_shell_wrap_exec(
92
- 'git',
93
- 'rev-parse',
94
- '--is-inside-work-tree',
95
- ),
96
- stdout=subprocess.PIPE,
97
- stderr=subprocess.PIPE,
98
- ).returncode:
99
- return None
100
-
101
- has_untracked = bool(subprocess.check_output(subprocess_maybe_shell_wrap_exec(
102
- 'git',
103
- 'ls-files',
104
- '.',
105
- '--exclude-standard',
106
- '--others',
107
- ), cwd=cwd).decode().strip())
108
-
109
- dirty_rev = subprocess.check_output(subprocess_maybe_shell_wrap_exec(
110
- 'git',
111
- 'describe',
112
- '--match=NeVeRmAtCh',
113
- '--always',
114
- '--abbrev=40',
115
- '--dirty',
116
- ), cwd=cwd).decode().strip()
117
-
118
- return dirty_rev + ('-untracked' if has_untracked else '')
119
-
120
-
121
- ##
10
+ from omlish.subprocesses import subprocess_maybe_shell_wrap_exec
122
11
 
123
12
 
124
13
  _GIT_STATUS_LINE_ESCAPE_CODES: ta.Mapping[str, str] = {
@@ -0,0 +1,100 @@
1
+ # ruff: noqa: UP006 UP007
2
+ # @omlish-lite
3
+ import dataclasses as dc
4
+ import os.path
5
+ import typing as ta
6
+
7
+ from omlish.subprocesses import subprocesses
8
+
9
+
10
+ @dc.dataclass(frozen=True)
11
+ class GitSubtreeCloner:
12
+ base_dir: str
13
+ repo_url: str
14
+ repo_dir: str
15
+
16
+ # _: dc.KW_ONLY
17
+
18
+ repo_subtrees: ta.Sequence[str]
19
+
20
+ branch: ta.Optional[str] = None
21
+ rev: ta.Optional[str] = None
22
+
23
+ def __post_init__(self) -> None:
24
+ if not bool(self.branch) ^ bool(self.rev):
25
+ raise ValueError('must set branch or rev')
26
+
27
+ if isinstance(self.repo_subtrees, str):
28
+ raise TypeError(self.repo_subtrees)
29
+
30
+ @dc.dataclass(frozen=True)
31
+ class Command:
32
+ cmd: ta.Sequence[str]
33
+ cwd: str
34
+
35
+ def build_commands(self) -> ta.Iterator[Command]:
36
+ git_opts = [
37
+ '-c', 'advice.detachedHead=false',
38
+ ]
39
+
40
+ yield GitSubtreeCloner.Command(
41
+ cmd=(
42
+ 'git',
43
+ *git_opts,
44
+ 'clone',
45
+ '-n',
46
+ '--depth=1',
47
+ '--filter=tree:0',
48
+ *(['-b', self.branch] if self.branch else []),
49
+ '--single-branch',
50
+ self.repo_url,
51
+ self.repo_dir,
52
+ ),
53
+ cwd=self.base_dir,
54
+ )
55
+
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,
65
+ ),
66
+ cwd=rd,
67
+ )
68
+
69
+ yield GitSubtreeCloner.Command(
70
+ cmd=(
71
+ 'git',
72
+ *git_opts,
73
+ 'checkout',
74
+ *([self.rev] if self.rev else []),
75
+ ),
76
+ cwd=rd,
77
+ )
78
+
79
+
80
+ def git_clone_subtree(
81
+ *,
82
+ base_dir: str,
83
+ repo_url: str,
84
+ repo_dir: str,
85
+ branch: ta.Optional[str] = None,
86
+ rev: ta.Optional[str] = None,
87
+ repo_subtrees: ta.Sequence[str],
88
+ ) -> None:
89
+ for cmd in GitSubtreeCloner(
90
+ base_dir=base_dir,
91
+ repo_url=repo_url,
92
+ repo_dir=repo_dir,
93
+ branch=branch,
94
+ rev=rev,
95
+ repo_subtrees=repo_subtrees,
96
+ ).build_commands():
97
+ subprocesses.check_call(
98
+ *cmd.cmd,
99
+ cwd=cmd.cwd,
100
+ )
@@ -12,8 +12,8 @@ import asyncio
12
12
  import typing as ta
13
13
 
14
14
  from omlish.lite.check import check
15
- from omlish.lite.logs import configure_standard_logging
16
- from omlish.lite.runtime import check_runtime_version
15
+ from omlish.lite.runtime import check_lite_runtime_version
16
+ from omlish.logs.standard import configure_standard_logging
17
17
 
18
18
  from .resolvers import DEFAULT_INTERP_RESOLVER
19
19
  from .resolvers import INTERP_PROVIDER_TYPES_BY_NAME
@@ -58,7 +58,7 @@ def _build_parser() -> argparse.ArgumentParser:
58
58
 
59
59
 
60
60
  async def _async_main(argv: ta.Optional[ta.Sequence[str]] = None) -> None:
61
- check_runtime_version()
61
+ check_lite_runtime_version()
62
62
  configure_standard_logging()
63
63
 
64
64
  parser = _build_parser()
@@ -5,7 +5,7 @@ import logging
5
5
  import sys
6
6
  import typing as ta
7
7
 
8
- from omlish.lite.asyncio.subprocesses import asyncio_subprocesses
8
+ from omlish.asyncs.asyncio.subprocesses import asyncio_subprocesses
9
9
  from omlish.lite.logs import log
10
10
 
11
11
  from ..packaging.versions import Version
@@ -18,7 +18,7 @@ import shutil
18
18
  import sys
19
19
  import typing as ta
20
20
 
21
- from omlish.lite.asyncio.subprocesses import asyncio_subprocesses
21
+ from omlish.asyncs.asyncio.subprocesses import asyncio_subprocesses
22
22
  from omlish.lite.cached import async_cached_nullary
23
23
  from omlish.lite.cached import cached_nullary
24
24
  from omlish.lite.check import check
@@ -6,7 +6,7 @@ import multiprocessing as mp
6
6
  import os.path
7
7
 
8
8
  from omlish.lite.json import json_dumps_pretty
9
- from omlish.lite.logs import configure_standard_logging
9
+ from omlish.logs.standard import configure_standard_logging
10
10
 
11
11
  from .build import ManifestBuilder
12
12
  from .build import check_package_manifests
@@ -9,7 +9,7 @@ import textwrap
9
9
  import typing as ta
10
10
 
11
11
  from omlish import cached
12
- from omlish.lite.subprocesses import subprocess_maybe_shell_wrap_exec
12
+ from omlish.subprocesses import subprocess_maybe_shell_wrap_exec
13
13
 
14
14
  from .. import magic
15
15
  from .base import Precheck
@@ -25,7 +25,7 @@ import os.path
25
25
  import sys
26
26
  import typing as ta
27
27
 
28
- from omlish import logs
28
+ from omlish.logs import all as logs
29
29
 
30
30
  from .base import Precheck
31
31
  from .base import PrecheckContext
@@ -36,11 +36,11 @@ import typing as ta
36
36
  from omlish.argparse.cli import ArgparseCli
37
37
  from omlish.argparse.cli import argparse_arg
38
38
  from omlish.argparse.cli import argparse_command
39
- from omlish.lite.asyncio.subprocesses import asyncio_subprocesses
39
+ from omlish.asyncs.asyncio.subprocesses import asyncio_subprocesses
40
40
  from omlish.lite.cached import cached_nullary
41
41
  from omlish.lite.check import check
42
- from omlish.lite.logs import configure_standard_logging
43
- from omlish.lite.runtime import check_runtime_version
42
+ from omlish.lite.runtime import check_lite_runtime_version
43
+ from omlish.logs.standard import configure_standard_logging
44
44
 
45
45
  from ..toml.parser import toml_loads
46
46
  from .configs import PyprojectConfig
@@ -288,7 +288,7 @@ class PyprojectCli(ArgparseCli):
288
288
 
289
289
 
290
290
  async def _async_main(argv: ta.Optional[ta.Sequence[str]] = None) -> None:
291
- check_runtime_version()
291
+ check_lite_runtime_version()
292
292
  configure_standard_logging()
293
293
 
294
294
  await PyprojectCli(argv).async_cli_run()
@@ -37,7 +37,7 @@ import typing as ta
37
37
 
38
38
  from omlish.lite.cached import cached_nullary
39
39
  from omlish.lite.logs import log
40
- from omlish.lite.subprocesses import subprocesses
40
+ from omlish.subprocesses import subprocesses
41
41
 
42
42
  from ..cexts.magic import CextMagic
43
43
  from ..magic.find import find_magic_files
@@ -3,7 +3,7 @@ import glob
3
3
  import os.path
4
4
  import typing as ta
5
5
 
6
- from omlish.lite.asyncio.subprocesses import asyncio_subprocesses
6
+ from omlish.asyncs.asyncio.subprocesses import asyncio_subprocesses
7
7
  from omlish.lite.cached import async_cached_nullary
8
8
  from omlish.lite.cached import cached_nullary
9
9
  from omlish.lite.check import check
@@ -15,10 +15,10 @@ import zipfile
15
15
 
16
16
  from omlish.lite.cached import cached_nullary
17
17
  from omlish.lite.check import check
18
- from omlish.lite.logs import configure_standard_logging
19
18
  from omlish.lite.logs import log
19
+ from omlish.logs.standard import configure_standard_logging
20
20
 
21
- from .git import get_git_revision
21
+ from .git.revisions import get_git_revision
22
22
  from .wheelfile import WheelFile
23
23
 
24
24