ominfra 0.0.0.dev161__py3-none-any.whl → 0.0.0.dev163__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- ominfra/manage/deploy/apps.py +3 -2
- ominfra/manage/deploy/specs.py +18 -0
- ominfra/manage/deploy/venvs.py +9 -4
- ominfra/scripts/manage.py +45 -35
- ominfra/scripts/supervisor.py +16 -29
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/METADATA +3 -3
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/RECORD +11 -11
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/LICENSE +0 -0
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/top_level.txt +0 -0
ominfra/manage/deploy/apps.py
CHANGED
@@ -51,7 +51,7 @@ class DeployAppManager(DeployPathOwner):
|
|
51
51
|
|
52
52
|
def get_owned_deploy_paths(self) -> ta.AbstractSet[DeployPath]:
|
53
53
|
return {
|
54
|
-
DeployPath.parse('apps/@app/@tag'),
|
54
|
+
DeployPath.parse('apps/@app/@tag/'),
|
55
55
|
}
|
56
56
|
|
57
57
|
async def prepare_app(
|
@@ -70,4 +70,5 @@ class DeployAppManager(DeployPathOwner):
|
|
70
70
|
|
71
71
|
#
|
72
72
|
|
73
|
-
|
73
|
+
if spec.venv is not None:
|
74
|
+
await self._venvs.setup_app_venv(app_tag, spec.venv)
|
ominfra/manage/deploy/specs.py
CHANGED
@@ -43,11 +43,29 @@ class DeployGitCheckout:
|
|
43
43
|
##
|
44
44
|
|
45
45
|
|
46
|
+
@dc.dataclass(frozen=True)
|
47
|
+
class DeployVenvSpec:
|
48
|
+
interp: ta.Optional[str] = None
|
49
|
+
|
50
|
+
requirements_files: ta.Optional[ta.Sequence[str]] = None
|
51
|
+
extra_dependencies: ta.Optional[ta.Sequence[str]] = None
|
52
|
+
|
53
|
+
use_uv: bool = False
|
54
|
+
|
55
|
+
def __post_init__(self) -> None:
|
56
|
+
hash(self)
|
57
|
+
|
58
|
+
|
59
|
+
##
|
60
|
+
|
61
|
+
|
46
62
|
@dc.dataclass(frozen=True)
|
47
63
|
class DeploySpec:
|
48
64
|
app: DeployApp
|
49
65
|
checkout: DeployGitCheckout
|
50
66
|
|
67
|
+
venv: ta.Optional[DeployVenvSpec] = None
|
68
|
+
|
51
69
|
def __post_init__(self) -> None:
|
52
70
|
hash(self)
|
53
71
|
|
ominfra/manage/deploy/venvs.py
CHANGED
@@ -14,6 +14,7 @@ from omlish.os.atomics import AtomicPathSwapping
|
|
14
14
|
|
15
15
|
from .paths import DeployPath
|
16
16
|
from .paths import DeployPathOwner
|
17
|
+
from .specs import DeployVenvSpec
|
17
18
|
from .types import DeployAppTag
|
18
19
|
from .types import DeployHome
|
19
20
|
|
@@ -43,8 +44,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
43
44
|
self,
|
44
45
|
app_dir: str,
|
45
46
|
venv_dir: str,
|
46
|
-
|
47
|
-
use_uv: bool = True,
|
47
|
+
spec: DeployVenvSpec,
|
48
48
|
) -> None:
|
49
49
|
sys_exe = 'python3'
|
50
50
|
|
@@ -61,7 +61,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
61
61
|
reqs_txt = os.path.join(app_dir, 'requirements.txt')
|
62
62
|
|
63
63
|
if os.path.isfile(reqs_txt):
|
64
|
-
if use_uv:
|
64
|
+
if spec.use_uv:
|
65
65
|
await asyncio_subprocesses.check_call(venv_exe, '-m', 'pip', 'install', 'uv')
|
66
66
|
pip_cmd = ['-m', 'uv', 'pip']
|
67
67
|
else:
|
@@ -69,8 +69,13 @@ class DeployVenvManager(DeployPathOwner):
|
|
69
69
|
|
70
70
|
await asyncio_subprocesses.check_call(venv_exe, *pip_cmd,'install', '-r', reqs_txt)
|
71
71
|
|
72
|
-
async def setup_app_venv(
|
72
|
+
async def setup_app_venv(
|
73
|
+
self,
|
74
|
+
app_tag: DeployAppTag,
|
75
|
+
spec: DeployVenvSpec,
|
76
|
+
) -> None:
|
73
77
|
await self.setup_venv(
|
74
78
|
os.path.join(check.non_empty_str(self._deploy_home), 'apps', app_tag.app, app_tag.tag),
|
75
79
|
os.path.join(self._dir(), app_tag.app, app_tag.tag),
|
80
|
+
spec,
|
76
81
|
)
|
ominfra/scripts/manage.py
CHANGED
@@ -4329,11 +4329,29 @@ class DeployGitCheckout:
|
|
4329
4329
|
##
|
4330
4330
|
|
4331
4331
|
|
4332
|
+
@dc.dataclass(frozen=True)
|
4333
|
+
class DeployVenvSpec:
|
4334
|
+
interp: ta.Optional[str] = None
|
4335
|
+
|
4336
|
+
requirements_files: ta.Optional[ta.Sequence[str]] = None
|
4337
|
+
extra_dependencies: ta.Optional[ta.Sequence[str]] = None
|
4338
|
+
|
4339
|
+
use_uv: bool = False
|
4340
|
+
|
4341
|
+
def __post_init__(self) -> None:
|
4342
|
+
hash(self)
|
4343
|
+
|
4344
|
+
|
4345
|
+
##
|
4346
|
+
|
4347
|
+
|
4332
4348
|
@dc.dataclass(frozen=True)
|
4333
4349
|
class DeploySpec:
|
4334
4350
|
app: DeployApp
|
4335
4351
|
checkout: DeployGitCheckout
|
4336
4352
|
|
4353
|
+
venv: ta.Optional[DeployVenvSpec] = None
|
4354
|
+
|
4337
4355
|
def __post_init__(self) -> None:
|
4338
4356
|
hash(self)
|
4339
4357
|
|
@@ -5489,7 +5507,7 @@ class InjectorBinder:
|
|
5489
5507
|
def __new__(cls, *args, **kwargs): # noqa
|
5490
5508
|
raise TypeError
|
5491
5509
|
|
5492
|
-
_FN_TYPES: ta.Tuple[type, ...] = (
|
5510
|
+
_FN_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
5493
5511
|
types.FunctionType,
|
5494
5512
|
types.MethodType,
|
5495
5513
|
|
@@ -5511,7 +5529,7 @@ class InjectorBinder:
|
|
5511
5529
|
cls._FN_TYPES = (*cls._FN_TYPES, icls)
|
5512
5530
|
return icls
|
5513
5531
|
|
5514
|
-
_BANNED_BIND_TYPES: ta.Tuple[type, ...] = (
|
5532
|
+
_BANNED_BIND_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
5515
5533
|
InjectorProvider,
|
5516
5534
|
)
|
5517
5535
|
|
@@ -5690,45 +5708,35 @@ def bind_injector_eager_key(key: ta.Any) -> InjectorBinding:
|
|
5690
5708
|
##
|
5691
5709
|
|
5692
5710
|
|
5693
|
-
class
|
5694
|
-
def __new__(cls, *args, **kwargs): # noqa
|
5695
|
-
raise TypeError
|
5696
|
-
|
5711
|
+
class InjectionApi:
|
5697
5712
|
# keys
|
5698
5713
|
|
5699
|
-
|
5700
|
-
def as_key(cls, o: ta.Any) -> InjectorKey:
|
5714
|
+
def as_key(self, o: ta.Any) -> InjectorKey:
|
5701
5715
|
return as_injector_key(o)
|
5702
5716
|
|
5703
|
-
|
5704
|
-
def array(cls, o: ta.Any) -> InjectorKey:
|
5717
|
+
def array(self, o: ta.Any) -> InjectorKey:
|
5705
5718
|
return dc.replace(as_injector_key(o), array=True)
|
5706
5719
|
|
5707
|
-
|
5708
|
-
def tag(cls, o: ta.Any, t: ta.Any) -> InjectorKey:
|
5720
|
+
def tag(self, o: ta.Any, t: ta.Any) -> InjectorKey:
|
5709
5721
|
return dc.replace(as_injector_key(o), tag=t)
|
5710
5722
|
|
5711
5723
|
# bindings
|
5712
5724
|
|
5713
|
-
|
5714
|
-
def as_bindings(cls, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5725
|
+
def as_bindings(self, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5715
5726
|
return as_injector_bindings(*args)
|
5716
5727
|
|
5717
|
-
|
5718
|
-
def override(cls, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5728
|
+
def override(self, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5719
5729
|
return injector_override(p, *args)
|
5720
5730
|
|
5721
5731
|
# injector
|
5722
5732
|
|
5723
|
-
|
5724
|
-
def create_injector(cls, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
5733
|
+
def create_injector(self, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
5725
5734
|
return _Injector(as_injector_bindings(*args), parent)
|
5726
5735
|
|
5727
5736
|
# binder
|
5728
5737
|
|
5729
|
-
@classmethod
|
5730
5738
|
def bind(
|
5731
|
-
|
5739
|
+
self,
|
5732
5740
|
obj: ta.Any,
|
5733
5741
|
*,
|
5734
5742
|
key: ta.Any = None,
|
@@ -5763,35 +5771,32 @@ class Injection:
|
|
5763
5771
|
|
5764
5772
|
# helpers
|
5765
5773
|
|
5766
|
-
@classmethod
|
5767
5774
|
def bind_factory(
|
5768
|
-
|
5775
|
+
self,
|
5769
5776
|
fn: ta.Callable[..., T],
|
5770
5777
|
cls_: U,
|
5771
5778
|
ann: ta.Any = None,
|
5772
5779
|
) -> InjectorBindingOrBindings:
|
5773
|
-
return
|
5780
|
+
return self.bind(make_injector_factory(fn, cls_, ann))
|
5774
5781
|
|
5775
|
-
@classmethod
|
5776
5782
|
def bind_array(
|
5777
|
-
|
5783
|
+
self,
|
5778
5784
|
obj: ta.Any = None,
|
5779
5785
|
*,
|
5780
5786
|
tag: ta.Any = None,
|
5781
5787
|
) -> InjectorBindingOrBindings:
|
5782
5788
|
return bind_injector_array(obj, tag=tag)
|
5783
5789
|
|
5784
|
-
@classmethod
|
5785
5790
|
def bind_array_type(
|
5786
|
-
|
5791
|
+
self,
|
5787
5792
|
ele: ta.Union[InjectorKey, InjectorKeyCls],
|
5788
5793
|
cls_: U,
|
5789
5794
|
ann: ta.Any = None,
|
5790
5795
|
) -> InjectorBindingOrBindings:
|
5791
|
-
return
|
5796
|
+
return self.bind(make_injector_array_type(ele, cls_, ann))
|
5792
5797
|
|
5793
5798
|
|
5794
|
-
inj =
|
5799
|
+
inj = InjectionApi()
|
5795
5800
|
|
5796
5801
|
|
5797
5802
|
########################################
|
@@ -8297,8 +8302,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
8297
8302
|
self,
|
8298
8303
|
app_dir: str,
|
8299
8304
|
venv_dir: str,
|
8300
|
-
|
8301
|
-
use_uv: bool = True,
|
8305
|
+
spec: DeployVenvSpec,
|
8302
8306
|
) -> None:
|
8303
8307
|
sys_exe = 'python3'
|
8304
8308
|
|
@@ -8315,7 +8319,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
8315
8319
|
reqs_txt = os.path.join(app_dir, 'requirements.txt')
|
8316
8320
|
|
8317
8321
|
if os.path.isfile(reqs_txt):
|
8318
|
-
if use_uv:
|
8322
|
+
if spec.use_uv:
|
8319
8323
|
await asyncio_subprocesses.check_call(venv_exe, '-m', 'pip', 'install', 'uv')
|
8320
8324
|
pip_cmd = ['-m', 'uv', 'pip']
|
8321
8325
|
else:
|
@@ -8323,10 +8327,15 @@ class DeployVenvManager(DeployPathOwner):
|
|
8323
8327
|
|
8324
8328
|
await asyncio_subprocesses.check_call(venv_exe, *pip_cmd,'install', '-r', reqs_txt)
|
8325
8329
|
|
8326
|
-
async def setup_app_venv(
|
8330
|
+
async def setup_app_venv(
|
8331
|
+
self,
|
8332
|
+
app_tag: DeployAppTag,
|
8333
|
+
spec: DeployVenvSpec,
|
8334
|
+
) -> None:
|
8327
8335
|
await self.setup_venv(
|
8328
8336
|
os.path.join(check.non_empty_str(self._deploy_home), 'apps', app_tag.app, app_tag.tag),
|
8329
8337
|
os.path.join(self._dir(), app_tag.app, app_tag.tag),
|
8338
|
+
spec,
|
8330
8339
|
)
|
8331
8340
|
|
8332
8341
|
|
@@ -8892,7 +8901,7 @@ class DeployAppManager(DeployPathOwner):
|
|
8892
8901
|
|
8893
8902
|
def get_owned_deploy_paths(self) -> ta.AbstractSet[DeployPath]:
|
8894
8903
|
return {
|
8895
|
-
DeployPath.parse('apps/@app/@tag'),
|
8904
|
+
DeployPath.parse('apps/@app/@tag/'),
|
8896
8905
|
}
|
8897
8906
|
|
8898
8907
|
async def prepare_app(
|
@@ -8911,7 +8920,8 @@ class DeployAppManager(DeployPathOwner):
|
|
8911
8920
|
|
8912
8921
|
#
|
8913
8922
|
|
8914
|
-
|
8923
|
+
if spec.venv is not None:
|
8924
|
+
await self._venvs.setup_app_venv(app_tag, spec.venv)
|
8915
8925
|
|
8916
8926
|
|
8917
8927
|
########################################
|
ominfra/scripts/supervisor.py
CHANGED
@@ -4548,7 +4548,7 @@ class InjectorBinder:
|
|
4548
4548
|
def __new__(cls, *args, **kwargs): # noqa
|
4549
4549
|
raise TypeError
|
4550
4550
|
|
4551
|
-
_FN_TYPES: ta.Tuple[type, ...] = (
|
4551
|
+
_FN_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
4552
4552
|
types.FunctionType,
|
4553
4553
|
types.MethodType,
|
4554
4554
|
|
@@ -4570,7 +4570,7 @@ class InjectorBinder:
|
|
4570
4570
|
cls._FN_TYPES = (*cls._FN_TYPES, icls)
|
4571
4571
|
return icls
|
4572
4572
|
|
4573
|
-
_BANNED_BIND_TYPES: ta.Tuple[type, ...] = (
|
4573
|
+
_BANNED_BIND_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
4574
4574
|
InjectorProvider,
|
4575
4575
|
)
|
4576
4576
|
|
@@ -4749,45 +4749,35 @@ def bind_injector_eager_key(key: ta.Any) -> InjectorBinding:
|
|
4749
4749
|
##
|
4750
4750
|
|
4751
4751
|
|
4752
|
-
class
|
4753
|
-
def __new__(cls, *args, **kwargs): # noqa
|
4754
|
-
raise TypeError
|
4755
|
-
|
4752
|
+
class InjectionApi:
|
4756
4753
|
# keys
|
4757
4754
|
|
4758
|
-
|
4759
|
-
def as_key(cls, o: ta.Any) -> InjectorKey:
|
4755
|
+
def as_key(self, o: ta.Any) -> InjectorKey:
|
4760
4756
|
return as_injector_key(o)
|
4761
4757
|
|
4762
|
-
|
4763
|
-
def array(cls, o: ta.Any) -> InjectorKey:
|
4758
|
+
def array(self, o: ta.Any) -> InjectorKey:
|
4764
4759
|
return dc.replace(as_injector_key(o), array=True)
|
4765
4760
|
|
4766
|
-
|
4767
|
-
def tag(cls, o: ta.Any, t: ta.Any) -> InjectorKey:
|
4761
|
+
def tag(self, o: ta.Any, t: ta.Any) -> InjectorKey:
|
4768
4762
|
return dc.replace(as_injector_key(o), tag=t)
|
4769
4763
|
|
4770
4764
|
# bindings
|
4771
4765
|
|
4772
|
-
|
4773
|
-
def as_bindings(cls, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4766
|
+
def as_bindings(self, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4774
4767
|
return as_injector_bindings(*args)
|
4775
4768
|
|
4776
|
-
|
4777
|
-
def override(cls, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4769
|
+
def override(self, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4778
4770
|
return injector_override(p, *args)
|
4779
4771
|
|
4780
4772
|
# injector
|
4781
4773
|
|
4782
|
-
|
4783
|
-
def create_injector(cls, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
4774
|
+
def create_injector(self, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
4784
4775
|
return _Injector(as_injector_bindings(*args), parent)
|
4785
4776
|
|
4786
4777
|
# binder
|
4787
4778
|
|
4788
|
-
@classmethod
|
4789
4779
|
def bind(
|
4790
|
-
|
4780
|
+
self,
|
4791
4781
|
obj: ta.Any,
|
4792
4782
|
*,
|
4793
4783
|
key: ta.Any = None,
|
@@ -4822,35 +4812,32 @@ class Injection:
|
|
4822
4812
|
|
4823
4813
|
# helpers
|
4824
4814
|
|
4825
|
-
@classmethod
|
4826
4815
|
def bind_factory(
|
4827
|
-
|
4816
|
+
self,
|
4828
4817
|
fn: ta.Callable[..., T],
|
4829
4818
|
cls_: U,
|
4830
4819
|
ann: ta.Any = None,
|
4831
4820
|
) -> InjectorBindingOrBindings:
|
4832
|
-
return
|
4821
|
+
return self.bind(make_injector_factory(fn, cls_, ann))
|
4833
4822
|
|
4834
|
-
@classmethod
|
4835
4823
|
def bind_array(
|
4836
|
-
|
4824
|
+
self,
|
4837
4825
|
obj: ta.Any = None,
|
4838
4826
|
*,
|
4839
4827
|
tag: ta.Any = None,
|
4840
4828
|
) -> InjectorBindingOrBindings:
|
4841
4829
|
return bind_injector_array(obj, tag=tag)
|
4842
4830
|
|
4843
|
-
@classmethod
|
4844
4831
|
def bind_array_type(
|
4845
|
-
|
4832
|
+
self,
|
4846
4833
|
ele: ta.Union[InjectorKey, InjectorKeyCls],
|
4847
4834
|
cls_: U,
|
4848
4835
|
ann: ta.Any = None,
|
4849
4836
|
) -> InjectorBindingOrBindings:
|
4850
|
-
return
|
4837
|
+
return self.bind(make_injector_array_type(ele, cls_, ann))
|
4851
4838
|
|
4852
4839
|
|
4853
|
-
inj =
|
4840
|
+
inj = InjectionApi()
|
4854
4841
|
|
4855
4842
|
|
4856
4843
|
########################################
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev163
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License: BSD-3-Clause
|
@@ -12,8 +12,8 @@ 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: omdev==0.0.0.
|
16
|
-
Requires-Dist: omlish==0.0.0.
|
15
|
+
Requires-Dist: omdev==0.0.0.dev163
|
16
|
+
Requires-Dist: omlish==0.0.0.dev163
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.18; extra == "all"
|
@@ -44,17 +44,17 @@ ominfra/manage/commands/ping.py,sha256=DVZFzL1Z_f-Bq53vxMrL3xOi0iK_nMonJE4KvQf9w
|
|
44
44
|
ominfra/manage/commands/subprocess.py,sha256=yHGMbAI-xKe_9BUs5IZ3Yav8qRE-I9aGnBtTwW15Pnw,2440
|
45
45
|
ominfra/manage/commands/types.py,sha256=XFZPeqeIBAaIIQF3pdPbGxLlb-LCrz6WtlDWO2q_vz0,210
|
46
46
|
ominfra/manage/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
|
-
ominfra/manage/deploy/apps.py,sha256=
|
47
|
+
ominfra/manage/deploy/apps.py,sha256=Nv3eXVPxEbSz4wyTI8chJ-C-EEC721vFssvvg0YDRXo,1937
|
48
48
|
ominfra/manage/deploy/commands.py,sha256=N9qVntnRgJ_IneI7rEQB2Za0oU7gouPfm-sl2MCwW1E,764
|
49
49
|
ominfra/manage/deploy/config.py,sha256=aR6ubMEWqkTI55XtcG1Cczn6YhCVN6eSL8DT5EHQJN0,166
|
50
50
|
ominfra/manage/deploy/git.py,sha256=6CGLvGH8uYkuT8gyZHybJb7sgUPTtFgy7grj1YHkI9g,3747
|
51
51
|
ominfra/manage/deploy/inject.py,sha256=8wuIgdzkDCHbc69nD1meLjwfCOMdWOIfDT5yijL-du8,1441
|
52
52
|
ominfra/manage/deploy/interp.py,sha256=OKkenH8YKEW_mEDR6X7_ZLxK9a1Ox6KHSwFPTHT6OzA,1029
|
53
53
|
ominfra/manage/deploy/paths.py,sha256=tK8zZFWOHDRdTN5AlTe-3MpgZqovhWrljGosQmeEYvo,6839
|
54
|
-
ominfra/manage/deploy/specs.py,sha256=
|
54
|
+
ominfra/manage/deploy/specs.py,sha256=qQSMA2ns0dalbizYwOp14i154mCOkjyvvh4_cN0gT3k,1574
|
55
55
|
ominfra/manage/deploy/tmp.py,sha256=L0pIfQuxQ7_6gC_AAv7eubI37_IPzCVR29hkn1MHL2Q,1230
|
56
56
|
ominfra/manage/deploy/types.py,sha256=o95wqvTGNRq8Cxx7VpqeX-9x1tI8k8BpqPFvJZkJYBA,305
|
57
|
-
ominfra/manage/deploy/venvs.py,sha256=
|
57
|
+
ominfra/manage/deploy/venvs.py,sha256=u8ds1TVyipFVSfm7sgEHGPw4JPG_hXY2j1LnTCLjxqw,2337
|
58
58
|
ominfra/manage/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
59
|
ominfra/manage/remote/_main.py,sha256=p5KoiS2WMw6QAqlDl_Zun-JybmCsy8awIfpBMLBjGMY,4356
|
60
60
|
ominfra/manage/remote/channel.py,sha256=36xR9Ti9ZA8TUBtxmY0u7_3Lv7E6wzQTxlZl7gLR5GE,2224
|
@@ -76,8 +76,8 @@ ominfra/manage/targets/inject.py,sha256=P4597xWM-V3I_gCt2O71OLhYQkkXtuJvkYRsIbhh
|
|
76
76
|
ominfra/manage/targets/targets.py,sha256=CFl8Uirgn3gfowO1Fn-LBK-6qYqEMFJ9snPUl0gCRuM,1753
|
77
77
|
ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
78
|
ominfra/scripts/journald2aws.py,sha256=EC8tSKW3hztBV_Kr_ykK72AmcvnWivUxcz6Sfg3M_hI,155085
|
79
|
-
ominfra/scripts/manage.py,sha256=
|
80
|
-
ominfra/scripts/supervisor.py,sha256=
|
79
|
+
ominfra/scripts/manage.py,sha256=M8k4XmOrq2R3rjUNU3SAHeqdjvWZptpXvFAl4A0RmGM,294060
|
80
|
+
ominfra/scripts/supervisor.py,sha256=uPcw4o8gt8xvQ97jXK-WBAaZj3D81Lq9tqDoKxGvLCU,273791
|
81
81
|
ominfra/supervisor/LICENSE.txt,sha256=yvqaMNsDhWxziHa9ien6qCW1SkZv-DQlAg96XjfSee8,1746
|
82
82
|
ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
83
83
|
ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
|
@@ -119,9 +119,9 @@ ominfra/tailscale/api.py,sha256=C5-t_b6jZXUWcy5k8bXm7CFnk73pSdrlMOgGDeGVrpw,1370
|
|
119
119
|
ominfra/tailscale/cli.py,sha256=h6akQJMl0KuWLHS7Ur6WcBZ2JwF0DJQhsPTnFBdGyNk,3571
|
120
120
|
ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
121
121
|
ominfra/tools/listresources.py,sha256=4qVg5txsb10EHhvqXXeM6gJ2jx9LbroEnPydDv1uXs0,6176
|
122
|
-
ominfra-0.0.0.
|
123
|
-
ominfra-0.0.0.
|
124
|
-
ominfra-0.0.0.
|
125
|
-
ominfra-0.0.0.
|
126
|
-
ominfra-0.0.0.
|
127
|
-
ominfra-0.0.0.
|
122
|
+
ominfra-0.0.0.dev163.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
123
|
+
ominfra-0.0.0.dev163.dist-info/METADATA,sha256=q9fLsfIpIUNBG4_udrnURTTYe68b6VtNtktfvCBVlIs,731
|
124
|
+
ominfra-0.0.0.dev163.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
125
|
+
ominfra-0.0.0.dev163.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
|
126
|
+
ominfra-0.0.0.dev163.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
|
127
|
+
ominfra-0.0.0.dev163.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|