ominfra 0.0.0.dev142__py3-none-any.whl → 0.0.0.dev143__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -4735,21 +4735,26 @@ TODO:
4735
4735
  ##
4736
4736
 
4737
4737
 
4738
+ @dc.dataclass(frozen=True)
4739
+ class ObjMarshalOptions:
4740
+ raw_bytes: bool = False
4741
+
4742
+
4738
4743
  class ObjMarshaler(abc.ABC):
4739
4744
  @abc.abstractmethod
4740
- def marshal(self, o: ta.Any) -> ta.Any:
4745
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4741
4746
  raise NotImplementedError
4742
4747
 
4743
4748
  @abc.abstractmethod
4744
- def unmarshal(self, o: ta.Any) -> ta.Any:
4749
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4745
4750
  raise NotImplementedError
4746
4751
 
4747
4752
 
4748
4753
  class NopObjMarshaler(ObjMarshaler):
4749
- def marshal(self, o: ta.Any) -> ta.Any:
4754
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4750
4755
  return o
4751
4756
 
4752
- def unmarshal(self, o: ta.Any) -> ta.Any:
4757
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4753
4758
  return o
4754
4759
 
4755
4760
 
@@ -4757,29 +4762,29 @@ class NopObjMarshaler(ObjMarshaler):
4757
4762
  class ProxyObjMarshaler(ObjMarshaler):
4758
4763
  m: ta.Optional[ObjMarshaler] = None
4759
4764
 
4760
- def marshal(self, o: ta.Any) -> ta.Any:
4761
- return check_not_none(self.m).marshal(o)
4765
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4766
+ return check_not_none(self.m).marshal(o, opts)
4762
4767
 
4763
- def unmarshal(self, o: ta.Any) -> ta.Any:
4764
- return check_not_none(self.m).unmarshal(o)
4768
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4769
+ return check_not_none(self.m).unmarshal(o, opts)
4765
4770
 
4766
4771
 
4767
4772
  @dc.dataclass(frozen=True)
4768
4773
  class CastObjMarshaler(ObjMarshaler):
4769
4774
  ty: type
4770
4775
 
4771
- def marshal(self, o: ta.Any) -> ta.Any:
4776
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4772
4777
  return o
4773
4778
 
4774
- def unmarshal(self, o: ta.Any) -> ta.Any:
4779
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4775
4780
  return self.ty(o)
4776
4781
 
4777
4782
 
4778
4783
  class DynamicObjMarshaler(ObjMarshaler):
4779
- def marshal(self, o: ta.Any) -> ta.Any:
4784
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4780
4785
  return marshal_obj(o)
4781
4786
 
4782
- def unmarshal(self, o: ta.Any) -> ta.Any:
4787
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4783
4788
  return o
4784
4789
 
4785
4790
 
@@ -4787,21 +4792,36 @@ class DynamicObjMarshaler(ObjMarshaler):
4787
4792
  class Base64ObjMarshaler(ObjMarshaler):
4788
4793
  ty: type
4789
4794
 
4790
- def marshal(self, o: ta.Any) -> ta.Any:
4795
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4791
4796
  return base64.b64encode(o).decode('ascii')
4792
4797
 
4793
- def unmarshal(self, o: ta.Any) -> ta.Any:
4798
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4794
4799
  return self.ty(base64.b64decode(o))
4795
4800
 
4796
4801
 
4802
+ @dc.dataclass(frozen=True)
4803
+ class BytesSwitchedObjMarshaler(ObjMarshaler):
4804
+ m: ObjMarshaler
4805
+
4806
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4807
+ if opts.raw_bytes:
4808
+ return o
4809
+ return self.m.marshal(o, opts)
4810
+
4811
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4812
+ if opts.raw_bytes:
4813
+ return o
4814
+ return self.m.unmarshal(o, opts)
4815
+
4816
+
4797
4817
  @dc.dataclass(frozen=True)
4798
4818
  class EnumObjMarshaler(ObjMarshaler):
4799
4819
  ty: type
4800
4820
 
4801
- def marshal(self, o: ta.Any) -> ta.Any:
4821
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4802
4822
  return o.name
4803
4823
 
4804
- def unmarshal(self, o: ta.Any) -> ta.Any:
4824
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4805
4825
  return self.ty.__members__[o] # type: ignore
4806
4826
 
4807
4827
 
@@ -4809,15 +4829,15 @@ class EnumObjMarshaler(ObjMarshaler):
4809
4829
  class OptionalObjMarshaler(ObjMarshaler):
4810
4830
  item: ObjMarshaler
4811
4831
 
4812
- def marshal(self, o: ta.Any) -> ta.Any:
4832
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4813
4833
  if o is None:
4814
4834
  return None
4815
- return self.item.marshal(o)
4835
+ return self.item.marshal(o, opts)
4816
4836
 
4817
- def unmarshal(self, o: ta.Any) -> ta.Any:
4837
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4818
4838
  if o is None:
4819
4839
  return None
4820
- return self.item.unmarshal(o)
4840
+ return self.item.unmarshal(o, opts)
4821
4841
 
4822
4842
 
4823
4843
  @dc.dataclass(frozen=True)
@@ -4826,11 +4846,11 @@ class MappingObjMarshaler(ObjMarshaler):
4826
4846
  km: ObjMarshaler
4827
4847
  vm: ObjMarshaler
4828
4848
 
4829
- def marshal(self, o: ta.Any) -> ta.Any:
4830
- return {self.km.marshal(k): self.vm.marshal(v) for k, v in o.items()}
4849
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4850
+ return {self.km.marshal(k, opts): self.vm.marshal(v, opts) for k, v in o.items()}
4831
4851
 
4832
- def unmarshal(self, o: ta.Any) -> ta.Any:
4833
- return self.ty((self.km.unmarshal(k), self.vm.unmarshal(v)) for k, v in o.items())
4852
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4853
+ return self.ty((self.km.unmarshal(k, opts), self.vm.unmarshal(v, opts)) for k, v in o.items())
4834
4854
 
4835
4855
 
4836
4856
  @dc.dataclass(frozen=True)
@@ -4838,11 +4858,11 @@ class IterableObjMarshaler(ObjMarshaler):
4838
4858
  ty: type
4839
4859
  item: ObjMarshaler
4840
4860
 
4841
- def marshal(self, o: ta.Any) -> ta.Any:
4842
- return [self.item.marshal(e) for e in o]
4861
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4862
+ return [self.item.marshal(e, opts) for e in o]
4843
4863
 
4844
- def unmarshal(self, o: ta.Any) -> ta.Any:
4845
- return self.ty(self.item.unmarshal(e) for e in o)
4864
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4865
+ return self.ty(self.item.unmarshal(e, opts) for e in o)
4846
4866
 
4847
4867
 
4848
4868
  @dc.dataclass(frozen=True)
@@ -4851,11 +4871,11 @@ class DataclassObjMarshaler(ObjMarshaler):
4851
4871
  fs: ta.Mapping[str, ObjMarshaler]
4852
4872
  nonstrict: bool = False
4853
4873
 
4854
- def marshal(self, o: ta.Any) -> ta.Any:
4855
- return {k: m.marshal(getattr(o, k)) for k, m in self.fs.items()}
4874
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4875
+ return {k: m.marshal(getattr(o, k), opts) for k, m in self.fs.items()}
4856
4876
 
4857
- def unmarshal(self, o: ta.Any) -> ta.Any:
4858
- return self.ty(**{k: self.fs[k].unmarshal(v) for k, v in o.items() if not self.nonstrict or k in self.fs})
4877
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4878
+ return self.ty(**{k: self.fs[k].unmarshal(v, opts) for k, v in o.items() if not self.nonstrict or k in self.fs})
4859
4879
 
4860
4880
 
4861
4881
  @dc.dataclass(frozen=True)
@@ -4875,50 +4895,50 @@ class PolymorphicObjMarshaler(ObjMarshaler):
4875
4895
  {i.tag: i for i in impls},
4876
4896
  )
4877
4897
 
4878
- def marshal(self, o: ta.Any) -> ta.Any:
4898
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4879
4899
  impl = self.impls_by_ty[type(o)]
4880
- return {impl.tag: impl.m.marshal(o)}
4900
+ return {impl.tag: impl.m.marshal(o, opts)}
4881
4901
 
4882
- def unmarshal(self, o: ta.Any) -> ta.Any:
4902
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4883
4903
  [(t, v)] = o.items()
4884
4904
  impl = self.impls_by_tag[t]
4885
- return impl.m.unmarshal(v)
4905
+ return impl.m.unmarshal(v, opts)
4886
4906
 
4887
4907
 
4888
4908
  @dc.dataclass(frozen=True)
4889
4909
  class DatetimeObjMarshaler(ObjMarshaler):
4890
4910
  ty: type
4891
4911
 
4892
- def marshal(self, o: ta.Any) -> ta.Any:
4912
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4893
4913
  return o.isoformat()
4894
4914
 
4895
- def unmarshal(self, o: ta.Any) -> ta.Any:
4915
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4896
4916
  return self.ty.fromisoformat(o) # type: ignore
4897
4917
 
4898
4918
 
4899
4919
  class DecimalObjMarshaler(ObjMarshaler):
4900
- def marshal(self, o: ta.Any) -> ta.Any:
4920
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4901
4921
  return str(check_isinstance(o, decimal.Decimal))
4902
4922
 
4903
- def unmarshal(self, v: ta.Any) -> ta.Any:
4923
+ def unmarshal(self, v: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4904
4924
  return decimal.Decimal(check_isinstance(v, str))
4905
4925
 
4906
4926
 
4907
4927
  class FractionObjMarshaler(ObjMarshaler):
4908
- def marshal(self, o: ta.Any) -> ta.Any:
4928
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4909
4929
  fr = check_isinstance(o, fractions.Fraction)
4910
4930
  return [fr.numerator, fr.denominator]
4911
4931
 
4912
- def unmarshal(self, v: ta.Any) -> ta.Any:
4932
+ def unmarshal(self, v: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4913
4933
  num, denom = check_isinstance(v, list)
4914
4934
  return fractions.Fraction(num, denom)
4915
4935
 
4916
4936
 
4917
4937
  class UuidObjMarshaler(ObjMarshaler):
4918
- def marshal(self, o: ta.Any) -> ta.Any:
4938
+ def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4919
4939
  return str(o)
4920
4940
 
4921
- def unmarshal(self, o: ta.Any) -> ta.Any:
4941
+ def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
4922
4942
  return uuid.UUID(o)
4923
4943
 
4924
4944
 
@@ -4928,7 +4948,7 @@ class UuidObjMarshaler(ObjMarshaler):
4928
4948
  _DEFAULT_OBJ_MARSHALERS: ta.Dict[ta.Any, ObjMarshaler] = {
4929
4949
  **{t: NopObjMarshaler() for t in (type(None),)},
4930
4950
  **{t: CastObjMarshaler(t) for t in (int, float, str, bool)},
4931
- **{t: Base64ObjMarshaler(t) for t in (bytes, bytearray)},
4951
+ **{t: BytesSwitchedObjMarshaler(Base64ObjMarshaler(t)) for t in (bytes, bytearray)},
4932
4952
  **{t: IterableObjMarshaler(t, DynamicObjMarshaler()) for t in (list, tuple, set, frozenset)},
4933
4953
  **{t: MappingObjMarshaler(t, DynamicObjMarshaler(), DynamicObjMarshaler()) for t in (dict,)},
4934
4954
 
@@ -4961,12 +4981,16 @@ class ObjMarshalerManager:
4961
4981
  def __init__(
4962
4982
  self,
4963
4983
  *,
4984
+ default_options: ObjMarshalOptions = ObjMarshalOptions(),
4985
+
4964
4986
  default_obj_marshalers: ta.Dict[ta.Any, ObjMarshaler] = _DEFAULT_OBJ_MARSHALERS, # noqa
4965
4987
  generic_mapping_types: ta.Dict[ta.Any, type] = _OBJ_MARSHALER_GENERIC_MAPPING_TYPES, # noqa
4966
4988
  generic_iterable_types: ta.Dict[ta.Any, type] = _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES, # noqa
4967
4989
  ) -> None:
4968
4990
  super().__init__()
4969
4991
 
4992
+ self._default_options = default_options
4993
+
4970
4994
  self._obj_marshalers = dict(default_obj_marshalers)
4971
4995
  self._generic_mapping_types = generic_mapping_types
4972
4996
  self._generic_iterable_types = generic_iterable_types
@@ -5075,11 +5099,35 @@ class ObjMarshalerManager:
5075
5099
 
5076
5100
  #
5077
5101
 
5078
- def marshal_obj(self, o: ta.Any, ty: ta.Any = None) -> ta.Any:
5079
- return self.get_obj_marshaler(ty if ty is not None else type(o)).marshal(o)
5102
+ def marshal_obj(
5103
+ self,
5104
+ o: ta.Any,
5105
+ ty: ta.Any = None,
5106
+ opts: ta.Optional[ObjMarshalOptions] = None,
5107
+ ) -> ta.Any:
5108
+ m = self.get_obj_marshaler(ty if ty is not None else type(o))
5109
+ return m.marshal(o, opts or self._default_options)
5080
5110
 
5081
- def unmarshal_obj(self, o: ta.Any, ty: ta.Union[ta.Type[T], ta.Any]) -> T:
5082
- return self.get_obj_marshaler(ty).unmarshal(o)
5111
+ def unmarshal_obj(
5112
+ self,
5113
+ o: ta.Any,
5114
+ ty: ta.Union[ta.Type[T], ta.Any],
5115
+ opts: ta.Optional[ObjMarshalOptions] = None,
5116
+ ) -> T:
5117
+ m = self.get_obj_marshaler(ty)
5118
+ return m.unmarshal(o, opts or self._default_options)
5119
+
5120
+ def roundtrip_obj(
5121
+ self,
5122
+ o: ta.Any,
5123
+ ty: ta.Any = None,
5124
+ opts: ta.Optional[ObjMarshalOptions] = None,
5125
+ ) -> ta.Any:
5126
+ if ty is None:
5127
+ ty = type(o)
5128
+ m: ta.Any = self.marshal_obj(o, ty, opts)
5129
+ u: ta.Any = self.unmarshal_obj(m, ty, opts)
5130
+ return u
5083
5131
 
5084
5132
 
5085
5133
  ##
@@ -8567,7 +8615,8 @@ def bind_server(
8567
8615
  ]))
8568
8616
  lst.extend([
8569
8617
  inj.bind(poller_impl, key=FdIoPoller, singleton=True),
8570
- inj.bind(_FdIoPollerDaemonizeListener, array=True, singleton=True),
8618
+ inj.bind(_FdIoPollerDaemonizeListener, singleton=True),
8619
+ inj.bind(DaemonizeListener, array=True, to_key=_FdIoPollerDaemonizeListener),
8571
8620
  ])
8572
8621
 
8573
8622
  #
@@ -125,7 +125,8 @@ def bind_server(
125
125
  ]))
126
126
  lst.extend([
127
127
  inj.bind(poller_impl, key=FdIoPoller, singleton=True),
128
- inj.bind(_FdIoPollerDaemonizeListener, array=True, singleton=True),
128
+ inj.bind(_FdIoPollerDaemonizeListener, singleton=True),
129
+ inj.bind(DaemonizeListener, array=True, to_key=_FdIoPollerDaemonizeListener),
129
130
  ])
130
131
 
131
132
  #
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ominfra
3
- Version: 0.0.0.dev142
3
+ Version: 0.0.0.dev143
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.dev142
16
- Requires-Dist: omlish==0.0.0.dev142
15
+ Requires-Dist: omdev==0.0.0.dev143
16
+ Requires-Dist: omlish==0.0.0.dev143
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -3,7 +3,7 @@ ominfra/__about__.py,sha256=6i1AoruFYQCd-PyhhbDQDWY2d1tiQu9nkwWr-fXAqfY,705
3
3
  ominfra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  ominfra/cmds.py,sha256=E0AfnvEmnKntXWvmLW5L05_NeDpBET1VBXn7vV6EwBQ,2083
5
5
  ominfra/configs.py,sha256=8aU1Qmbr-qjaE2iP3gAbA2SWJYMPZ-uGK007L01PoOI,1727
6
- ominfra/pyremote.py,sha256=FkxGXrgeszcYQK-lhp3B1bvDIShW-vTkYVcx0yz_Evs,13150
6
+ ominfra/pyremote.py,sha256=PEKQP8CtJVyKWgDJ-FYcGxpxOPy2AYOZCOQRBFktg4E,14248
7
7
  ominfra/ssh.py,sha256=jQpc4WvkMckIfk4vILda8zFaeharRqc_6wxW50b0OjQ,5431
8
8
  ominfra/threadworkers.py,sha256=oX4ubZn7h932saXpRIJu2MNhBExgGGMuGhdXarZxLJw,4948
9
9
  ominfra/clouds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -27,18 +27,31 @@ ominfra/journald/fields.py,sha256=NjjVn7GW4jkcGdyiiizVjEfQqSFnolXYk3kDcSQcMmc,12
27
27
  ominfra/journald/genmessages.py,sha256=rLTS-K2v7otNOtTz4RoOEVYCm0fQuuBzf47e0T61tA8,1857
28
28
  ominfra/journald/messages.py,sha256=Wr7TjWMOySc0WnKwp_-idR8RfeKlbyJQ_KkELr0VB70,2192
29
29
  ominfra/journald/tailer.py,sha256=5abcFMfgi7fnY9ZEQe2ZVobaJxjQkeu6d9Kagw33a1w,33525
30
- ominfra/manage/__init__.py,sha256=YqHcYMfmo04OoVNYc6Ykc1I8WaJot44skwhm9DcnmXE,166
31
- ominfra/manage/main.py,sha256=31ZjdEGTo3v4H5CLe1ksNlZiEvXZ26utN3wabupvdDk,3193
32
- ominfra/manage/payload.py,sha256=NPuQtMGe1q3kDjG5cgOFmd6M9ITyKRc4IyMRY9PHzRI,818
33
- ominfra/manage/protocol.py,sha256=NPxXxLX-jP-MKcSR3Sz3sMcFRVO2AdtL1gxRtHYXZIw,1171
34
- ominfra/manage/spawning.py,sha256=r16vSlUiWRUevSHMkBNBVDOZnB7qdu0k0K4jY3oHPu4,2626
30
+ ominfra/manage/__init__.py,sha256=aykrEASTHEtJ-o97jUHRIv8oea41tO7RDHB56cQfmis,265
31
+ ominfra/manage/__main__.py,sha256=5IeIERm-371fSI5ZvPv8eldAJBwgKwpR0R49pTsILNM,76
32
+ ominfra/manage/bootstrap.py,sha256=puGpmK6b6ZCAX5E_HI9ucUuWlXB4U_4Xwc2x8GAKSVo,240
33
+ ominfra/manage/bootstrap_.py,sha256=WVry3P5ViPpdEC_-EFBouZTECMxs4CwRbek4Oz_iRbc,517
34
+ ominfra/manage/config.py,sha256=1y2N_8nXHBZc6YbW6BaRZoDDCTBmiHuWtTOQ7zdr5VE,184
35
+ ominfra/manage/inject.py,sha256=VuSnejEwEPWgVDEmyAqyNfJl-akWoBZUah066up3sqQ,1332
36
+ ominfra/manage/main.py,sha256=HzBXHdtN69UKk3_qxlu-OrPpa3PddL4eavUemxP36PY,2399
37
+ ominfra/manage/marshal.py,sha256=WKj7IU9bo4fBMSSzT6ZMm_WFalXIJZ-V7j8oi92fNhk,305
35
38
  ominfra/manage/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- ominfra/manage/commands/base.py,sha256=nXvqvMYeiuya0hcLnVjQNX3jUdIQN6Brt_UGIQBfNvs,559
39
+ ominfra/manage/commands/base.py,sha256=yhOAh893iJrk0SvgkRZQMLw8cvStEI2IaHKP9Ifg7N0,3966
40
+ ominfra/manage/commands/execution.py,sha256=FBkc9tA_QeKfeajijhsgIiIbqwE9LVwI63QoVs--mf0,609
41
+ ominfra/manage/commands/inject.py,sha256=00QL4Xui5oHXbUG6F8QvJXeIdh2YKThKzqsusZUmfN4,3439
42
+ ominfra/manage/commands/marshal.py,sha256=4DSCMPzRiRhufIB_9DPL6LrZkRZOle5ruOWU4MVlcXM,694
37
43
  ominfra/manage/commands/subprocess.py,sha256=3JaOt56uPqW3jYRtpBpHk5zm3ZzOXzCK-feyDBkq8P4,2198
44
+ ominfra/manage/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ ominfra/manage/remote/channel.py,sha256=l3bsuE6JZ3VD5abxsWys7m-4kFjOr_B-27bEMgz4K4Q,1325
46
+ ominfra/manage/remote/config.py,sha256=yMJsz8zB5i3ytiS-YaCb6-qXumMKXh18SjmtzPVO44c,280
47
+ ominfra/manage/remote/execution.py,sha256=ro0qBqbPTb3T6R4aL0sKeDodwCpS_DCuGEwEm7J5qyM,4820
48
+ ominfra/manage/remote/inject.py,sha256=0TEODiCirwlApejbAR7-0ZGkNXA99IHZdmAFKliyJYw,783
49
+ ominfra/manage/remote/payload.py,sha256=Rn-Yo26POpHEOOfUHX3jWkqcQVEAvkJ_5Bu13jwoob4,944
50
+ ominfra/manage/remote/spawning.py,sha256=6JLs_IsMjNQr6i8vROUjHsqmNFno1Ykh3oBXOOHBFYY,2614
38
51
  ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- ominfra/scripts/journald2aws.py,sha256=W5mjSE-zeT6DV4oCALur1i8za7XnThh0jLleDxNtKJc,133341
40
- ominfra/scripts/manage.py,sha256=wsWkxzFg24hD-Pn9F-fosPw5sa5i7kEPBoeCVOqXBLU,48622
41
- ominfra/scripts/supervisor.py,sha256=EVSJ5q7pSQ9vIBZsFyHT2p_RndRb8JMpTfAJ-pY6WNU,247313
52
+ ominfra/scripts/journald2aws.py,sha256=s_ratu1H5K76uM0sx0gMX1Y8pSDO29YqW6x5UrV8jTI,135495
53
+ ominfra/scripts/manage.py,sha256=MBbHy36U41eF0MXaPQhk4xAu7ErhB29XqHUd3TiCujo,91910
54
+ ominfra/scripts/supervisor.py,sha256=OTBihWooI6yRzY-kw20vMBqZmrKMKfZkVUcwd_xZ7ZM,249541
42
55
  ominfra/supervisor/LICENSE.txt,sha256=yvqaMNsDhWxziHa9ien6qCW1SkZv-DQlAg96XjfSee8,1746
43
56
  ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
44
57
  ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
@@ -50,7 +63,7 @@ ominfra/supervisor/exceptions.py,sha256=Qbu211H3CLlSmi9LsSikOwrcL5HgJP9ugvcKWlGT
50
63
  ominfra/supervisor/groups.py,sha256=MBbsbt8Zh_WEYkGOr1KXa82gnPVw9wPB2lAnqhugXSc,2457
51
64
  ominfra/supervisor/groupsimpl.py,sha256=nIrW4SmB0W6c2jOR_HhkfVcH4eHyLZnG1FJ0MCzc6mQ,2292
52
65
  ominfra/supervisor/http.py,sha256=VqE3Q-5nJavMEZJ_MrDsmZmlmJ2mu_rlnyj9gN4hRVI,3473
53
- ominfra/supervisor/inject.py,sha256=cH7ZV5KnOlHh90_S6YWlJsJCfM9Ve956GzEAhl4arx8,4627
66
+ ominfra/supervisor/inject.py,sha256=NtxlJvRANXFRt0pQZ9RS34dyNxY1Xkx7MTL_9N3YXL4,4701
54
67
  ominfra/supervisor/io.py,sha256=_G66luJDF-i1JPM-qJiREMdmHk2ul7n-kjr7ex1sF6s,3200
55
68
  ominfra/supervisor/main.py,sha256=oqaWOcnHJgaxNhjyphPgjaNjHPjDcx7kzYMjtZpwSxE,4253
56
69
  ominfra/supervisor/pipes.py,sha256=2ZihNTnRNjnIPOtPbm3_pyqO15f7BNs7WnNtO5V8ahM,2231
@@ -80,9 +93,9 @@ ominfra/tailscale/api.py,sha256=C5-t_b6jZXUWcy5k8bXm7CFnk73pSdrlMOgGDeGVrpw,1370
80
93
  ominfra/tailscale/cli.py,sha256=DSGp4hn5xwOW-l_u_InKlSF6kIobxtUtVssf_73STs0,3567
81
94
  ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
95
  ominfra/tools/listresources.py,sha256=4qVg5txsb10EHhvqXXeM6gJ2jx9LbroEnPydDv1uXs0,6176
83
- ominfra-0.0.0.dev142.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
84
- ominfra-0.0.0.dev142.dist-info/METADATA,sha256=a7T1XgtIZR-J7arZa-JEIS-v3QHwFaq6t_l-Kuq6eb4,731
85
- ominfra-0.0.0.dev142.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
86
- ominfra-0.0.0.dev142.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
87
- ominfra-0.0.0.dev142.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
88
- ominfra-0.0.0.dev142.dist-info/RECORD,,
96
+ ominfra-0.0.0.dev143.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
97
+ ominfra-0.0.0.dev143.dist-info/METADATA,sha256=vVDKCPEuzI6_WxcN4JdrbYNDZNNwxJqKReQWW8Z868A,731
98
+ ominfra-0.0.0.dev143.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
99
+ ominfra-0.0.0.dev143.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
100
+ ominfra-0.0.0.dev143.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
101
+ ominfra-0.0.0.dev143.dist-info/RECORD,,