omdev 0.0.0.dev51__tar.gz → 0.0.0.dev52__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 (129) hide show
  1. {omdev-0.0.0.dev51/omdev.egg-info → omdev-0.0.0.dev52}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/build.py +35 -15
  3. omdev-0.0.0.dev52/omdev/secrets.py +17 -0
  4. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52/omdev.egg-info}/PKG-INFO +2 -2
  5. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/requires.txt +1 -1
  6. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/pyproject.toml +3 -2
  7. omdev-0.0.0.dev51/omdev/secrets.py +0 -12
  8. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/LICENSE +0 -0
  9. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/MANIFEST.in +0 -0
  10. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/README.rst +0 -0
  11. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/.manifests.json +0 -0
  12. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/__about__.py +0 -0
  13. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/__init__.py +0 -0
  14. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/amalg/__init__.py +0 -0
  15. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/amalg/__main__.py +0 -0
  16. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/amalg/amalg.py +0 -0
  17. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/bracepy.py +0 -0
  18. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/__init__.py +0 -0
  19. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/__init__.py +0 -0
  20. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/cache.py +0 -0
  21. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/contexts.py +0 -0
  22. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/currents.py +0 -0
  23. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/fns.py +0 -0
  24. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/resolvers.py +0 -0
  25. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/storage.py +0 -0
  26. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/types.py +0 -0
  27. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/__init__.py +0 -0
  28. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/actions.py +0 -0
  29. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/cache.py +0 -0
  30. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/consts.py +0 -0
  31. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/defaults.py +0 -0
  32. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/manifests.py +0 -0
  33. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/specs.py +0 -0
  34. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/__init__.py +0 -0
  35. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_boilerplate.cc +0 -0
  36. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/LICENSE +0 -0
  37. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/__init__.py +0 -0
  38. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/build_ext.py +0 -0
  39. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  40. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  41. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/options.py +0 -0
  42. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  43. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/dir_util.py +0 -0
  44. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/errors.py +0 -0
  45. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/extension.py +0 -0
  46. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/file_util.py +0 -0
  47. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/modified.py +0 -0
  48. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/spawn.py +0 -0
  49. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/sysconfig.py +0 -0
  50. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/util.py +0 -0
  51. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/version.py +0 -0
  52. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/build.py +0 -0
  53. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/cmake.py +0 -0
  54. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/importhook.py +0 -0
  55. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/magic.py +0 -0
  56. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/scan.py +0 -0
  57. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/classdot.py +0 -0
  58. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/__init__.py +0 -0
  59. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/__main__.py +0 -0
  60. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/clicli.py +0 -0
  61. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/install.py +0 -0
  62. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/main.py +0 -0
  63. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/managers.py +0 -0
  64. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/types.py +0 -0
  65. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cmake.py +0 -0
  66. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/findimports.py +0 -0
  67. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/findmagic.py +0 -0
  68. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/git.py +0 -0
  69. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/__init__.py +0 -0
  70. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/__main__.py +0 -0
  71. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/cli.py +0 -0
  72. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/inspect.py +0 -0
  73. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/providers.py +0 -0
  74. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/pyenv.py +0 -0
  75. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/resolvers.py +0 -0
  76. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/standalone.py +0 -0
  77. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/system.py +0 -0
  78. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/types.py +0 -0
  79. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/__init__.py +0 -0
  80. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/load.py +0 -0
  81. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/types.py +0 -0
  82. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/mypy/__init__.py +0 -0
  83. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/mypy/debug.py +0 -0
  84. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/__init__.py +0 -0
  85. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/names.py +0 -0
  86. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/requires.py +0 -0
  87. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/specifiers.py +0 -0
  88. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/versions.py +0 -0
  89. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/__init__.py +0 -0
  90. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/__main__.py +0 -0
  91. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/base.py +0 -0
  92. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/git.py +0 -0
  93. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/lite.py +0 -0
  94. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/precheck.py +0 -0
  95. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/scripts.py +0 -0
  96. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/__init__.py +0 -0
  97. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/__main__.py +0 -0
  98. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/cexts.py +0 -0
  99. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/cli.py +0 -0
  100. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/configs.py +0 -0
  101. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/pkg.py +0 -0
  102. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/reqs.py +0 -0
  103. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/revisions.py +0 -0
  104. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/__init__.py +0 -0
  105. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/bumpversion.py +0 -0
  106. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/execrss.py +0 -0
  107. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/exectime.py +0 -0
  108. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/importtrace.py +0 -0
  109. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/interp.py +0 -0
  110. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/pyproject.py +0 -0
  111. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tokens.py +0 -0
  112. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/toml/__init__.py +0 -0
  113. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/toml/parser.py +0 -0
  114. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/toml/writer.py +0 -0
  115. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/__init__.py +0 -0
  116. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/dockertools.py +0 -0
  117. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/gittools.py +0 -0
  118. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/importscan.py +0 -0
  119. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/mkrelimp.py +0 -0
  120. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/piptools.py +0 -0
  121. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/proftools.py +0 -0
  122. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/rst.py +0 -0
  123. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/sqlrepl.py +0 -0
  124. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/wheelfile.py +0 -0
  125. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/SOURCES.txt +0 -0
  126. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/dependency_links.txt +0 -0
  127. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/entry_points.txt +0 -0
  128. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/top_level.txt +0 -0
  129. {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev51
3
+ Version: 0.0.0.dev52
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.dev51
15
+ Requires-Dist: omlish==0.0.0.dev52
16
16
  Provides-Extra: all
17
17
  Requires-Dist: pycparser~=2.22; extra == "all"
18
18
  Requires-Dist: cffi~=1.17; extra == "all"
@@ -13,9 +13,13 @@ See (entry_points):
13
13
  # ruff: noqa: UP006 UP007
14
14
  import argparse
15
15
  import collections
16
+ import concurrent.futures as cf
16
17
  import dataclasses as dc
18
+ import functools
17
19
  import inspect
20
+ import itertools
18
21
  import json
22
+ import multiprocessing as mp
19
23
  import os.path
20
24
  import re
21
25
  import shlex
@@ -195,6 +199,7 @@ def build_module_manifests(
195
199
 
196
200
 
197
201
  def build_package_manifests(
202
+ ex: cf.Executor,
198
203
  name: str,
199
204
  base: str,
200
205
  *,
@@ -204,14 +209,20 @@ def build_package_manifests(
204
209
  if not os.path.isdir(pkg_dir) or not os.path.isfile(os.path.join(pkg_dir, '__init__.py')):
205
210
  raise Exception(pkg_dir)
206
211
 
207
- manifests: ta.List[Manifest] = []
208
-
209
- for file in sorted(findmagic.find_magic(
210
- [pkg_dir],
211
- [MANIFEST_MAGIC],
212
- ['py'],
213
- )):
214
- manifests.extend(build_module_manifests(os.path.relpath(file, base), base))
212
+ files = sorted(findmagic.find_magic(
213
+ [pkg_dir],
214
+ [MANIFEST_MAGIC],
215
+ ['py'],
216
+ ))
217
+ futs = [
218
+ ex.submit(functools.partial(
219
+ build_module_manifests,
220
+ os.path.relpath(file, base),
221
+ base,
222
+ ))
223
+ for file in files
224
+ ]
225
+ manifests: ta.List[Manifest] = list(itertools.chain.from_iterable(fut.result() for fut in futs))
215
226
 
216
227
  if write:
217
228
  with open(os.path.join(pkg_dir, '.manifests.json'), 'w') as f:
@@ -266,14 +277,22 @@ if __name__ == '__main__':
266
277
  def _gen_cmd(args) -> None:
267
278
  base = _get_base(args)
268
279
 
269
- for pkg in args.package:
270
- ms = build_package_manifests(
271
- pkg,
272
- base,
273
- write=args.write or False,
274
- )
280
+ num_threads = args.jobs or max(mp.cpu_count() // 2, 1)
281
+ with cf.ThreadPoolExecutor(num_threads) as ex:
282
+ futs = [
283
+ ex.submit(functools.partial(
284
+ build_package_manifests,
285
+ ex,
286
+ pkg,
287
+ base,
288
+ write=args.write or False,
289
+ ))
290
+ for pkg in args.package
291
+ ]
292
+ mss = [fut.result() for fut in futs]
275
293
  if not args.quiet:
276
- print(json_dumps_pretty([dc.asdict(m) for m in ms]))
294
+ for ms in mss:
295
+ print(json_dumps_pretty([dc.asdict(m) for m in ms]))
277
296
 
278
297
  def _check_cmd(args) -> None:
279
298
  base = _get_base(args)
@@ -294,6 +313,7 @@ if __name__ == '__main__':
294
313
  parser_gen.add_argument('-b', '--base')
295
314
  parser_gen.add_argument('-w', '--write', action='store_true')
296
315
  parser_gen.add_argument('-q', '--quiet', action='store_true')
316
+ parser_gen.add_argument('-j', '--jobs', type=int)
297
317
  parser_gen.add_argument('package', nargs='*')
298
318
  parser_gen.set_defaults(func=_gen_cmd)
299
319
 
@@ -0,0 +1,17 @@
1
+ import os.path
2
+
3
+ import yaml
4
+
5
+ from omlish import secrets as sec
6
+
7
+
8
+ SECRETS_PATH = os.getenv('SECRETS_PATH', os.path.expanduser('~/Dropbox/.dotfiles/secrets.yml'))
9
+
10
+
11
+ def load_secrets() -> sec.Secrets:
12
+ dct: dict[str, sec.Secret] = {}
13
+ with open(SECRETS_PATH) as f:
14
+ for k, v in yaml.safe_load(f).items():
15
+ if isinstance(v, str):
16
+ dct[k] = sec.Secret(key=k, value=v)
17
+ return sec.MappingSecrets(dct)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev51
3
+ Version: 0.0.0.dev52
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.dev51
15
+ Requires-Dist: omlish==0.0.0.dev52
16
16
  Provides-Extra: all
17
17
  Requires-Dist: pycparser~=2.22; extra == "all"
18
18
  Requires-Dist: cffi~=1.17; extra == "all"
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev51
1
+ omlish==0.0.0.dev52
2
2
 
3
3
  [all]
4
4
  pycparser~=2.22
@@ -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.dev51'
15
+ version = '0.0.0.dev52'
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.dev51',
25
+ 'omlish == 0.0.0.dev52',
26
26
  ]
27
27
 
28
28
  [project.optional-dependencies]
@@ -73,6 +73,7 @@ exclude = [
73
73
  '*.c',
74
74
  '*.cc',
75
75
  '*.cu',
76
+ '*.g4',
76
77
  '*.h',
77
78
  '.manifests.json',
78
79
  'LICENSE',
@@ -1,12 +0,0 @@
1
- import os.path
2
- import typing as ta
3
-
4
- import yaml
5
-
6
-
7
- SECRETS_PATH = os.getenv('SECRETS_PATH', os.path.expanduser('~/Dropbox/.dotfiles/secrets.yml'))
8
-
9
-
10
- def load_secrets() -> dict[str, ta.Any]:
11
- with open(SECRETS_PATH) as f:
12
- return yaml.safe_load(f)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes