omdev 0.0.0.dev222__py3-none-any.whl → 0.0.0.dev224__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- omdev/ci/cache.py +148 -23
- omdev/ci/ci.py +50 -110
- omdev/ci/cli.py +24 -23
- omdev/ci/docker/__init__.py +0 -0
- omdev/ci/docker/buildcaching.py +69 -0
- omdev/ci/docker/cache.py +57 -0
- omdev/ci/docker/cacheserved.py +262 -0
- omdev/ci/{docker.py → docker/cmds.py} +1 -44
- omdev/ci/docker/dataserver.py +204 -0
- omdev/ci/docker/imagepulling.py +65 -0
- omdev/ci/docker/inject.py +37 -0
- omdev/ci/docker/packing.py +72 -0
- omdev/ci/docker/repositories.py +40 -0
- omdev/ci/docker/utils.py +48 -0
- omdev/ci/github/cache.py +35 -6
- omdev/ci/github/client.py +9 -2
- omdev/ci/github/inject.py +30 -0
- omdev/ci/inject.py +61 -0
- omdev/ci/utils.py +0 -49
- omdev/dataserver/__init__.py +1 -0
- omdev/dataserver/handlers.py +198 -0
- omdev/dataserver/http.py +69 -0
- omdev/dataserver/routes.py +49 -0
- omdev/dataserver/server.py +90 -0
- omdev/dataserver/targets.py +121 -0
- omdev/oci/building.py +107 -9
- omdev/oci/compression.py +8 -0
- omdev/oci/data.py +43 -0
- omdev/oci/datarefs.py +90 -50
- omdev/oci/dataserver.py +64 -0
- omdev/oci/loading.py +20 -0
- omdev/oci/media.py +20 -0
- omdev/oci/pack/__init__.py +0 -0
- omdev/oci/pack/packing.py +185 -0
- omdev/oci/pack/repositories.py +162 -0
- omdev/oci/pack/unpacking.py +204 -0
- omdev/oci/repositories.py +84 -2
- omdev/oci/tars.py +144 -0
- omdev/pyproject/resources/python.sh +1 -1
- omdev/scripts/ci.py +2137 -512
- omdev/scripts/interp.py +119 -22
- omdev/scripts/pyproject.py +141 -28
- {omdev-0.0.0.dev222.dist-info → omdev-0.0.0.dev224.dist-info}/METADATA +2 -2
- {omdev-0.0.0.dev222.dist-info → omdev-0.0.0.dev224.dist-info}/RECORD +48 -23
- {omdev-0.0.0.dev222.dist-info → omdev-0.0.0.dev224.dist-info}/LICENSE +0 -0
- {omdev-0.0.0.dev222.dist-info → omdev-0.0.0.dev224.dist-info}/WHEEL +0 -0
- {omdev-0.0.0.dev222.dist-info → omdev-0.0.0.dev224.dist-info}/entry_points.txt +0 -0
- {omdev-0.0.0.dev222.dist-info → omdev-0.0.0.dev224.dist-info}/top_level.txt +0 -0
omdev/scripts/interp.py
CHANGED
@@ -3848,7 +3848,70 @@ class BaseSubprocesses(abc.ABC): # noqa
|
|
3848
3848
|
##
|
3849
3849
|
|
3850
3850
|
|
3851
|
+
@dc.dataclass(frozen=True)
|
3852
|
+
class SubprocessRun:
|
3853
|
+
cmd: ta.Sequence[str]
|
3854
|
+
input: ta.Any = None
|
3855
|
+
timeout: ta.Optional[float] = None
|
3856
|
+
check: bool = False
|
3857
|
+
capture_output: ta.Optional[bool] = None
|
3858
|
+
kwargs: ta.Optional[ta.Mapping[str, ta.Any]] = None
|
3859
|
+
|
3860
|
+
@classmethod
|
3861
|
+
def of(
|
3862
|
+
cls,
|
3863
|
+
*cmd: str,
|
3864
|
+
input: ta.Any = None, # noqa
|
3865
|
+
timeout: ta.Optional[float] = None,
|
3866
|
+
check: bool = False,
|
3867
|
+
capture_output: ta.Optional[bool] = None,
|
3868
|
+
**kwargs: ta.Any,
|
3869
|
+
) -> 'SubprocessRun':
|
3870
|
+
return cls(
|
3871
|
+
cmd=cmd,
|
3872
|
+
input=input,
|
3873
|
+
timeout=timeout,
|
3874
|
+
check=check,
|
3875
|
+
capture_output=capture_output,
|
3876
|
+
kwargs=kwargs,
|
3877
|
+
)
|
3878
|
+
|
3879
|
+
|
3880
|
+
@dc.dataclass(frozen=True)
|
3881
|
+
class SubprocessRunOutput(ta.Generic[T]):
|
3882
|
+
proc: T
|
3883
|
+
|
3884
|
+
returncode: int # noqa
|
3885
|
+
|
3886
|
+
stdout: ta.Optional[bytes] = None
|
3887
|
+
stderr: ta.Optional[bytes] = None
|
3888
|
+
|
3889
|
+
|
3851
3890
|
class AbstractSubprocesses(BaseSubprocesses, abc.ABC):
|
3891
|
+
@abc.abstractmethod
|
3892
|
+
def run_(self, run: SubprocessRun) -> SubprocessRunOutput:
|
3893
|
+
raise NotImplementedError
|
3894
|
+
|
3895
|
+
def run(
|
3896
|
+
self,
|
3897
|
+
*cmd: str,
|
3898
|
+
input: ta.Any = None, # noqa
|
3899
|
+
timeout: ta.Optional[float] = None,
|
3900
|
+
check: bool = False,
|
3901
|
+
capture_output: ta.Optional[bool] = None,
|
3902
|
+
**kwargs: ta.Any,
|
3903
|
+
) -> SubprocessRunOutput:
|
3904
|
+
return self.run_(SubprocessRun(
|
3905
|
+
cmd=cmd,
|
3906
|
+
input=input,
|
3907
|
+
timeout=timeout,
|
3908
|
+
check=check,
|
3909
|
+
capture_output=capture_output,
|
3910
|
+
kwargs=kwargs,
|
3911
|
+
))
|
3912
|
+
|
3913
|
+
#
|
3914
|
+
|
3852
3915
|
@abc.abstractmethod
|
3853
3916
|
def check_call(
|
3854
3917
|
self,
|
@@ -3912,6 +3975,25 @@ class AbstractSubprocesses(BaseSubprocesses, abc.ABC):
|
|
3912
3975
|
|
3913
3976
|
|
3914
3977
|
class Subprocesses(AbstractSubprocesses):
|
3978
|
+
def run_(self, run: SubprocessRun) -> SubprocessRunOutput[subprocess.CompletedProcess]:
|
3979
|
+
proc = subprocess.run(
|
3980
|
+
run.cmd,
|
3981
|
+
input=run.input,
|
3982
|
+
timeout=run.timeout,
|
3983
|
+
check=run.check,
|
3984
|
+
capture_output=run.capture_output or False,
|
3985
|
+
**(run.kwargs or {}),
|
3986
|
+
)
|
3987
|
+
|
3988
|
+
return SubprocessRunOutput(
|
3989
|
+
proc=proc,
|
3990
|
+
|
3991
|
+
returncode=proc.returncode,
|
3992
|
+
|
3993
|
+
stdout=proc.stdout, # noqa
|
3994
|
+
stderr=proc.stderr, # noqa
|
3995
|
+
)
|
3996
|
+
|
3915
3997
|
def check_call(
|
3916
3998
|
self,
|
3917
3999
|
*cmd: str,
|
@@ -3937,6 +4019,30 @@ subprocesses = Subprocesses()
|
|
3937
4019
|
|
3938
4020
|
|
3939
4021
|
class AbstractAsyncSubprocesses(BaseSubprocesses):
|
4022
|
+
@abc.abstractmethod
|
4023
|
+
async def run_(self, run: SubprocessRun) -> SubprocessRunOutput:
|
4024
|
+
raise NotImplementedError
|
4025
|
+
|
4026
|
+
def run(
|
4027
|
+
self,
|
4028
|
+
*cmd: str,
|
4029
|
+
input: ta.Any = None, # noqa
|
4030
|
+
timeout: ta.Optional[float] = None,
|
4031
|
+
check: bool = False,
|
4032
|
+
capture_output: ta.Optional[bool] = None,
|
4033
|
+
**kwargs: ta.Any,
|
4034
|
+
) -> ta.Awaitable[SubprocessRunOutput]:
|
4035
|
+
return self.run_(SubprocessRun(
|
4036
|
+
cmd=cmd,
|
4037
|
+
input=input,
|
4038
|
+
timeout=timeout,
|
4039
|
+
check=check,
|
4040
|
+
capture_output=capture_output,
|
4041
|
+
kwargs=kwargs,
|
4042
|
+
))
|
4043
|
+
|
4044
|
+
#
|
4045
|
+
|
3940
4046
|
@abc.abstractmethod
|
3941
4047
|
async def check_call(
|
3942
4048
|
self,
|
@@ -4204,41 +4310,32 @@ class AsyncioSubprocesses(AbstractAsyncSubprocesses):
|
|
4204
4310
|
|
4205
4311
|
#
|
4206
4312
|
|
4207
|
-
|
4208
|
-
|
4209
|
-
proc: asyncio.subprocess.Process
|
4210
|
-
stdout: ta.Optional[bytes]
|
4211
|
-
stderr: ta.Optional[bytes]
|
4313
|
+
async def run_(self, run: SubprocessRun) -> SubprocessRunOutput[asyncio.subprocess.Process]:
|
4314
|
+
kwargs = dict(run.kwargs or {})
|
4212
4315
|
|
4213
|
-
|
4214
|
-
self,
|
4215
|
-
*cmd: str,
|
4216
|
-
input: ta.Any = None, # noqa
|
4217
|
-
timeout: ta.Optional[float] = None,
|
4218
|
-
check: bool = False, # noqa
|
4219
|
-
capture_output: ta.Optional[bool] = None,
|
4220
|
-
**kwargs: ta.Any,
|
4221
|
-
) -> RunOutput:
|
4222
|
-
if capture_output:
|
4316
|
+
if run.capture_output:
|
4223
4317
|
kwargs.setdefault('stdout', subprocess.PIPE)
|
4224
4318
|
kwargs.setdefault('stderr', subprocess.PIPE)
|
4225
4319
|
|
4226
4320
|
proc: asyncio.subprocess.Process
|
4227
|
-
async with self.popen(*cmd, **kwargs) as proc:
|
4228
|
-
stdout, stderr = await self.communicate(proc, input, timeout)
|
4321
|
+
async with self.popen(*run.cmd, **kwargs) as proc:
|
4322
|
+
stdout, stderr = await self.communicate(proc, run.input, run.timeout)
|
4229
4323
|
|
4230
4324
|
if check and proc.returncode:
|
4231
4325
|
raise subprocess.CalledProcessError(
|
4232
4326
|
proc.returncode,
|
4233
|
-
cmd,
|
4327
|
+
run.cmd,
|
4234
4328
|
output=stdout,
|
4235
4329
|
stderr=stderr,
|
4236
4330
|
)
|
4237
4331
|
|
4238
|
-
return
|
4239
|
-
proc,
|
4240
|
-
|
4241
|
-
|
4332
|
+
return SubprocessRunOutput(
|
4333
|
+
proc=proc,
|
4334
|
+
|
4335
|
+
returncode=check.isinstance(proc.returncode, int),
|
4336
|
+
|
4337
|
+
stdout=stdout,
|
4338
|
+
stderr=stderr,
|
4242
4339
|
)
|
4243
4340
|
|
4244
4341
|
#
|
omdev/scripts/pyproject.py
CHANGED
@@ -5353,18 +5353,34 @@ class ObjMarshalerManager:
|
|
5353
5353
|
return reg
|
5354
5354
|
|
5355
5355
|
if abc.ABC in ty.__bases__:
|
5356
|
-
|
5357
|
-
|
5358
|
-
|
5359
|
-
|
5360
|
-
|
5356
|
+
tn = ty.__name__
|
5357
|
+
impls: ta.List[ta.Tuple[type, str]] = [ # type: ignore[var-annotated]
|
5358
|
+
(ity, ity.__name__)
|
5359
|
+
for ity in deep_subclasses(ty)
|
5360
|
+
if abc.ABC not in ity.__bases__
|
5361
|
+
]
|
5362
|
+
|
5363
|
+
if all(itn.endswith(tn) for _, itn in impls):
|
5364
|
+
impls = [
|
5365
|
+
(ity, snake_case(itn[:-len(tn)]))
|
5366
|
+
for ity, itn in impls
|
5367
|
+
]
|
5368
|
+
|
5369
|
+
dupe_tns = sorted(
|
5370
|
+
dn
|
5371
|
+
for dn, dc in collections.Counter(itn for _, itn in impls).items()
|
5372
|
+
if dc > 1
|
5373
|
+
)
|
5374
|
+
if dupe_tns:
|
5375
|
+
raise KeyError(f'Duplicate impl names for {ty}: {dupe_tns}')
|
5376
|
+
|
5361
5377
|
return PolymorphicObjMarshaler.of([
|
5362
5378
|
PolymorphicObjMarshaler.Impl(
|
5363
5379
|
ity,
|
5364
5380
|
itn,
|
5365
5381
|
rec(ity),
|
5366
5382
|
)
|
5367
|
-
for ity, itn in
|
5383
|
+
for ity, itn in impls
|
5368
5384
|
])
|
5369
5385
|
|
5370
5386
|
if issubclass(ty, enum.Enum):
|
@@ -6088,7 +6104,70 @@ class BaseSubprocesses(abc.ABC): # noqa
|
|
6088
6104
|
##
|
6089
6105
|
|
6090
6106
|
|
6107
|
+
@dc.dataclass(frozen=True)
|
6108
|
+
class SubprocessRun:
|
6109
|
+
cmd: ta.Sequence[str]
|
6110
|
+
input: ta.Any = None
|
6111
|
+
timeout: ta.Optional[float] = None
|
6112
|
+
check: bool = False
|
6113
|
+
capture_output: ta.Optional[bool] = None
|
6114
|
+
kwargs: ta.Optional[ta.Mapping[str, ta.Any]] = None
|
6115
|
+
|
6116
|
+
@classmethod
|
6117
|
+
def of(
|
6118
|
+
cls,
|
6119
|
+
*cmd: str,
|
6120
|
+
input: ta.Any = None, # noqa
|
6121
|
+
timeout: ta.Optional[float] = None,
|
6122
|
+
check: bool = False,
|
6123
|
+
capture_output: ta.Optional[bool] = None,
|
6124
|
+
**kwargs: ta.Any,
|
6125
|
+
) -> 'SubprocessRun':
|
6126
|
+
return cls(
|
6127
|
+
cmd=cmd,
|
6128
|
+
input=input,
|
6129
|
+
timeout=timeout,
|
6130
|
+
check=check,
|
6131
|
+
capture_output=capture_output,
|
6132
|
+
kwargs=kwargs,
|
6133
|
+
)
|
6134
|
+
|
6135
|
+
|
6136
|
+
@dc.dataclass(frozen=True)
|
6137
|
+
class SubprocessRunOutput(ta.Generic[T]):
|
6138
|
+
proc: T
|
6139
|
+
|
6140
|
+
returncode: int # noqa
|
6141
|
+
|
6142
|
+
stdout: ta.Optional[bytes] = None
|
6143
|
+
stderr: ta.Optional[bytes] = None
|
6144
|
+
|
6145
|
+
|
6091
6146
|
class AbstractSubprocesses(BaseSubprocesses, abc.ABC):
|
6147
|
+
@abc.abstractmethod
|
6148
|
+
def run_(self, run: SubprocessRun) -> SubprocessRunOutput:
|
6149
|
+
raise NotImplementedError
|
6150
|
+
|
6151
|
+
def run(
|
6152
|
+
self,
|
6153
|
+
*cmd: str,
|
6154
|
+
input: ta.Any = None, # noqa
|
6155
|
+
timeout: ta.Optional[float] = None,
|
6156
|
+
check: bool = False,
|
6157
|
+
capture_output: ta.Optional[bool] = None,
|
6158
|
+
**kwargs: ta.Any,
|
6159
|
+
) -> SubprocessRunOutput:
|
6160
|
+
return self.run_(SubprocessRun(
|
6161
|
+
cmd=cmd,
|
6162
|
+
input=input,
|
6163
|
+
timeout=timeout,
|
6164
|
+
check=check,
|
6165
|
+
capture_output=capture_output,
|
6166
|
+
kwargs=kwargs,
|
6167
|
+
))
|
6168
|
+
|
6169
|
+
#
|
6170
|
+
|
6092
6171
|
@abc.abstractmethod
|
6093
6172
|
def check_call(
|
6094
6173
|
self,
|
@@ -6152,6 +6231,25 @@ class AbstractSubprocesses(BaseSubprocesses, abc.ABC):
|
|
6152
6231
|
|
6153
6232
|
|
6154
6233
|
class Subprocesses(AbstractSubprocesses):
|
6234
|
+
def run_(self, run: SubprocessRun) -> SubprocessRunOutput[subprocess.CompletedProcess]:
|
6235
|
+
proc = subprocess.run(
|
6236
|
+
run.cmd,
|
6237
|
+
input=run.input,
|
6238
|
+
timeout=run.timeout,
|
6239
|
+
check=run.check,
|
6240
|
+
capture_output=run.capture_output or False,
|
6241
|
+
**(run.kwargs or {}),
|
6242
|
+
)
|
6243
|
+
|
6244
|
+
return SubprocessRunOutput(
|
6245
|
+
proc=proc,
|
6246
|
+
|
6247
|
+
returncode=proc.returncode,
|
6248
|
+
|
6249
|
+
stdout=proc.stdout, # noqa
|
6250
|
+
stderr=proc.stderr, # noqa
|
6251
|
+
)
|
6252
|
+
|
6155
6253
|
def check_call(
|
6156
6254
|
self,
|
6157
6255
|
*cmd: str,
|
@@ -6177,6 +6275,30 @@ subprocesses = Subprocesses()
|
|
6177
6275
|
|
6178
6276
|
|
6179
6277
|
class AbstractAsyncSubprocesses(BaseSubprocesses):
|
6278
|
+
@abc.abstractmethod
|
6279
|
+
async def run_(self, run: SubprocessRun) -> SubprocessRunOutput:
|
6280
|
+
raise NotImplementedError
|
6281
|
+
|
6282
|
+
def run(
|
6283
|
+
self,
|
6284
|
+
*cmd: str,
|
6285
|
+
input: ta.Any = None, # noqa
|
6286
|
+
timeout: ta.Optional[float] = None,
|
6287
|
+
check: bool = False,
|
6288
|
+
capture_output: ta.Optional[bool] = None,
|
6289
|
+
**kwargs: ta.Any,
|
6290
|
+
) -> ta.Awaitable[SubprocessRunOutput]:
|
6291
|
+
return self.run_(SubprocessRun(
|
6292
|
+
cmd=cmd,
|
6293
|
+
input=input,
|
6294
|
+
timeout=timeout,
|
6295
|
+
check=check,
|
6296
|
+
capture_output=capture_output,
|
6297
|
+
kwargs=kwargs,
|
6298
|
+
))
|
6299
|
+
|
6300
|
+
#
|
6301
|
+
|
6180
6302
|
@abc.abstractmethod
|
6181
6303
|
async def check_call(
|
6182
6304
|
self,
|
@@ -6490,41 +6612,32 @@ class AsyncioSubprocesses(AbstractAsyncSubprocesses):
|
|
6490
6612
|
|
6491
6613
|
#
|
6492
6614
|
|
6493
|
-
|
6494
|
-
|
6495
|
-
proc: asyncio.subprocess.Process
|
6496
|
-
stdout: ta.Optional[bytes]
|
6497
|
-
stderr: ta.Optional[bytes]
|
6615
|
+
async def run_(self, run: SubprocessRun) -> SubprocessRunOutput[asyncio.subprocess.Process]:
|
6616
|
+
kwargs = dict(run.kwargs or {})
|
6498
6617
|
|
6499
|
-
|
6500
|
-
self,
|
6501
|
-
*cmd: str,
|
6502
|
-
input: ta.Any = None, # noqa
|
6503
|
-
timeout: ta.Optional[float] = None,
|
6504
|
-
check: bool = False, # noqa
|
6505
|
-
capture_output: ta.Optional[bool] = None,
|
6506
|
-
**kwargs: ta.Any,
|
6507
|
-
) -> RunOutput:
|
6508
|
-
if capture_output:
|
6618
|
+
if run.capture_output:
|
6509
6619
|
kwargs.setdefault('stdout', subprocess.PIPE)
|
6510
6620
|
kwargs.setdefault('stderr', subprocess.PIPE)
|
6511
6621
|
|
6512
6622
|
proc: asyncio.subprocess.Process
|
6513
|
-
async with self.popen(*cmd, **kwargs) as proc:
|
6514
|
-
stdout, stderr = await self.communicate(proc, input, timeout)
|
6623
|
+
async with self.popen(*run.cmd, **kwargs) as proc:
|
6624
|
+
stdout, stderr = await self.communicate(proc, run.input, run.timeout)
|
6515
6625
|
|
6516
6626
|
if check and proc.returncode:
|
6517
6627
|
raise subprocess.CalledProcessError(
|
6518
6628
|
proc.returncode,
|
6519
|
-
cmd,
|
6629
|
+
run.cmd,
|
6520
6630
|
output=stdout,
|
6521
6631
|
stderr=stderr,
|
6522
6632
|
)
|
6523
6633
|
|
6524
|
-
return
|
6525
|
-
proc,
|
6526
|
-
|
6527
|
-
|
6634
|
+
return SubprocessRunOutput(
|
6635
|
+
proc=proc,
|
6636
|
+
|
6637
|
+
returncode=check.isinstance(proc.returncode, int),
|
6638
|
+
|
6639
|
+
stdout=stdout,
|
6640
|
+
stderr=stderr,
|
6528
6641
|
)
|
6529
6642
|
|
6530
6643
|
#
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: omdev
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev224
|
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.
|
15
|
+
Requires-Dist: omlish==0.0.0.dev224
|
16
16
|
Provides-Extra: all
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
@@ -71,22 +71,34 @@ omdev/cexts/_distutils/compilers/options.py,sha256=H7r5IcLvga5Fs3jjXWIT-6ap3JBdu
|
|
71
71
|
omdev/cexts/_distutils/compilers/unixccompiler.py,sha256=o1h8QuyupLntv4F21_XjzAZmCiwwxJuTmOirvBSL-Qw,15419
|
72
72
|
omdev/ci/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
73
73
|
omdev/ci/__main__.py,sha256=Jsrv3P7LX2Cg08W7ByZfZ1JQT4lgLDPW1qNAmShFuMk,75
|
74
|
-
omdev/ci/cache.py,sha256=
|
75
|
-
omdev/ci/ci.py,sha256=
|
76
|
-
omdev/ci/cli.py,sha256=
|
74
|
+
omdev/ci/cache.py,sha256=ohgWIbefNNbqwFLzpdDzqWabogwXZugfJ2AL64U3xsw,6578
|
75
|
+
omdev/ci/ci.py,sha256=JNFDs3sYCs93NOrnQxKiZNVnOotOwOL1CIEB4TL--Fg,6342
|
76
|
+
omdev/ci/cli.py,sha256=URmYwsvNSb4w_kwluLB4Em4ooTpiLG4Bh8Anjx0IVIE,6013
|
77
77
|
omdev/ci/compose.py,sha256=vHLuXO5e2paafBC0Kf-OUGoamtIJmQ19r2U3_oikk_g,4541
|
78
78
|
omdev/ci/consts.py,sha256=1puYfksvGOaVWEnbARM_sdMqs8oTn_VvsevsOtLsFno,21
|
79
|
-
omdev/ci/
|
79
|
+
omdev/ci/inject.py,sha256=ZZWaT_GT4SE_lO8st2Y2IjKmeAtL3LD7KjEVr-E6Zzo,1514
|
80
80
|
omdev/ci/requirements.py,sha256=iKAINTDyVQaqESGlfE9OXkKiW_CZ9kP70PEc121Ix-Q,2100
|
81
81
|
omdev/ci/shell.py,sha256=cBPLMKiAJuNpPGj3ou6hpl88Xw7r99xpL91KJBQ0rqw,835
|
82
|
-
omdev/ci/utils.py,sha256=
|
82
|
+
omdev/ci/utils.py,sha256=YxOT4S-YLDOAv27K0Q0SKzxncZrWFA_wNXlFOaJmQuI,304
|
83
|
+
omdev/ci/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
84
|
+
omdev/ci/docker/buildcaching.py,sha256=h22WabBqTojCyvPMmHlCrquDss9K3gTR8pGj7_8Wxpc,1775
|
85
|
+
omdev/ci/docker/cache.py,sha256=ku9S3UWsfbJ582GXsRYRYfWUPAB3Tp6Q3ZVUzHQcvlM,1534
|
86
|
+
omdev/ci/docker/cacheserved.py,sha256=4Sqq5vMMp6IIi2deHE5uMGb_oLuk0A8HVcoDNcL97lY,8382
|
87
|
+
omdev/ci/docker/cmds.py,sha256=ZRRfQS9FcsDM2CWtNH9WpcpjS1IMGdR2Yg-zSYx8vps,2719
|
88
|
+
omdev/ci/docker/dataserver.py,sha256=CiS2l0Ze9rOCKXc0qgdmHH0FRZJqunJbTxowVSqxtJw,5525
|
89
|
+
omdev/ci/docker/imagepulling.py,sha256=fePZOkEKsAoOU7AlHKKK8fhMVhtYhczIFC9QDFjWwmc,1769
|
90
|
+
omdev/ci/docker/inject.py,sha256=LzzmbOidzVHoZbFUGZep1udElkmgHm0AU0LdmPFUK5M,1174
|
91
|
+
omdev/ci/docker/packing.py,sha256=Bl0aBkkdwES5ePGE3nmyg1CAQzmMDCVP2KTdZUITpQE,2016
|
92
|
+
omdev/ci/docker/repositories.py,sha256=ZWfObYdZXPn4BBeg8TsYeNVmH1EVEBadfRuxehAhxMM,1223
|
93
|
+
omdev/ci/docker/utils.py,sha256=URioGRzqyqdJBZyOfzsrUwv5hSJ3WM23_sLHES9vamc,1129
|
83
94
|
omdev/ci/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
84
95
|
omdev/ci/github/api.py,sha256=Vqza7Hm1OCSfZYgdXF4exkjneqNjFcdO1pl8qmODskU,5198
|
85
96
|
omdev/ci/github/bootstrap.py,sha256=9OuftAz7CUd7uf2Or3sJFVozQQiwu0RGAlTOQNpLQIY,430
|
86
|
-
omdev/ci/github/cache.py,sha256=
|
97
|
+
omdev/ci/github/cache.py,sha256=39n0H4KpRCryQeIGVJqL6coyg7q4IFpFZZyBkbOo6PM,2672
|
87
98
|
omdev/ci/github/cli.py,sha256=6mG0CllwrOoC7MDzKfKDqBHAjfF0gEI6aT5UAGMmuss,1114
|
88
|
-
omdev/ci/github/client.py,sha256=
|
99
|
+
omdev/ci/github/client.py,sha256=fT8rQ5RO5MXyjpIt6UEFR7escofkBau73m8KYMzcZFo,14614
|
89
100
|
omdev/ci/github/env.py,sha256=FQFjP_m7JWM7es9I51U-6UgJTwAt_UCVHFIYKTd9NKM,394
|
101
|
+
omdev/ci/github/inject.py,sha256=FnmAL9vcZSYKvbuNjYDYlrc-XiFPayR806pYUd4Dyao,689
|
90
102
|
omdev/cli/__init__.py,sha256=V_l6VP1SZMlJbO-8CJwSuO9TThOy2S_oaPepNYgIrbE,37
|
91
103
|
omdev/cli/__main__.py,sha256=mOJpgc07o0r5luQ1DlX4tk2PqZkgmbwPbdzJ3KmtjgQ,138
|
92
104
|
omdev/cli/_pathhack.py,sha256=kxqb2kHap68Lkh8b211rDbcgj06hidBiAKA3f9posyc,2119
|
@@ -99,6 +111,12 @@ omdev/clipboard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
111
|
omdev/clipboard/clipboard.py,sha256=9HFpcijpn0XDTI89ZRm2WA1G7O4HsTdVXZHqMULu3N0,1630
|
100
112
|
omdev/clipboard/darwin_cf.py,sha256=SDUMfQtT_IJeDEwmsnxe6YyrZS5tPh_7ujkk1dg65Hg,7688
|
101
113
|
omdev/clipboard/linux_x11.py,sha256=oa-mxMRNaZJOdBAZ8Nki-CAGIb63X8OFUTXKjmiwfSo,6718
|
114
|
+
omdev/dataserver/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
115
|
+
omdev/dataserver/handlers.py,sha256=rCptrmV2RnutmGE5MAgjLDYW1QncqsSHhyRBL4H5bsg,5440
|
116
|
+
omdev/dataserver/http.py,sha256=Vfdiri-AX7wNV1ASabU_JNmcKRpwLprWc9FyMUw4FDI,1707
|
117
|
+
omdev/dataserver/routes.py,sha256=7Jai21x5z1t1zbS4mC-Sv2g0uogMJnCAX47WR81QVfI,996
|
118
|
+
omdev/dataserver/server.py,sha256=ySEITCOxOmCXutsfYaFP46gENsg5w9jMeCySUSNUKmE,2333
|
119
|
+
omdev/dataserver/targets.py,sha256=oKINlau7-Dk0XFP81ujU43YxvM_VTT5OnEZYIhHv4Os,3299
|
102
120
|
omdev/git/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
103
121
|
omdev/git/revisions.py,sha256=1YY3Kf2WSalNVE2TgLXmOETct8HfiVEOqfV-qcvMVr4,1161
|
104
122
|
omdev/git/shallow.py,sha256=WwCujIfEzaUpCRjVEVgkjvV3gLF-O1AuQoXLtm00yU4,2525
|
@@ -141,12 +159,19 @@ omdev/manifests/main.py,sha256=7zRlyE0BDPqITEbChlTBRGulAvG1nUZPHXrerNExriE,2126
|
|
141
159
|
omdev/mypy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
142
160
|
omdev/mypy/debug.py,sha256=WcZw-3Z1njg_KFGqi3DB6RuqbBa3dLArJnjVCuY1Mn0,3003
|
143
161
|
omdev/oci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
144
|
-
omdev/oci/building.py,sha256=
|
145
|
-
omdev/oci/
|
146
|
-
omdev/oci/
|
147
|
-
omdev/oci/
|
148
|
-
omdev/oci/
|
149
|
-
omdev/oci/
|
162
|
+
omdev/oci/building.py,sha256=g1TY-a2eHgEamYv0mt1L6rOevwOgdp_cW1xdVdjDzTw,5695
|
163
|
+
omdev/oci/compression.py,sha256=5hs7u0hImsm22GcQBHGYnP6g9dr-lBZ3E_PzdNVD4WY,134
|
164
|
+
omdev/oci/data.py,sha256=raIJehDpDR2W55D_pnYH-NqEf439EcwaaLgfhqvL2yM,4908
|
165
|
+
omdev/oci/datarefs.py,sha256=3o1yNqw2z8_-rsk7-w1c3Xz8d23zVYhEcfMivs1bmXo,2762
|
166
|
+
omdev/oci/dataserver.py,sha256=QIiJUZQPxL_yDomBuy9UdH3nL1OE2BkP7JxNz4Q3BxE,1863
|
167
|
+
omdev/oci/loading.py,sha256=iDMr7JGYRS6CeVrc-LUVjvUA4a49tpgwpJ3y0IImW54,3855
|
168
|
+
omdev/oci/media.py,sha256=PM2w1P3YxyvpfaHEDMD8iyBNJa18oVMOLF7KNb2R-DQ,5351
|
169
|
+
omdev/oci/repositories.py,sha256=APNQoJxPlN6vaOmQg-MS6cHwGlpTCoVyG8WBjCIaEak,4513
|
170
|
+
omdev/oci/tars.py,sha256=ijy27sJ0r3TtQGvEIk5ol4-kuHDktVQ88-75pvjSnds,3434
|
171
|
+
omdev/oci/pack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
|
+
omdev/oci/pack/packing.py,sha256=K00GKBPGYYzFEK0CuQvoI7XRLULNld7_i7XcKdQ35zk,5413
|
173
|
+
omdev/oci/pack/repositories.py,sha256=EwCJlngKjqpNgcEeszOOnj3WxlQTgLOKo_rwe2PW8JM,4948
|
174
|
+
omdev/oci/pack/unpacking.py,sha256=gRwdhYNpLc2QHq2JndRx5unrSCtcaYUUZZyCTCsDIHo,5997
|
150
175
|
omdev/packaging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
151
176
|
omdev/packaging/marshal.py,sha256=c4Mdy5-s4O51eEKMWWBwkhTGQ1FoxVI2lD6CxI_cF3k,2379
|
152
177
|
omdev/packaging/names.py,sha256=-a7AykFPVR1i6EYJepbe3ABRrZQ_tPPmK5olzbn9HLI,2528
|
@@ -178,15 +203,15 @@ omdev/pyproject/reqs.py,sha256=8feZ71YnGzwKbLK4zO28CDQeNcZIIuq6cnkBhs6M-7E,2406
|
|
178
203
|
omdev/pyproject/venvs.py,sha256=GUurjC7qzGlFL-su4C0YPO_pxbwDAyl1CqyLOB3WLCA,1911
|
179
204
|
omdev/pyproject/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
180
205
|
omdev/pyproject/resources/docker-dev.sh,sha256=DHkz5D18jok_oDolfg2mqrvGRWFoCe9GQo04dR1czcc,838
|
181
|
-
omdev/pyproject/resources/python.sh,sha256=
|
206
|
+
omdev/pyproject/resources/python.sh,sha256=rFaN4SiJ9hdLDXXsDTwugI6zsw6EPkgYMmtacZeTbvw,749
|
182
207
|
omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
|
183
208
|
omdev/scripts/bumpversion.py,sha256=Kn7fo73Hs8uJh3Hi3EIyLOlzLPWAC6dwuD_lZ3cIzuY,1064
|
184
|
-
omdev/scripts/ci.py,sha256=
|
209
|
+
omdev/scripts/ci.py,sha256=1E2mI61uHKyQUmZdyq3GEL0yHDoSC2sxbPYAhnjW71w,151975
|
185
210
|
omdev/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
|
186
211
|
omdev/scripts/exectime.py,sha256=S2O4MgtzTsFOY2IUJxsrnOIame9tEFc6aOlKP-F1JSg,1541
|
187
212
|
omdev/scripts/importtrace.py,sha256=oa7CtcWJVMNDbyIEiRHej6ICfABfErMeo4_haIqe18Q,14041
|
188
|
-
omdev/scripts/interp.py,sha256=
|
189
|
-
omdev/scripts/pyproject.py,sha256=
|
213
|
+
omdev/scripts/interp.py,sha256=VBD2A-PVi1Y_kkwSR6V73JJBW_aQ4d1cJwp2ce-rN0w,145939
|
214
|
+
omdev/scripts/pyproject.py,sha256=9jRTjJlrxUIasRhZxcZ8w8KIe9wlKQwzjqGMa1kjl-0,250104
|
190
215
|
omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
|
191
216
|
omdev/scripts/tmpexec.py,sha256=WTYcf56Tj2qjYV14AWmV8SfT0u6Y8eIU6cKgQRvEK3c,1442
|
192
217
|
omdev/tokens/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -218,9 +243,9 @@ omdev/tools/json/rendering.py,sha256=tMcjOW5edfozcMSTxxvF7WVTsbYLoe9bCKFh50qyaGw
|
|
218
243
|
omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
219
244
|
omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
|
220
245
|
omdev/tools/pawk/pawk.py,sha256=zsEkfQX0jF5bn712uqPAyBSdJt2dno1LH2oeSMNfXQI,11424
|
221
|
-
omdev-0.0.0.
|
222
|
-
omdev-0.0.0.
|
223
|
-
omdev-0.0.0.
|
224
|
-
omdev-0.0.0.
|
225
|
-
omdev-0.0.0.
|
226
|
-
omdev-0.0.0.
|
246
|
+
omdev-0.0.0.dev224.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
247
|
+
omdev-0.0.0.dev224.dist-info/METADATA,sha256=bl3bBQIZTIIVMO-_DkgRiVudo5lGHmhqIi9kLHu0A1k,1638
|
248
|
+
omdev-0.0.0.dev224.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
249
|
+
omdev-0.0.0.dev224.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
|
250
|
+
omdev-0.0.0.dev224.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
|
251
|
+
omdev-0.0.0.dev224.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|