omdev 0.0.0.dev211__tar.gz → 0.0.0.dev212__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. {omdev-0.0.0.dev211/omdev.egg-info → omdev-0.0.0.dev212}/PKG-INFO +2 -5
  2. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/.manifests.json +15 -1
  3. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/__about__.py +0 -4
  4. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/gen.py +2 -3
  5. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/imports.py +4 -5
  6. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/manifests.py +7 -10
  7. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/resources.py +24 -27
  8. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/srcfiles.py +7 -10
  9. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/strip.py +4 -5
  10. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/types.py +1 -1
  11. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/typing.py +9 -8
  12. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/cli.py +10 -4
  13. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/compose.py +4 -1
  14. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/requirements.py +2 -2
  15. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/ci.py +16 -7
  16. omdev-0.0.0.dev212/omdev/tokens/all.py +35 -0
  17. omdev-0.0.0.dev212/omdev/tokens/tokenizert.py +217 -0
  18. omdev-0.0.0.dev211/omdev/tokens.py → omdev-0.0.0.dev212/omdev/tokens/utils.py +6 -12
  19. omdev-0.0.0.dev212/omdev/tools/mkenv.py +131 -0
  20. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/mkrelimp.py +4 -6
  21. omdev-0.0.0.dev212/omdev/tools/pawk/__init__.py +0 -0
  22. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212/omdev.egg-info}/PKG-INFO +2 -5
  23. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev.egg-info/SOURCES.txt +5 -1
  24. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev.egg-info/requires.txt +1 -5
  25. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/pyproject.toml +2 -6
  26. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/LICENSE +0 -0
  27. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/MANIFEST.in +0 -0
  28. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/README.rst +0 -0
  29. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/__init__.py +0 -0
  30. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/__init__.py +0 -0
  31. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/__main__.py +0 -0
  32. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/amalg/main.py +0 -0
  33. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/antlr/__init__.py +0 -0
  34. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/antlr/consts.py +0 -0
  35. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/antlr/gen.py +0 -0
  36. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/bracepy.py +0 -0
  37. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/__init__.py +0 -0
  38. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/__init__.py +0 -0
  39. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/cache.py +0 -0
  40. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/contexts.py +0 -0
  41. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/currents.py +0 -0
  42. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/fns.py +0 -0
  43. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/resolvers.py +0 -0
  44. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/storage.py +0 -0
  45. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/compute/types.py +0 -0
  46. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/data/__init__.py +0 -0
  47. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/data/actions.py +0 -0
  48. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/data/cache.py +0 -0
  49. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/data/consts.py +0 -0
  50. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/data/defaults.py +0 -0
  51. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/data/manifests.py +0 -0
  52. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cache/data/specs.py +0 -0
  53. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cc/__init__.py +0 -0
  54. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cc/__main__.py +0 -0
  55. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cc/cdeps.py +0 -0
  56. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cc/cdeps.toml +0 -0
  57. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cc/cli.py +0 -0
  58. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/__init__.py +0 -0
  59. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_boilerplate.cc +0 -0
  60. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/LICENSE +0 -0
  61. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/__init__.py +0 -0
  62. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/build_ext.py +0 -0
  63. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  64. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  65. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/compilers/options.py +0 -0
  66. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  67. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/dir_util.py +0 -0
  68. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/errors.py +0 -0
  69. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/extension.py +0 -0
  70. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/file_util.py +0 -0
  71. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/modified.py +0 -0
  72. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/spawn.py +0 -0
  73. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/sysconfig.py +0 -0
  74. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/util.py +0 -0
  75. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/_distutils/version.py +0 -0
  76. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/build.py +0 -0
  77. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/cmake.py +0 -0
  78. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/importhook.py +0 -0
  79. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/magic.py +0 -0
  80. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cexts/scan.py +0 -0
  81. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/__init__.py +0 -0
  82. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/__main__.py +0 -0
  83. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/cache.py +0 -0
  84. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/ci.py +0 -0
  85. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/docker.py +0 -0
  86. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/github/__init__.py +0 -0
  87. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/github/bootstrap.py +0 -0
  88. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/github/cache.py +0 -0
  89. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/github/cacheapi.py +0 -0
  90. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/github/cli.py +0 -0
  91. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/shell.py +0 -0
  92. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ci/utils.py +0 -0
  93. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/classdot.py +0 -0
  94. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/__init__.py +0 -0
  95. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/__main__.py +0 -0
  96. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/_pathhack.py +0 -0
  97. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/clicli.py +0 -0
  98. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/install.py +0 -0
  99. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/main.py +0 -0
  100. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/managers.py +0 -0
  101. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cli/types.py +0 -0
  102. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/clipboard/__init__.py +0 -0
  103. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/clipboard/clipboard.py +0 -0
  104. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/clipboard/darwin_cf.py +0 -0
  105. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/clipboard/linux_x11.py +0 -0
  106. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/cmake.py +0 -0
  107. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/findimports.py +0 -0
  108. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/git/__init__.py +0 -0
  109. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/git/revisions.py +0 -0
  110. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/git/shallow.py +0 -0
  111. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/git/status.py +0 -0
  112. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/imgur.py +0 -0
  113. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/__init__.py +0 -0
  114. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/__main__.py +0 -0
  115. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/cli.py +0 -0
  116. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/default.py +0 -0
  117. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/inject.py +0 -0
  118. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/inspect.py +0 -0
  119. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/providers/__init__.py +0 -0
  120. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/providers/base.py +0 -0
  121. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/providers/inject.py +0 -0
  122. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/providers/running.py +0 -0
  123. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/providers/standalone.py +0 -0
  124. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/providers/system.py +0 -0
  125. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/pyenv/__init__.py +0 -0
  126. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/pyenv/inject.py +0 -0
  127. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/pyenv/install.py +0 -0
  128. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/pyenv/provider.py +0 -0
  129. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/pyenv/pyenv.py +0 -0
  130. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/resolvers.py +0 -0
  131. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/types.py +0 -0
  132. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/uv/__init__.py +0 -0
  133. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/uv/inject.py +0 -0
  134. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/uv/provider.py +0 -0
  135. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/uv/uv.py +0 -0
  136. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/interp/venvs.py +0 -0
  137. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/magic/__init__.py +0 -0
  138. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/magic/__main__.py +0 -0
  139. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/magic/cli.py +0 -0
  140. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/magic/find.py +0 -0
  141. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/magic/magic.py +0 -0
  142. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/magic/prepare.py +0 -0
  143. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/magic/styles.py +0 -0
  144. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/manifests/__init__.py +0 -0
  145. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/manifests/__main__.py +0 -0
  146. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/manifests/build.py +0 -0
  147. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/manifests/main.py +0 -0
  148. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/mypy/__init__.py +0 -0
  149. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/mypy/debug.py +0 -0
  150. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/packaging/__init__.py +0 -0
  151. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/packaging/marshal.py +0 -0
  152. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/packaging/names.py +0 -0
  153. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/packaging/requires.py +0 -0
  154. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/packaging/specifiers.py +0 -0
  155. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/packaging/versions.py +0 -0
  156. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pip.py +0 -0
  157. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/__init__.py +0 -0
  158. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/__main__.py +0 -0
  159. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/base.py +0 -0
  160. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/git.py +0 -0
  161. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/lite.py +0 -0
  162. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/main.py +0 -0
  163. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/manifests.py +0 -0
  164. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/precheck/scripts.py +0 -0
  165. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ptk/__init__.py +0 -0
  166. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ptk/apps/__init__.py +0 -0
  167. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/ptk/apps/ncdu.py +0 -0
  168. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pycharm/__init__.py +0 -0
  169. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pycharm/__main__.py +0 -0
  170. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pycharm/cli.py +0 -0
  171. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/__init__.py +0 -0
  172. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/__main__.py +0 -0
  173. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/cexts.py +0 -0
  174. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/cli.py +0 -0
  175. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/configs.py +0 -0
  176. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/inject.py +0 -0
  177. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/pkg.py +0 -0
  178. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/reqs.py +0 -0
  179. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/resources/__init__.py +0 -0
  180. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/resources/docker-dev.sh +0 -0
  181. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/resources/python.sh +0 -0
  182. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/pyproject/venvs.py +0 -0
  183. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/revisions.py +0 -0
  184. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/__init__.py +0 -0
  185. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/bumpversion.py +0 -0
  186. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/execrss.py +0 -0
  187. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/exectime.py +0 -0
  188. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/importtrace.py +0 -0
  189. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/interp.py +0 -0
  190. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/pyproject.py +0 -0
  191. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/slowcat.py +0 -0
  192. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/scripts/tmpexec.py +0 -0
  193. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/secrets.py +0 -0
  194. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tagstrings.py +0 -0
  195. {omdev-0.0.0.dev211/omdev/tools/json → omdev-0.0.0.dev212/omdev/tokens}/__init__.py +0 -0
  196. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/__init__.py +0 -0
  197. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/cloc.py +0 -0
  198. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/doc.py +0 -0
  199. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/docker.py +0 -0
  200. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/git.py +0 -0
  201. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/importscan.py +0 -0
  202. {omdev-0.0.0.dev211/omdev/tools/pawk → omdev-0.0.0.dev212/omdev/tools/json}/__init__.py +0 -0
  203. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/json/__main__.py +0 -0
  204. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/json/cli.py +0 -0
  205. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/json/formats.py +0 -0
  206. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/json/io.py +0 -0
  207. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/json/parsing.py +0 -0
  208. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/json/processing.py +0 -0
  209. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/json/rendering.py +0 -0
  210. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/linehisto.py +0 -0
  211. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/notebook.py +0 -0
  212. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/pawk/__main__.py +0 -0
  213. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/pawk/pawk.py +0 -0
  214. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/pip.py +0 -0
  215. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/prof.py +0 -0
  216. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/qr.py +0 -0
  217. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/tools/sqlrepl.py +0 -0
  218. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev/wheelfile.py +0 -0
  219. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev.egg-info/dependency_links.txt +0 -0
  220. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev.egg-info/entry_points.txt +0 -0
  221. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/omdev.egg-info/top_level.txt +0 -0
  222. {omdev-0.0.0.dev211 → omdev-0.0.0.dev212}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev211
3
+ Version: 0.0.0.dev212
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.dev211
15
+ Requires-Dist: omlish==0.0.0.dev212
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -24,7 +24,6 @@ Requires-Dist: mypy~=1.11; extra == "all"
24
24
  Requires-Dist: gprof2dot~=2024.6; extra == "all"
25
25
  Requires-Dist: prompt-toolkit~=3.0; extra == "all"
26
26
  Requires-Dist: segno~=1.6; extra == "all"
27
- Requires-Dist: tokenize-rt~=6.1; extra == "all"
28
27
  Requires-Dist: wheel~=0.44; extra == "all"
29
28
  Provides-Extra: black
30
29
  Requires-Dist: black~=24.10; extra == "black"
@@ -43,7 +42,5 @@ Provides-Extra: ptk
43
42
  Requires-Dist: prompt-toolkit~=3.0; extra == "ptk"
44
43
  Provides-Extra: qr
45
44
  Requires-Dist: segno~=1.6; extra == "qr"
46
- Provides-Extra: tokens
47
- Requires-Dist: tokenize-rt~=6.1; extra == "tokens"
48
45
  Provides-Extra: wheel
49
46
  Requires-Dist: wheel~=0.44; extra == "wheel"
@@ -326,11 +326,25 @@
326
326
  }
327
327
  }
328
328
  },
329
+ {
330
+ "module": ".tools.mkenv",
331
+ "attr": "_CLI_MODULE",
332
+ "file": "omdev/tools/mkenv.py",
333
+ "line": 123,
334
+ "value": {
335
+ "$.cli.types.CliModule": {
336
+ "cmd_name": [
337
+ "mkenv"
338
+ ],
339
+ "mod_name": "omdev.tools.mkenv"
340
+ }
341
+ }
342
+ },
329
343
  {
330
344
  "module": ".tools.mkrelimp",
331
345
  "attr": "_CLI_MODULE",
332
346
  "file": "omdev/tools/mkrelimp.py",
333
- "line": 148,
347
+ "line": 146,
334
348
  "value": {
335
349
  "$.cli.types.CliModule": {
336
350
  "cmd_name": "py/mkrelimp",
@@ -45,10 +45,6 @@ class Project(ProjectBase):
45
45
  'segno ~= 1.6',
46
46
  ],
47
47
 
48
- 'tokens': [
49
- 'tokenize-rt ~= 6.1',
50
- ],
51
-
52
48
  'wheel': [
53
49
  'wheel ~= 0.44',
54
50
  ],
@@ -8,11 +8,10 @@ from omlish import collections as col
8
8
  from omlish import lang
9
9
  from omlish.lite.runtime import LITE_REQUIRED_PYTHON_VERSION
10
10
 
11
- from .. import tokens as tks
11
+ from ..tokens import all as tks
12
12
  from .srcfiles import SrcFile
13
13
  from .srcfiles import make_src_file
14
14
  from .strip import strip_main_lines
15
- from .types import Tokens
16
15
  from .typing import Typing
17
16
 
18
17
 
@@ -71,7 +70,7 @@ class AmalgGenerator:
71
70
  return self._src_files()[self._main_path]
72
71
 
73
72
  @cached.function
74
- def _header_lines(self) -> list[Tokens]:
73
+ def _header_lines(self) -> list[str]:
75
74
  header_lines = []
76
75
 
77
76
  if self._main_file().header_lines:
@@ -4,8 +4,7 @@ import typing as ta
4
4
 
5
5
  from omlish import check
6
6
 
7
- from .. import tokens as tks
8
- from .types import Tokens
7
+ from ..tokens import all as tks
9
8
 
10
9
 
11
10
  ##
@@ -22,11 +21,11 @@ class Import:
22
21
 
23
22
  mod_path: str | None
24
23
 
25
- toks: Tokens = dc.field(repr=False)
24
+ toks: tks.Tokens = dc.field(repr=False)
26
25
 
27
26
 
28
27
  def make_import(
29
- lts: Tokens,
28
+ lts: tks.Tokens,
30
29
  *,
31
30
  src_path: str,
32
31
  mounts: ta.Mapping[str, str],
@@ -90,7 +89,7 @@ def make_import(
90
89
  as_=as_,
91
90
 
92
91
  src_path=src_path,
93
- line=ft.line,
92
+ line=check.not_none(ft.line),
94
93
 
95
94
  mod_path=mod_path,
96
95
 
@@ -1,17 +1,14 @@
1
1
  import ast
2
2
 
3
- import tokenize_rt as trt
4
-
5
3
  from omlish import check
6
4
 
7
- from .. import tokens as tks
8
- from .types import Tokens
5
+ from ..tokens import all as tks
9
6
 
10
7
 
11
8
  ##
12
9
 
13
10
 
14
- def is_manifest_comment(line: Tokens) -> bool:
11
+ def is_manifest_comment(line: tks.Tokens) -> bool:
15
12
  if not line:
16
13
  return False
17
14
 
@@ -22,10 +19,10 @@ def is_manifest_comment(line: Tokens) -> bool:
22
19
 
23
20
 
24
21
  def comment_out_manifest_comment(
25
- line: Tokens,
26
- cls: list[Tokens],
22
+ line: tks.Tokens,
23
+ cls: list[tks.Tokens],
27
24
  i: int,
28
- ) -> tuple[list[Tokens], int]:
25
+ ) -> tuple[list[tks.Tokens], int]:
29
26
  mls = [line]
30
27
  while True:
31
28
  mls.append(cls[i])
@@ -41,8 +38,8 @@ def comment_out_manifest_comment(
41
38
  check.isinstance(check.single(mmod.body), ast.Assign)
42
39
  break
43
40
 
44
- out: list[Tokens] = [
45
- [trt.Token('COMMENT', '# ' + tks.join_toks(ml))]
41
+ out: list[tks.Tokens] = [
42
+ [tks.Token('COMMENT', '# ' + tks.join_toks(ml))]
46
43
  for ml in mls
47
44
  ]
48
45
 
@@ -4,10 +4,7 @@ import itertools
4
4
  import os.path
5
5
  import typing as ta
6
6
 
7
- import tokenize_rt as trt
8
-
9
- from .. import tokens as tks
10
- from .types import Tokens
7
+ from ..tokens import all as tks
11
8
 
12
9
 
13
10
  ##
@@ -19,7 +16,7 @@ class RootLevelResourcesRead(ta.NamedTuple):
19
16
  resource: str
20
17
 
21
18
 
22
- def is_root_level_resources_read(lts: Tokens) -> RootLevelResourcesRead | None:
19
+ def is_root_level_resources_read(lts: tks.Tokens) -> RootLevelResourcesRead | None:
23
20
  wts = list(tks.ignore_ws(lts, keep=['INDENT']))
24
21
 
25
22
  if not tks.match_toks(wts, [
@@ -47,36 +44,36 @@ def is_root_level_resources_read(lts: Tokens) -> RootLevelResourcesRead | None:
47
44
  def build_resource_lines(
48
45
  rsrc: RootLevelResourcesRead,
49
46
  path: str,
50
- ) -> list[Tokens]:
47
+ ) -> list[tks.Tokens]:
51
48
  rf = os.path.join(os.path.dirname(path), rsrc.resource)
52
49
 
53
50
  if rsrc.kind == 'binary':
54
51
  with open(rf, 'rb') as bf:
55
52
  rb = bf.read() # noqa
56
53
 
57
- out: list[Tokens] = [[
58
- trt.Token(name='NAME', src=rsrc.variable),
59
- trt.Token(name='UNIMPORTANT_WS', src=' '),
60
- trt.Token(name='OP', src='='),
61
- trt.Token(name='UNIMPORTANT_WS', src=' '),
62
- trt.Token(name='NAME', src='base64'),
63
- trt.Token(name='OP', src='.'),
64
- trt.Token(name='NAME', src='b64decode'),
65
- trt.Token(name='OP', src='('),
66
- trt.Token(name='NL', src='\n'),
54
+ out: list[tks.Tokens] = [[
55
+ tks.Token(name='NAME', src=rsrc.variable),
56
+ tks.Token(name='UNIMPORTANT_WS', src=' '),
57
+ tks.Token(name='OP', src='='),
58
+ tks.Token(name='UNIMPORTANT_WS', src=' '),
59
+ tks.Token(name='NAME', src='base64'),
60
+ tks.Token(name='OP', src='.'),
61
+ tks.Token(name='NAME', src='b64decode'),
62
+ tks.Token(name='OP', src='('),
63
+ tks.Token(name='NL', src='\n'),
67
64
  ]]
68
65
 
69
66
  rb64 = base64.b64encode(rb).decode('ascii')
70
67
  for chunk in itertools.batched(rb64, 96):
71
68
  out.append([
72
- trt.Token(name='UNIMPORTANT_WS', src=' '),
73
- trt.Token(name='STRING', src=f"'{''.join(chunk)}'"),
74
- trt.Token(name='NL', src='\n'),
69
+ tks.Token(name='UNIMPORTANT_WS', src=' '),
70
+ tks.Token(name='STRING', src=f"'{''.join(chunk)}'"),
71
+ tks.Token(name='NL', src='\n'),
75
72
  ])
76
73
 
77
74
  out.append([
78
- trt.Token(name='OP', src=')'),
79
- trt.Token(name='NEWLINE', src='\n'),
75
+ tks.Token(name='OP', src=')'),
76
+ tks.Token(name='NEWLINE', src='\n'),
80
77
  ])
81
78
 
82
79
  return out
@@ -87,12 +84,12 @@ def build_resource_lines(
87
84
  rt = rt.replace('\\', '\\\\') # Escape backslashes
88
85
  rt = rt.replace('"""', r'\"\"\"')
89
86
  return [[
90
- trt.Token(name='NAME', src=rsrc.variable),
91
- trt.Token(name='UNIMPORTANT_WS', src=' '),
92
- trt.Token(name='OP', src='='),
93
- trt.Token(name='UNIMPORTANT_WS', src=' '),
94
- trt.Token(name='STRING', src=f'"""\\\n{rt}""" # noqa\n'),
95
- trt.Token(name='NEWLINE', src=''),
87
+ tks.Token(name='NAME', src=rsrc.variable),
88
+ tks.Token(name='UNIMPORTANT_WS', src=' '),
89
+ tks.Token(name='OP', src='='),
90
+ tks.Token(name='UNIMPORTANT_WS', src=' '),
91
+ tks.Token(name='STRING', src=f'"""\\\n{rt}""" # noqa\n'),
92
+ tks.Token(name='NEWLINE', src=''),
96
93
  ]]
97
94
 
98
95
  else:
@@ -1,12 +1,10 @@
1
1
  import dataclasses as dc
2
2
  import typing as ta
3
3
 
4
- import tokenize_rt as trt
5
-
6
4
  from omlish import collections as col
7
5
  from omlish import lang
8
6
 
9
- from .. import tokens as tks
7
+ from ..tokens import all as tks
10
8
  from .imports import Import
11
9
  from .imports import make_import
12
10
  from .manifests import comment_out_manifest_comment
@@ -15,7 +13,6 @@ from .resources import build_resource_lines
15
13
  from .resources import is_root_level_resources_read
16
14
  from .strip import split_header_lines
17
15
  from .strip import strip_header_lines
18
- from .types import Tokens
19
16
  from .typing import Typing
20
17
  from .typing import is_root_level_if_type_checking_block
21
18
  from .typing import make_typing
@@ -30,13 +27,13 @@ class SrcFile:
30
27
  path: str
31
28
 
32
29
  src: str = dc.field(repr=False)
33
- tokens: Tokens = dc.field(repr=False)
34
- lines: ta.Sequence[Tokens] = dc.field(repr=False)
30
+ tokens: tks.Tokens = dc.field(repr=False)
31
+ lines: ta.Sequence[tks.Tokens] = dc.field(repr=False)
35
32
 
36
- header_lines: ta.Sequence[Tokens] = dc.field(repr=False)
33
+ header_lines: ta.Sequence[tks.Tokens] = dc.field(repr=False)
37
34
  imports: ta.Sequence[Import] = dc.field(repr=False)
38
35
  typings: ta.Sequence[Typing] = dc.field(repr=False)
39
- content_lines: ta.Sequence[Tokens] = dc.field(repr=False)
36
+ content_lines: ta.Sequence[tks.Tokens] = dc.field(repr=False)
40
37
 
41
38
  ruff_noqa: ta.AbstractSet[str] = dc.field(repr=False)
42
39
 
@@ -51,7 +48,7 @@ def make_src_file(
51
48
  with open(path) as f:
52
49
  src = f.read().strip()
53
50
 
54
- tokens = trt.src_to_tokens(src)
51
+ tokens = tks.src_to_tokens(src)
55
52
  lines = tks.split_lines(tokens)
56
53
 
57
54
  header_lines, cls = split_header_lines(lines)
@@ -61,7 +58,7 @@ def make_src_file(
61
58
 
62
59
  imps: list[Import] = []
63
60
  tys: list[Typing] = []
64
- ctls: list[Tokens] = []
61
+ ctls: list[tks.Tokens] = []
65
62
 
66
63
  has_binary_resources = False
67
64
 
@@ -2,8 +2,7 @@ import re
2
2
  import typing as ta
3
3
 
4
4
  from .. import magic
5
- from .. import tokens as tks
6
- from .types import Tokens
5
+ from ..tokens import all as tks
7
6
 
8
7
 
9
8
  ##
@@ -12,7 +11,7 @@ from .types import Tokens
12
11
  HEADER_NAMES = (*tks.WS_NAMES, 'COMMENT', 'STRING')
13
12
 
14
13
 
15
- def split_header_lines(lines: ta.Iterable[Tokens]) -> tuple[list[Tokens], list[Tokens]]:
14
+ def split_header_lines(lines: ta.Iterable[tks.Tokens]) -> tuple[list[tks.Tokens], list[tks.Tokens]]:
16
15
  ws = []
17
16
  nws = []
18
17
  for line in (it := iter(lines)):
@@ -31,7 +30,7 @@ def split_header_lines(lines: ta.Iterable[Tokens]) -> tuple[list[Tokens], list[T
31
30
  IF_MAIN_PAT = re.compile(r'if\s+__name__\s+==\s+[\'"]__main__[\'"]\s*:')
32
31
 
33
32
 
34
- def strip_main_lines(cls: ta.Sequence[Tokens]) -> list[Tokens]:
33
+ def strip_main_lines(cls: ta.Sequence[tks.Tokens]) -> list[tks.Tokens]:
35
34
  out = []
36
35
 
37
36
  for l in (it := iter(cls)):
@@ -59,7 +58,7 @@ STRIPPED_HEADER_PAT = magic.compile_magic_style_pat(
59
58
  )
60
59
 
61
60
 
62
- def strip_header_lines(hls: ta.Sequence[Tokens]) -> list[Tokens]:
61
+ def strip_header_lines(hls: ta.Sequence[tks.Tokens]) -> list[tks.Tokens]:
63
62
  if hls and tks.join_toks(hls[0]).startswith('#!'):
64
63
  hls = hls[1:]
65
64
  out = []
@@ -1,6 +1,6 @@
1
1
  import typing as ta
2
2
 
3
- from .. import tokens as tks
3
+ from ..tokens import all as tks
4
4
 
5
5
 
6
6
  Tokens: ta.TypeAlias = tks.Tokens
@@ -1,7 +1,8 @@
1
1
  import dataclasses as dc
2
2
 
3
- from .. import tokens as tks
4
- from .types import Tokens
3
+ from omlish import check
4
+
5
+ from ..tokens import all as tks
5
6
 
6
7
 
7
8
  ##
@@ -18,11 +19,11 @@ class Typing:
18
19
  src_path: str
19
20
  line: int
20
21
 
21
- toks: Tokens = dc.field(repr=False)
22
+ toks: tks.Tokens = dc.field(repr=False)
22
23
 
23
24
 
24
25
  def _is_typing(
25
- lts: Tokens,
26
+ lts: tks.Tokens,
26
27
  *,
27
28
  exclude_newtypes: bool = False,
28
29
  ) -> bool:
@@ -48,7 +49,7 @@ def _is_typing(
48
49
 
49
50
 
50
51
  def make_typing(
51
- lts: Tokens,
52
+ lts: tks.Tokens,
52
53
  *,
53
54
  src_path: str,
54
55
  ) -> Typing | None:
@@ -63,7 +64,7 @@ def make_typing(
63
64
  src=tks.join_toks(lts),
64
65
 
65
66
  src_path=src_path,
66
- line=ft.line,
67
+ line=check.not_none(ft.line),
67
68
 
68
69
  toks=lts,
69
70
  )
@@ -72,7 +73,7 @@ def make_typing(
72
73
  ##
73
74
 
74
75
 
75
- def is_root_level_if_type_checking_block(lts: Tokens) -> bool:
76
+ def is_root_level_if_type_checking_block(lts: tks.Tokens) -> bool:
76
77
  return tks.match_toks(tks.ignore_ws(lts, keep=['INDENT']), [
77
78
  ('NAME', 'if'),
78
79
  ('NAME', 'ta'),
@@ -83,7 +84,7 @@ def is_root_level_if_type_checking_block(lts: Tokens) -> bool:
83
84
 
84
85
 
85
86
  def skip_root_level_if_type_checking_block(
86
- cls: list[Tokens],
87
+ cls: list[tks.Tokens],
87
88
  i: int,
88
89
  ) -> int:
89
90
  def skip_block():
@@ -112,10 +112,16 @@ class CiCli(ArgparseCli):
112
112
  check.state(os.path.isfile(docker_file))
113
113
 
114
114
  if compose_file is None:
115
- compose_file = find_alt_file(
116
- 'docker/compose.yml',
117
- 'compose.yml',
118
- )
115
+ compose_file = find_alt_file(*[
116
+ f'{f}.{x}'
117
+ for f in [
118
+ 'docker/docker-compose',
119
+ 'docker/compose',
120
+ 'docker-compose',
121
+ 'compose',
122
+ ]
123
+ for x in ['yaml', 'yml']
124
+ ])
119
125
  check.state(os.path.isfile(compose_file))
120
126
 
121
127
  if not requirements_txts:
@@ -200,7 +200,10 @@ class DockerComposeRun(ExitStacked):
200
200
  '-f', compose_file,
201
201
  'run',
202
202
  '--rm',
203
- *itertools.chain.from_iterable(['-e', k] for k in (self._cfg.cmd.env or [])),
203
+ *itertools.chain.from_iterable(
204
+ ['-e', k]
205
+ for k in (self._cfg.cmd.env or [])
206
+ ),
204
207
  *(self._cfg.run_options or []),
205
208
  self._cfg.service,
206
209
  'sh', '-c', shlex.quote(self._cfg.cmd.s),
@@ -73,8 +73,8 @@ def download_requirements(
73
73
  'pip',
74
74
  'download',
75
75
  '-d', '/requirements',
76
- *itertools.chain.from_iterable([
76
+ *itertools.chain.from_iterable(
77
77
  ['-r', f'/requirements_txt/{os.path.basename(rt)}']
78
78
  for rt in requirements_txts
79
- ]),
79
+ ),
80
80
  )
@@ -2461,7 +2461,10 @@ class DockerComposeRun(ExitStacked):
2461
2461
  '-f', compose_file,
2462
2462
  'run',
2463
2463
  '--rm',
2464
- *itertools.chain.from_iterable(['-e', k] for k in (self._cfg.cmd.env or [])),
2464
+ *itertools.chain.from_iterable(
2465
+ ['-e', k]
2466
+ for k in (self._cfg.cmd.env or [])
2467
+ ),
2465
2468
  *(self._cfg.run_options or []),
2466
2469
  self._cfg.service,
2467
2470
  'sh', '-c', shlex.quote(self._cfg.cmd.s),
@@ -3018,10 +3021,10 @@ def download_requirements(
3018
3021
  'pip',
3019
3022
  'download',
3020
3023
  '-d', '/requirements',
3021
- *itertools.chain.from_iterable([
3024
+ *itertools.chain.from_iterable(
3022
3025
  ['-r', f'/requirements_txt/{os.path.basename(rt)}']
3023
3026
  for rt in requirements_txts
3024
- ]),
3027
+ ),
3025
3028
  )
3026
3029
 
3027
3030
 
@@ -3358,10 +3361,16 @@ class CiCli(ArgparseCli):
3358
3361
  check.state(os.path.isfile(docker_file))
3359
3362
 
3360
3363
  if compose_file is None:
3361
- compose_file = find_alt_file(
3362
- 'docker/compose.yml',
3363
- 'compose.yml',
3364
- )
3364
+ compose_file = find_alt_file(*[
3365
+ f'{f}.{x}'
3366
+ for f in [
3367
+ 'docker/docker-compose',
3368
+ 'docker/compose',
3369
+ 'docker-compose',
3370
+ 'compose',
3371
+ ]
3372
+ for x in ['yaml', 'yml']
3373
+ ])
3365
3374
  check.state(os.path.isfile(compose_file))
3366
3375
 
3367
3376
  if not requirements_txts:
@@ -0,0 +1,35 @@
1
+ from .tokenizert import ( # noqa
2
+ TokenNames,
3
+ Token,
4
+ TokenOffset,
5
+
6
+ Tokenization,
7
+ )
8
+
9
+ from .utils import ( # noqa
10
+ Tokens,
11
+
12
+ WS_NAMES,
13
+ is_ws,
14
+ ignore_ws,
15
+
16
+ split_lines,
17
+ join_toks,
18
+ join_lines,
19
+
20
+ match_toks,
21
+ )
22
+
23
+
24
+ ##
25
+
26
+
27
+ ESCAPED_NL = TokenNames.ESCAPED_NL # noqa
28
+ UNIMPORTANT_WS = TokenNames.UNIMPORTANT_WS # noqa
29
+ NON_CODING_TOKENS = TokenNames.NON_CODING_TOKENS # noqa
30
+
31
+ curly_escape = Tokenization.curly_escape # noqa
32
+ src_to_tokens = Tokenization.src_to_tokens # noqa
33
+ parse_string_literal = Tokenization.parse_string_literal # noqa
34
+ tokens_to_src = Tokenization.tokens_to_src # noqa
35
+ rfind_string_parts = Tokenization.rfind_string_parts # noqa