omdev 0.0.0.dev31__py3-none-any.whl → 0.0.0.dev33__py3-none-any.whl

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.

@@ -2,7 +2,7 @@
2
2
  # noinspection DuplicatedCode
3
3
  # @omlish-lite
4
4
  # @omlish-script
5
- # @omdev-amalg-output ../pyproject/cli.py
5
+ # @omlish-amalg-output ../pyproject/cli.py
6
6
  # ruff: noqa: N802 TCH003 UP006 UP007 UP036
7
7
  """
8
8
  TODO:
@@ -104,7 +104,7 @@ CallableVersionOperator = ta.Callable[['Version', str], bool]
104
104
 
105
105
 
106
106
  class CextMagic:
107
- MAGIC = '@omdev-cext'
107
+ MAGIC = '@omlish-cext'
108
108
  MAGIC_COMMENT = f'// {MAGIC}'
109
109
 
110
110
  FILE_EXTENSIONS = ('c', 'cc', 'cpp')
@@ -1089,6 +1089,10 @@ def toml_make_safe_parse_float(parse_float: TomlParseFloat) -> TomlParseFloat:
1089
1089
 
1090
1090
 
1091
1091
  class TomlWriter:
1092
+ @dc.dataclass(frozen=True)
1093
+ class Literal:
1094
+ s: str
1095
+
1092
1096
  def __init__(self, out: ta.TextIO) -> None:
1093
1097
  super().__init__()
1094
1098
  self._out = out
@@ -1170,7 +1174,9 @@ class TomlWriter:
1170
1174
  self._w(']')
1171
1175
 
1172
1176
  def write_key(self, obj: ta.Any) -> None:
1173
- if isinstance(obj, str):
1177
+ if isinstance(obj, TomlWriter.Literal):
1178
+ self._w(obj.s)
1179
+ elif isinstance(obj, str):
1174
1180
  self._w(self._maybe_quote(obj.replace('_', '-')))
1175
1181
  elif isinstance(obj, int):
1176
1182
  self._w(repr(str(obj)))
@@ -2022,7 +2028,7 @@ class RequirementsRewriter:
2022
2028
  def _tmp_dir(self) -> str:
2023
2029
  return tempfile.mkdtemp('-omlish-reqs')
2024
2030
 
2025
- VENV_MAGIC = '# @omdev-venv'
2031
+ VENV_MAGIC = '# @omlish-venv'
2026
2032
 
2027
2033
  def rewrite_file(self, in_file: str) -> str:
2028
2034
  with open(in_file) as f:
@@ -3977,7 +3983,15 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
3977
3983
  **extras,
3978
3984
  }
3979
3985
 
3980
- #
3986
+ if (eps := prj.pop('entry_points', None)):
3987
+ pyp_dct['project.entry-points'] = {TomlWriter.Literal(f"'{k}'"): v for k, v in eps.items()} # type: ignore # noqa
3988
+
3989
+ if (scs := prj.pop('scripts', None)):
3990
+ pyp_dct['project.scripts'] = scs
3991
+
3992
+ prj.pop('cli_scripts', None)
3993
+
3994
+ ##
3981
3995
 
3982
3996
  st = dict(specs.setuptools)
3983
3997
  pyp_dct['tool.setuptools'] = st
@@ -4061,6 +4075,13 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
4061
4075
  pkg_suffix='-cext',
4062
4076
  ).gen(opts)
4063
4077
 
4078
+ if self.build_specs().pyproject.get('cli_scripts'):
4079
+ _PyprojectCliPackageGenerator(
4080
+ self._dir_name,
4081
+ self._pkgs_root,
4082
+ pkg_suffix='-cli',
4083
+ ).gen(opts)
4084
+
4064
4085
  return ret
4065
4086
 
4066
4087
 
@@ -4102,7 +4123,13 @@ class _PyprojectCextPackageGenerator(BasePyprojectPackageGenerator):
4102
4123
  prj = specs.pyproject
4103
4124
  prj['dependencies'] = [f'{prj["name"]} == {prj["version"]}']
4104
4125
  prj['name'] += self._pkg_suffix
4105
- prj.pop('optional_dependencies', None)
4126
+ for k in [
4127
+ 'optional_dependencies',
4128
+ 'entry_points',
4129
+ 'scripts',
4130
+ 'cli_scripts',
4131
+ ]:
4132
+ prj.pop(k, None)
4106
4133
 
4107
4134
  pyp_dct['project'] = prj
4108
4135
 
@@ -4167,6 +4194,76 @@ class _PyprojectCextPackageGenerator(BasePyprojectPackageGenerator):
4167
4194
  f.write(fc.setup_py)
4168
4195
 
4169
4196
 
4197
+ ##
4198
+
4199
+
4200
+ class _PyprojectCliPackageGenerator(BasePyprojectPackageGenerator):
4201
+
4202
+ #
4203
+
4204
+ @dc.dataclass(frozen=True)
4205
+ class FileContents:
4206
+ pyproject_dct: ta.Mapping[str, ta.Any]
4207
+
4208
+ @cached_nullary
4209
+ def file_contents(self) -> FileContents:
4210
+ specs = self.build_specs()
4211
+
4212
+ #
4213
+
4214
+ pyp_dct = {}
4215
+
4216
+ pyp_dct['build-system'] = {
4217
+ 'requires': ['setuptools'],
4218
+ 'build-backend': 'setuptools.build_meta',
4219
+ }
4220
+
4221
+ prj = specs.pyproject
4222
+ prj['dependencies'] = [f'{prj["name"]} == {prj["version"]}']
4223
+ prj['name'] += self._pkg_suffix
4224
+ for k in [
4225
+ 'optional_dependencies',
4226
+ 'entry_points',
4227
+ 'scripts',
4228
+ ]:
4229
+ prj.pop(k, None)
4230
+
4231
+ pyp_dct['project'] = prj
4232
+
4233
+ if (scs := prj.pop('cli_scripts', None)):
4234
+ pyp_dct['project.scripts'] = scs
4235
+
4236
+ #
4237
+
4238
+ st = dict(specs.setuptools)
4239
+ pyp_dct['tool.setuptools'] = st
4240
+
4241
+ for k in [
4242
+ 'cexts',
4243
+
4244
+ 'find_packages',
4245
+ 'package_data',
4246
+ 'manifest_in',
4247
+ ]:
4248
+ st.pop(k, None)
4249
+
4250
+ pyp_dct['tool.setuptools.packages.find'] = {
4251
+ 'include': [],
4252
+ }
4253
+
4254
+ #
4255
+
4256
+ return self.FileContents(
4257
+ pyp_dct,
4258
+ )
4259
+
4260
+ def _write_file_contents(self) -> None:
4261
+ fc = self.file_contents()
4262
+
4263
+ with open(os.path.join(self._pkg_dir(), 'pyproject.toml'), 'w') as f:
4264
+ TomlWriter(f).write_root(fc.pyproject_dct)
4265
+
4266
+
4170
4267
  ########################################
4171
4268
  # ../../interp/providers.py
4172
4269
  """
@@ -4233,16 +4330,14 @@ class RunningInterpProvider(InterpProvider):
4233
4330
  """
4234
4331
  TODO:
4235
4332
  - custom tags
4333
+ - 'aliases'
4334
+ - https://github.com/pyenv/pyenv/pull/2966
4335
+ - https://github.com/pyenv/pyenv/issues/218 (lol)
4336
+ - probably need custom (temp?) definition file
4337
+ - *or* python-build directly just into the versions dir?
4236
4338
  - optionally install / upgrade pyenv itself
4237
4339
  - new vers dont need these custom mac opts, only run on old vers
4238
-
4239
- TODO opts:
4240
- - --enable-loadable-sqlite-extensions LDFLAGS="-L/opt/homebrew/opt/sqlite/lib" CPPFLAGS="-I/opt/homebrew/opt/sqlite/include"
4241
- - --enable-shared
4242
- - --enable-optimizations
4243
- - --enable-profiling ?
4244
- - --enable-ipv6 ?
4245
- """ # noqa
4340
+ """
4246
4341
 
4247
4342
 
4248
4343
  ##
@@ -4336,8 +4431,33 @@ class PyenvInstallOpts:
4336
4431
  )
4337
4432
 
4338
4433
 
4339
- DEFAULT_PYENV_INSTALL_OPTS = PyenvInstallOpts(opts=['-s', '-v'])
4434
+ # TODO: https://github.com/pyenv/pyenv/blob/master/plugins/python-build/README.md#building-for-maximum-performance
4435
+ DEFAULT_PYENV_INSTALL_OPTS = PyenvInstallOpts(
4436
+ opts=[
4437
+ '-s',
4438
+ '-v',
4439
+ '-k',
4440
+ ],
4441
+ conf_opts=[
4442
+ '--enable-loadable-sqlite-extensions',
4443
+
4444
+ # '--enable-shared',
4445
+
4446
+ '--enable-optimizations',
4447
+ '--with-lto',
4448
+
4449
+ # '--enable-profiling', # ?
4450
+
4451
+ # '--enable-ipv6', # ?
4452
+ ],
4453
+ cflags=[
4454
+ # '-march=native',
4455
+ # '-mtune=native',
4456
+ ],
4457
+ )
4458
+
4340
4459
  DEBUG_PYENV_INSTALL_OPTS = PyenvInstallOpts(opts=['-g'])
4460
+
4341
4461
  THREADED_PYENV_INSTALL_OPTS = PyenvInstallOpts(conf_opts=['--disable-gil'])
4342
4462
 
4343
4463
 
@@ -4436,6 +4556,7 @@ class PyenvVersionInstaller:
4436
4556
  opts: ta.Optional[PyenvInstallOpts] = None,
4437
4557
  interp_opts: InterpOpts = InterpOpts(),
4438
4558
  *,
4559
+ install_name: ta.Optional[str] = None,
4439
4560
  no_default_opts: bool = False,
4440
4561
  pyenv: Pyenv = Pyenv(),
4441
4562
  ) -> None:
@@ -4456,6 +4577,7 @@ class PyenvVersionInstaller:
4456
4577
  self._version = version
4457
4578
  self._opts = opts
4458
4579
  self._interp_opts = interp_opts
4580
+ self._given_install_name = install_name
4459
4581
 
4460
4582
  self._no_default_opts = no_default_opts
4461
4583
  self._pyenv = pyenv
@@ -4470,6 +4592,8 @@ class PyenvVersionInstaller:
4470
4592
 
4471
4593
  @cached_nullary
4472
4594
  def install_name(self) -> str:
4595
+ if self._given_install_name is not None:
4596
+ return self._given_install_name
4473
4597
  return self._version + ('-debug' if self._interp_opts.debug else '')
4474
4598
 
4475
4599
  @cached_nullary
@@ -4489,11 +4613,26 @@ class PyenvVersionInstaller:
4489
4613
  v += ' ' + os.environ[k]
4490
4614
  env[k] = v
4491
4615
 
4492
- subprocess_check_call(
4493
- self._pyenv.exe(),
4494
- 'install',
4616
+ conf_args = [
4495
4617
  *self._opts.opts,
4496
4618
  self._version,
4619
+ ]
4620
+
4621
+ if self._given_install_name is not None:
4622
+ full_args = [
4623
+ os.path.join(check_not_none(self._pyenv.root()), 'plugins', 'python-build', 'bin', 'python-build'),
4624
+ *conf_args,
4625
+ self.install_dir(),
4626
+ ]
4627
+ else:
4628
+ full_args = [
4629
+ self._pyenv.exe(),
4630
+ 'install',
4631
+ *conf_args,
4632
+ ]
4633
+
4634
+ subprocess_check_call(
4635
+ *full_args,
4497
4636
  env=env,
4498
4637
  )
4499
4638
 
omdev/toml/writer.py CHANGED
@@ -1,8 +1,13 @@
1
+ import dataclasses as dc
1
2
  import string
2
3
  import typing as ta
3
4
 
4
5
 
5
6
  class TomlWriter:
7
+ @dc.dataclass(frozen=True)
8
+ class Literal:
9
+ s: str
10
+
6
11
  def __init__(self, out: ta.TextIO) -> None:
7
12
  super().__init__()
8
13
  self._out = out
@@ -84,7 +89,9 @@ class TomlWriter:
84
89
  self._w(']')
85
90
 
86
91
  def write_key(self, obj: ta.Any) -> None:
87
- if isinstance(obj, str):
92
+ if isinstance(obj, TomlWriter.Literal):
93
+ self._w(obj.s)
94
+ elif isinstance(obj, str):
88
95
  self._w(self._maybe_quote(obj.replace('_', '-')))
89
96
  elif isinstance(obj, int):
90
97
  self._w(repr(str(obj)))
@@ -14,6 +14,8 @@ from omlish import lang
14
14
  from omlish import logs
15
15
  from omlish.formats import yaml
16
16
 
17
+ from ..cli import CliModule
18
+
17
19
 
18
20
  @lang.cached_function
19
21
  def docker_exe() -> str:
@@ -178,6 +180,10 @@ class Cli(ap.Cli):
178
180
  f.write(new_src)
179
181
 
180
182
 
183
+ # @omlish-manifest
184
+ _CLI_MODULE = CliModule('docker', __name__)
185
+
186
+
181
187
  if __name__ == '__main__':
182
188
  logs.configure_standard_logging('INFO')
183
189
  Cli()()
omdev/tools/gittools.py CHANGED
@@ -3,6 +3,8 @@ import subprocess
3
3
  from omlish import argparse as ap
4
4
  from omlish import logs
5
5
 
6
+ from ..cli import CliModule
7
+
6
8
 
7
9
  class Cli(ap.Cli):
8
10
  @ap.command()
@@ -17,6 +19,10 @@ class Cli(ap.Cli):
17
19
  )
18
20
 
19
21
 
22
+ # @omlish-manifest
23
+ _CLI_MODULE = CliModule('git', __name__)
24
+
25
+
20
26
  if __name__ == '__main__':
21
27
  logs.configure_standard_logging('INFO')
22
28
  Cli()()
omdev/tools/piptools.py CHANGED
@@ -5,6 +5,8 @@ import xml.etree.ElementTree as ET # noqa
5
5
  from omlish import argparse as ap
6
6
  from omlish import check
7
7
 
8
+ from ..cli import CliModule
9
+
8
10
 
9
11
  PYPI_URL = 'https://pypi.org/'
10
12
 
@@ -46,5 +48,9 @@ class Cli(ap.Cli):
46
48
  f.write(new_src)
47
49
 
48
50
 
51
+ # @omlish-manifest
52
+ _CLI_MODULE = CliModule('pip', __name__)
53
+
54
+
49
55
  if __name__ == '__main__':
50
56
  Cli()()
omdev/tools/sqlrepl.py CHANGED
@@ -13,6 +13,8 @@ from omlish import check
13
13
  from omlish import lang
14
14
  from omlish import logs
15
15
 
16
+ from ..cli import CliModule
17
+
16
18
 
17
19
  @dc.dataclass(frozen=True)
18
20
  class ServerSpec:
@@ -188,6 +190,10 @@ class Cli(ap.Cli):
188
190
  raise Exception(f'unhandled dialect: {dialect=}')
189
191
 
190
192
 
193
+ # @omlish-manifest
194
+ _CLI_MODULE = CliModule('sqlrepl', __name__)
195
+
196
+
191
197
  if __name__ == '__main__':
192
198
  logs.configure_standard_logging('INFO')
193
199
  Cli()()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev31
3
+ Version: 0.0.0.dev33
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.dev31
15
+ Requires-Dist: omlish ==0.0.0.dev33
16
16
  Provides-Extra: all
17
17
  Requires-Dist: pycparser ~=2.22 ; extra == 'all'
18
18
  Requires-Dist: cffi ~=1.17 ; extra == 'all'
@@ -1,20 +1,19 @@
1
- omdev/.manifests.json,sha256=N1F-Xz3GaBn2H1p7uKzhkhKCQV8QVR0t76XD6wmFtXA,3
2
- omdev/__about__.py,sha256=788lo_UuOSYF74y1RBiNlWkDdPnRFcmBAV5qYkaFJzE,868
1
+ omdev/.manifests.json,sha256=wj37gX22lyU9HrbsBNcHY7eY7PIMBsKRq7SC2tae97k,2596
2
+ omdev/__about__.py,sha256=LqSNNFFcT84xW3W8fIOJ78kPYJKFLIXZyDX-AJREvN0,1005
3
3
  omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  omdev/bracepy.py,sha256=HwBK5XmlOsF_juTel25fRLJK9vHSJCWXuCc-OZlevRQ,2619
5
- omdev/classdot.py,sha256=urN5Pzd2ooAwnfkH0z-muQxdO90IMo-sX2WB-A37lVU,1533
5
+ omdev/classdot.py,sha256=K0YMTngaC6uuEKhDb95tFzW33Re_YEdgIWBBeze4PTI,1628
6
6
  omdev/cmake.py,sha256=Diy2ry65806dQP125DAstD3w46z_wszMH7PwC2-6iik,4578
7
7
  omdev/findimports.py,sha256=P8v4I1tm6g-PEWJiNwAKxErvWwL-Nop83vAuwq1kR5A,2246
8
8
  omdev/findmagic.py,sha256=DhBYHHP_dzwM5pIh21xnQPnkZ2YmAXCjithsr7X0ScU,2357
9
9
  omdev/git.py,sha256=OzP4xHVboaa7GhS-mg4F3lYWf3HLa5aMm6V6PtIw_3U,2137
10
- omdev/manifests.py,sha256=bn8FzgYvC7L70mRXvu8TSc41eGp-BSVzuRvGuYj3FC8,9225
11
10
  omdev/revisions.py,sha256=U657hf4zeEN32y3g4CzqCAodx_HlfkHj2cIIKALNFDo,5009
12
11
  omdev/secrets.py,sha256=ja0VsCB01MHxYwn5OHjFeXV9cRah9AQl-0uJzZELpic,256
13
12
  omdev/tokens.py,sha256=GusxQ1Cd_eiScuR8XTTtc9QFhOgYviYGBZmFnn3Hj7s,756
14
13
  omdev/wheelfile.py,sha256=yfupGcGkbFlmzGzKU64k_vmOKpaKnUlDWxeGn2KdekU,10005
15
14
  omdev/amalg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- omdev/amalg/__main__.py,sha256=OE1udULO1g4McUbeg1CoHbSm4hbQ2kcE3ffEGxlnPh4,69
17
- omdev/amalg/amalg.py,sha256=g7wwcPE2G9qmzh8M9eZAscOYWKo3ldI8bNxEXFnmzLE,14064
15
+ omdev/amalg/__main__.py,sha256=h94M-VqZ3AFBU2a8zOsjeKK7RF6uINhTHl6OiGbVMgw,163
16
+ omdev/amalg/amalg.py,sha256=WXMEA55FMJ2VmM1TpjMWwUN0_PdbwUofBl23YJAregs,14222
18
17
  omdev/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
18
  omdev/cache/compute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
19
  omdev/cache/compute/cache.py,sha256=pEbcTSQavhX7M0olzR8AOCtHx7tMnMnEDEfTPQVY5uE,3602
@@ -32,11 +31,11 @@ omdev/cache/data/defaults.py,sha256=HrapVUIf9Ozu3qSfRPyQj-vx-dz6Yyedjb-k3yV4CW8,
32
31
  omdev/cache/data/manifests.py,sha256=CupK71fL3_PnDzUqjrWLNt64KfGKF-K4ycMkT5p0gPA,979
33
32
  omdev/cache/data/specs.py,sha256=EB_JLIFe47ETCtAk8BD6oY6qhM7U_nOkILJfnLaVafI,2351
34
33
  omdev/cexts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- omdev/cexts/_boilerplate.cc,sha256=aOWF_5C2pqnIrkT1ykEaL7N2pIpamW6pdXriRbd3lvs,1725
34
+ omdev/cexts/_boilerplate.cc,sha256=sbpXEgdFrkdzZXgaNWFFNN27fL9TZu6VrwvMY4-nnFM,1726
36
35
  omdev/cexts/build.py,sha256=F3z1-CjDlEM-Gzi5IunKUBO52qdH_pMsFylobTdGJnI,2654
37
- omdev/cexts/cmake.py,sha256=WiGcxmsI9dGQ5rM5ByMtHdG_MBP1dhj3gkbwUWY9rm8,9741
36
+ omdev/cexts/cmake.py,sha256=H-fafsK5TCHAoxOcxvZm83CXFAJl3Gf-nm9GjXfa8SU,9833
38
37
  omdev/cexts/importhook.py,sha256=ko0KRxah_ZHhLVcCigYIIDvNHCfHpJ8qhmmuHKbCOt4,3546
39
- omdev/cexts/magic.py,sha256=LhC31I2GiCq3NRU5dpy_9do6IVjhdGu58uPPFffQx5Q,135
38
+ omdev/cexts/magic.py,sha256=FxMfciRvbrcyH-kfQgcAgZL7ekyp5BdkyQ5IC9YjFzo,136
40
39
  omdev/cexts/scan.py,sha256=_U5DX9ksHP1845PdGxWh4Rf1a6x_sG1MH3uL_hwBnKY,1669
41
40
  omdev/cexts/_distutils/LICENSE,sha256=22p14FIRp3F4Cb7Mj_GK33PKr25issFGHC2JN6dg9vc,1023
42
41
  omdev/cexts/_distutils/__init__.py,sha256=c1zImtnPh3uY8BUTV4RLKtGKqTPx3c_pBbhA6tPtNsE,297
@@ -54,16 +53,24 @@ omdev/cexts/_distutils/compilers/__init__.py,sha256=amL_zrFlba0lHIvpqDne9uhqhLem
54
53
  omdev/cexts/_distutils/compilers/ccompiler.py,sha256=cTs88qrvj0hBVXHfemSDE_du_nEA4_qo3Qst5TpQkVI,43606
55
54
  omdev/cexts/_distutils/compilers/options.py,sha256=H7r5IcLvga5Fs3jjXWIT-6ap3JBduXRKgtpDmSGCZxs,3818
56
55
  omdev/cexts/_distutils/compilers/unixccompiler.py,sha256=o1h8QuyupLntv4F21_XjzAZmCiwwxJuTmOirvBSL-Qw,15419
56
+ omdev/cli/__init__.py,sha256=V_l6VP1SZMlJbO-8CJwSuO9TThOy2S_oaPepNYgIrbE,37
57
+ omdev/cli/__main__.py,sha256=d23loR_cKfTYZwYiqpt_CmKI7dd5WcYFgIYzqMep75E,68
58
+ omdev/cli/main.py,sha256=gqlxJyHNLohLi7DP9sicdbpxigHM0gPx8FHkmP0Ci_4,1584
59
+ omdev/cli/types.py,sha256=rYM5jogfZqC3tpWLOHSDL6iaV3XWGWM1hJYd11I-ImA,107
57
60
  omdev/interp/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
58
- omdev/interp/__main__.py,sha256=gFhR9DikwDZk0LqgdR3qq_aXQHThUOPllDmHDOfnFAU,67
59
- omdev/interp/cli.py,sha256=8T3qLXTC2mni5FXDHkHN3mZG9_BnjkDMXYy6EYbAYR8,1679
61
+ omdev/interp/__main__.py,sha256=GMCqeGYltgt5dlJzHxY9gqisa8cRkrPfmZYuZnjg4WI,162
62
+ omdev/interp/cli.py,sha256=sh7PZQoLletUViw1Y9OXNr9ekyNZ6YyxYuOQ_n9hyqU,2072
60
63
  omdev/interp/inspect.py,sha256=SI4jQmWfXCnlceFTxlVRfTlEYYCjO_X12wuG5e74yto,2849
61
64
  omdev/interp/providers.py,sha256=PFEjozW0c33eqg8sno-GHMKbhVUzQF9jrAx-M0uQimk,1787
62
- omdev/interp/pyenv.py,sha256=s7nY2c6g3dOzvEefB_lgDjs6XSJ_u1ClCXQlWnCk6oM,12688
65
+ omdev/interp/pyenv.py,sha256=zPCkLlC0Qv6iywU-n847IJOA9iYyufbVYvsgQyzzIe0,13743
63
66
  omdev/interp/resolvers.py,sha256=tpzlmqGp1C4QKdA6TfcPmtmaygu7mb6WK2RPSbyNQ6s,3022
64
67
  omdev/interp/standalone.py,sha256=XcltiL7ypcfV89C82_3knQ3Kx7aW4wnnxf2056ZXC3A,7731
65
68
  omdev/interp/system.py,sha256=UFHfMR0CHCEnNx5fhrze8esAwigpRrJUA33ftq6nA0I,3514
66
69
  omdev/interp/types.py,sha256=2nM3MJaOU8O1XA8DrvwyOjBWSboBn16kgFIy5JVkDck,2440
70
+ omdev/manifests/__init__.py,sha256=P2B0dpT8D7l5lJwRGPA92IcQj6oeXfd90X5-q9BJrKg,51
71
+ omdev/manifests/build.py,sha256=m5PleX03pDxG4Pl2PtNKWsuZVxrNPBxPZ3Gkh6qlrEQ,9047
72
+ omdev/manifests/load.py,sha256=1QznPL4zNlu1eIFkoGrO78coIQCk9LlMC8FJ6PcvhNM,4373
73
+ omdev/manifests/types.py,sha256=Jv6PAdVLPb9Hh4y6vDhPlWuMNBBViin1bC_u83jfsH4,234
67
74
  omdev/mypy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
75
  omdev/mypy/debug.py,sha256=WcZw-3Z1njg_KFGqi3DB6RuqbBa3dLArJnjVCuY1Mn0,3003
69
76
  omdev/precheck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -71,36 +78,37 @@ omdev/precheck/__main__.py,sha256=wKF_2KP2Yn1hKDEOCGR_fm5zu9UHMWCZtuEmWjpprrU,72
71
78
  omdev/precheck/base.py,sha256=a_lGoFM-QhL8u8XDUYFhb-feEyfPbP4j8lcmNO51sHY,732
72
79
  omdev/precheck/git.py,sha256=APC5Ln7x0zDrQiGPRWPsBcVJK3vWhbU-brqR5M63JQA,849
73
80
  omdev/precheck/lite.py,sha256=MLeDZP2UexNZzYTcSx4-LrhA97kCKn8tXrGkhsJb6I0,3649
74
- omdev/precheck/precheck.py,sha256=LUqh501TpLgBL_ZBW-enEMqaYnWzPMViECpnHGKaCIc,2462
81
+ omdev/precheck/precheck.py,sha256=sZZBJgyHl6Yw1KrT7ZaZ-8F54LskxjXspHRjzPYPjIM,2572
75
82
  omdev/precheck/scripts.py,sha256=qq6MXkxgrYngPg5pWnXH4uRSuRkP3mFqbeml1UmvGBc,1265
76
83
  omdev/pyproject/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
77
- omdev/pyproject/__main__.py,sha256=gFhR9DikwDZk0LqgdR3qq_aXQHThUOPllDmHDOfnFAU,67
84
+ omdev/pyproject/__main__.py,sha256=gn3Rl1aYPYdiTtEqa9ifi0t-e4ZwPY0vhJ4UXvYdJDY,165
78
85
  omdev/pyproject/cexts.py,sha256=x13piOOnNrYbA17qZLDVuR0p1sqhgEwpk4FtImX-klM,4281
79
- omdev/pyproject/cli.py,sha256=gRUsTcVQDx9u6hZNOGAHG-4pccF6tS3I1fHBzgS1Tb0,10908
86
+ omdev/pyproject/cli.py,sha256=hE2bjfXmJy1xnadSyIcFjF3kYYTqNK4Y5dqTjnMtjVs,10909
80
87
  omdev/pyproject/configs.py,sha256=K9H5cGwVLgHi8wKwtYvlXHZ9ThtmnI4jo8JAb-t1-70,2859
81
- omdev/pyproject/pkg.py,sha256=GlZvDcLbo7HmiV2SgQnJdgAswr9IoJpy5gOeTRXG2RM,12576
82
- omdev/pyproject/reqs.py,sha256=coq21cdWQIPs06-iuRnwc6F2Sf-IxpqoT6DEMhol2kA,2298
88
+ omdev/pyproject/pkg.py,sha256=-8meXIJSVkXrDJDsqEcdJ05bssAnTlLp2Y7bElcxI-g,14753
89
+ omdev/pyproject/reqs.py,sha256=jgDH_nmOkcgxKshbeFt-byPAuGfwoxHuyzaolGu-lms,2299
83
90
  omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
84
91
  omdev/scripts/bumpversion.py,sha256=Kn7fo73Hs8uJh3Hi3EIyLOlzLPWAC6dwuD_lZ3cIzuY,1064
85
92
  omdev/scripts/execrss.py,sha256=HzDNmwXOO8fMwIRXw9q8CUnVfLFCQASyU2tfY_y2Vf8,324
86
- omdev/scripts/interp.py,sha256=f_BDB7gQTnGMQk-kzUHcBbtl1RGpFIqQskOCODHir50,69488
87
- omdev/scripts/pyproject.py,sha256=zL2MPdN1tyEBXzZc6rmB86cTdAZUCtmB9ICtaMGIxj4,153598
93
+ omdev/scripts/interp.py,sha256=nSXgULEj1gXCT0zM4cfgK0LV_CcazWSN6xH3pX9uYGY,70845
94
+ omdev/scripts/pyproject.py,sha256=h8qbqvHywoZtpcIcm549XiRoxMm9j8qrWOK8fUb-Djs,156976
88
95
  omdev/toml/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
89
96
  omdev/toml/parser.py,sha256=84bn09uhYHwQGyfww6Rw6y1RxPAE_HDltODOSakcqDM,29186
90
- omdev/toml/writer.py,sha256=dwz_Qw8z5Z_nmWpXqch63W6S_j6n256erb7AGFTVzB4,2872
97
+ omdev/toml/writer.py,sha256=lk3on3YXVbWuLJa-xsOzOhs1bBAT1vXqw4mBbluZl_w,3040
91
98
  omdev/tools/__init__.py,sha256=iVJAOQ0viGTQOm0DLX4uZLro-9jOioYJGLg9s0kDx1A,78
92
- omdev/tools/dockertools.py,sha256=0RoUThTqv4ySJZX0aufYeQWD2bp-BMplQ8Y4WvDpguA,5204
93
- omdev/tools/gittools.py,sha256=zPy2D5WDs-CbwT86_T_hbaq5yCuss5e-ouUccXC6xlg,578
99
+ omdev/tools/dockertools.py,sha256=x00GV8j1KReMXwxJ641GlcsVwHoWeuzdIKVBp36BqwU,5298
100
+ omdev/tools/gittools.py,sha256=s_-cxh-4Nv2a_bJtHZ6AiKF8kx2IjDrt_GOH8Wjz-3M,669
94
101
  omdev/tools/importscan.py,sha256=XRLiasVSaTIp-jnO0-Nfhi0t6gnv_hVy5j2nVfEvuMI,3831
95
102
  omdev/tools/importtrace.py,sha256=oDry9CwIv5h96wSaTVKJ0qQ5vMGxYE5oBtfF-GYNLJs,13430
96
- omdev/tools/piptools.py,sha256=P2Nq8OzRuLxay1uQgqaWf3Iz6PFVhFKmVaBwxNbbzwU,1274
103
+ omdev/tools/piptools.py,sha256=S0ea5HW2YRAwMS0MSq7Wvg8kdcVsQhCEsCmxs4vPWGs,1365
97
104
  omdev/tools/rst.py,sha256=6dWk8QZHoGiLSuBw3TKsXZjjFK6wWBEtPi9krdCLKKg,977
98
- omdev/tools/sqlrepl.py,sha256=v9uVQ4nvquSXcQVYIFq34ikumSILvKqzD6lUKLcncCE,5646
105
+ omdev/tools/sqlrepl.py,sha256=tmFZh80-xsGM62dyQ7_UGLebChrj7IHbIPYBWDJMgVk,5741
99
106
  omdev/versioning/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
100
107
  omdev/versioning/specifiers.py,sha256=6Odf9e6farwlPRsD_YqwTfYKG-BXn_dIcKtqfkhfodI,17432
101
108
  omdev/versioning/versions.py,sha256=ei2eopEsJq3zSMJmezK1nzZgikgCdxFtnF3f69nCRZQ,12246
102
- omdev-0.0.0.dev31.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
103
- omdev-0.0.0.dev31.dist-info/METADATA,sha256=PPt5cs_yozGg6dBtCj2mS1oviINmxzj1NVOmhIxa0Vg,1252
104
- omdev-0.0.0.dev31.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
105
- omdev-0.0.0.dev31.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
106
- omdev-0.0.0.dev31.dist-info/RECORD,,
109
+ omdev-0.0.0.dev33.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
110
+ omdev-0.0.0.dev33.dist-info/METADATA,sha256=AstTXi__Uh-euxlhHRQCTcQdsMrmqRQ1C9EPWgSQT6g,1252
111
+ omdev-0.0.0.dev33.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
112
+ omdev-0.0.0.dev33.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
113
+ omdev-0.0.0.dev33.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
114
+ omdev-0.0.0.dev33.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [omlish.manifests]
2
+ omdev = omdev