omlish 0.0.0.dev393__py3-none-any.whl → 0.0.0.dev394__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.
omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev393'
2
- __revision__ = '7624d40b9a78e52aec03b012a4b4f7b060d4f2f0'
1
+ __version__ = '0.0.0.dev394'
2
+ __revision__ = 'b3c8aa9fb0aa4cb4683cea8843b22615547cbf03'
3
3
 
4
4
 
5
5
  #
omlish/codecs/base.py CHANGED
@@ -70,7 +70,7 @@ def check_codec_name(s: str) -> str:
70
70
  @dc.dataclass(frozen=True, kw_only=True)
71
71
  class Codec:
72
72
  name: str = dc.xfield(coerce=check_codec_name)
73
- aliases: ta.Collection[str] | None = dc.xfield(
73
+ aliases: ta.Sequence[str] | None = dc.xfield(
74
74
  default=None,
75
75
  coerce=lang.opt_fn(lambda s: [check_codec_name(a) for a in s]),
76
76
  )
@@ -90,7 +90,7 @@ class Codec:
90
90
  @dc.dataclass(frozen=True, kw_only=True)
91
91
  class LazyLoadedCodec(ModAttrManifest):
92
92
  name: str
93
- aliases: ta.Collection[str] | None = None
93
+ aliases: ta.Sequence[str] | None = None
94
94
 
95
95
  @classmethod
96
96
  def new(
omlish/codecs/bytes.py CHANGED
@@ -21,7 +21,7 @@ class BytesCodec(Codec):
21
21
 
22
22
  def make_bytes_encoding_codec(
23
23
  name: str,
24
- aliases: ta.Collection[str] | None,
24
+ aliases: ta.Sequence[str] | None,
25
25
  encode: ta.Callable[[bytes], bytes],
26
26
  decode: ta.Callable[[bytes], bytes],
27
27
  *,
omlish/codecs/registry.py CHANGED
@@ -11,9 +11,9 @@ from .standard import STANDARD_CODECS
11
11
 
12
12
 
13
13
  if ta.TYPE_CHECKING:
14
- from ..manifests import load as manifest_load
14
+ from ..manifests import globals as manifest_globals
15
15
  else:
16
- manifest_load = lang.proxy_import('..manifests.load', __package__)
16
+ manifest_globals = lang.proxy_import('..manifests.globals', __package__)
17
17
 
18
18
 
19
19
  ##
@@ -102,7 +102,7 @@ def _install_standard_codecs(registry: CodecRegistry) -> None:
102
102
 
103
103
  @cached.function
104
104
  def _build_manifest_lazy_loaded_codecs() -> ta.Sequence[LazyLoadedCodec]:
105
- ldr = manifest_load.MANIFEST_LOADER
105
+ ldr = manifest_globals.MANIFEST_LOADER
106
106
  pkgs = {__package__.split('.')[0], *ldr.discover_pkgs()}
107
107
  mns = ldr.load(*pkgs, only=[LazyLoadedCodec])
108
108
  return [m.value for m in mns]
omlish/codecs/text.py CHANGED
@@ -126,7 +126,7 @@ def normalize_text_encoding_name(s: str) -> str:
126
126
 
127
127
  def make_text_encoding_codec(
128
128
  name: str,
129
- aliases: ta.Collection[str] | None = None,
129
+ aliases: ta.Sequence[str] | None = None,
130
130
  *,
131
131
  append_to: ta.MutableSequence[Codec] | None = None,
132
132
  ) -> TextEncodingCodec:
omlish/formats/codecs.py CHANGED
@@ -22,7 +22,7 @@ def make_object_codec(
22
22
  *,
23
23
  input: rfl.Type, # noqa
24
24
  output: rfl.Type = rfl.type_(ta.Any),
25
- aliases: ta.Collection[str] | None = None,
25
+ aliases: ta.Sequence[str] | None = None,
26
26
  ) -> ObjectCodecT:
27
27
  return cls(
28
28
  name=name,
@@ -46,7 +46,7 @@ def make_compression_codec(
46
46
  name: str,
47
47
  cls: type[Compression],
48
48
  *,
49
- aliases: ta.Collection[str] | None = None,
49
+ aliases: ta.Sequence[str] | None = None,
50
50
  ) -> CompressionCodec:
51
51
  return CompressionCodec(
52
52
  name=name,
omlish/manifests/base.py CHANGED
@@ -27,7 +27,7 @@ class ModAttrManifest:
27
27
  @dc.dataclass(frozen=True)
28
28
  class NameAliasesManifest:
29
29
  name: str
30
- aliases: ta.Optional[ta.Collection[str]] = None
30
+ aliases: ta.Optional[ta.Sequence[str]] = None
31
31
 
32
32
  @classmethod
33
33
  def build_name_dict(cls, objs: ta.Iterable[NameAliasesManifestT]) -> ta.Dict[str, NameAliasesManifestT]:
@@ -0,0 +1,11 @@
1
+ # @omlish-lite
2
+ from ..lite.marshal import unmarshal_obj
3
+ from .loading import ManifestLoader
4
+
5
+
6
+ ##
7
+
8
+
9
+ MANIFEST_LOADER = ManifestLoader(
10
+ cls_instantiator=lambda cls, **kwargs: unmarshal_obj(kwargs, cls),
11
+ )
@@ -26,9 +26,12 @@ class ManifestLoader:
26
26
  self,
27
27
  *,
28
28
  module_remap: ta.Optional[ta.Mapping[str, str]] = None,
29
+ cls_instantiator: ta.Optional[ta.Callable[..., ta.Any]] = None,
29
30
  ) -> None:
30
31
  super().__init__()
31
32
 
33
+ self._cls_instantiator = cls_instantiator
34
+
32
35
  self._lock = threading.RLock()
33
36
 
34
37
  self._module_remap = module_remap or {}
@@ -172,6 +175,14 @@ class ManifestLoader:
172
175
 
173
176
  #
174
177
 
178
+ def instantiate_cls(self, cls: type, **kwargs: ta.Any) -> ta.Any:
179
+ if self._cls_instantiator is not None:
180
+ return self._cls_instantiator(cls, **kwargs)
181
+ else:
182
+ return cls(**kwargs)
183
+
184
+ #
185
+
175
186
  def _load(
176
187
  self,
177
188
  *pkg_names: str,
@@ -197,7 +208,7 @@ class ManifestLoader:
197
208
  continue
198
209
 
199
210
  cls = self._load_cls(key)
200
- value = cls(**value_dct)
211
+ value = self.instantiate_cls(cls, **value_dct)
201
212
 
202
213
  manifest = dc.replace(manifest, value=value)
203
214
  lst.append(manifest)
@@ -256,9 +267,3 @@ class ManifestLoader:
256
267
  pkgs.extend(self.scan_pkg_root(fallback_root))
257
268
 
258
269
  return pkgs
259
-
260
-
261
- ##
262
-
263
-
264
- MANIFEST_LOADER = ManifestLoader()
@@ -56,7 +56,7 @@ from .errors import ( # noqa
56
56
  UnhandledTypeError,
57
57
  )
58
58
 
59
- from .global_ import ( # noqa
59
+ from .globals import ( # noqa
60
60
  GLOBAL_REGISTRY,
61
61
 
62
62
  global_marshaler_factory,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev393
3
+ Version: 0.0.0.dev394
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=aT8yZ-Zh-9wfHl5Ym5ouiWC1i0cy7Q7RlhzavB6VLPI,8587
2
- omlish/__about__.py,sha256=Ecs9Y68M7tY4vQsy6795a2JDqG9iRNujk3WD8bB9QRY,3543
2
+ omlish/__about__.py,sha256=ko042tDygoOn3kM1lHN4zPIzbXv_lgAASIV2V4gSqDk,3543
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=rer-TPOFDU6fYq_AWio_AmA-ckZ8JDY5shIzQ_yXfzA,8414
5
5
  omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
@@ -69,13 +69,13 @@ omlish/bootstrap/main.py,sha256=RQAQVb_Cbk_Lnu-hSGMAo-aVQVIJ-E_TW7ZLsPO-ECk,5909
69
69
  omlish/bootstrap/marshal.py,sha256=aKLeiOyPW6DelVK78dmw0axQzOMHX-ALrSqOOzYh05w,486
70
70
  omlish/bootstrap/sys.py,sha256=r06ZroT2Rv0CBHiEweqDV6oWaMGNhFc4u0XBMBv3nnY,8793
71
71
  omlish/codecs/__init__.py,sha256=-FDwRJFGagg-fZyQ8wup4GPuR6gHpmaChzthlykn-kY,876
72
- omlish/codecs/base.py,sha256=9wNVEnbb6KmI06A-HpUdT4BAYXOtDoJVyctNcn5vRnY,2218
73
- omlish/codecs/bytes.py,sha256=jlZ87OmZ52HhQDNyL87R3OIviK2qV5iU2jZYOTOLWjk,2157
72
+ omlish/codecs/base.py,sha256=IVnJlduvhiH1imul4DPhl2gHBWS76774AV5h86dX0ls,2214
73
+ omlish/codecs/bytes.py,sha256=3DxyQQCvFcP3mQ5G93f_mygXEb-7I8buM8EyzUcx2Is,2155
74
74
  omlish/codecs/chain.py,sha256=nbkL2nz0ZqT2lxYwSXktHh1YFTQ4Iii1Hp-fWjis6rc,532
75
75
  omlish/codecs/funcs.py,sha256=or0Jogczuzk7csDTRl-HURMEjl8LXXqxxXYK45xcM5w,855
76
- omlish/codecs/registry.py,sha256=2FnO5YP7ui1LzkguwESY0MP3WIdwgPTIJTM_4RyTOEg,3896
76
+ omlish/codecs/registry.py,sha256=PIf7XdwVX7Q85-MnyURtX9SKAYolK_r7wls9Z-qAsnA,3911
77
77
  omlish/codecs/standard.py,sha256=eiZ4u9ep0XrA4Z_D1zJI0vmWyuN8HLrX4Se_r_Cq_ZM,60
78
- omlish/codecs/text.py,sha256=MgAzXapiHie-hhLBmcho67WXfWbmhlHz4tNPcHXnWUk,5711
78
+ omlish/codecs/text.py,sha256=uHhV8jBgH0iZgcrV0nl4-0a_9ofln4iFH4OXoVm2CW4,5709
79
79
  omlish/collections/__init__.py,sha256=-CcIq7e8OkQakexxpJOXf2q6LdVqzo7B-quPtwur_BQ,2634
80
80
  omlish/collections/abc.py,sha256=p9zhL5oNV5WPyWmMn34fWfkuxPQAjOtL7WQA-Xsyhwk,2628
81
81
  omlish/collections/bimap.py,sha256=3szDCscPJlFRtkpyVQNWneg4s50mr6Rd0jdTzVEIcnE,1661
@@ -245,7 +245,7 @@ omlish/dom/rendering.py,sha256=5cQK3A_uifh3Th5v3c0nx-tW8d1KyGL6C9tASPaNVNI,4336
245
245
  omlish/formats/__init__.py,sha256=T0AG1gFnqQ5JiHN0UPQjQ-7g5tnxMIG-mgOvMYExYAM,21
246
246
  omlish/formats/cbor.py,sha256=o_Hbe4kthO9CeXK-FySrw0dHVlrdyTo2Y8PpGRDfZ3c,514
247
247
  omlish/formats/cloudpickle.py,sha256=16si4yUp_pAdDWGECAWf6HLA2PwSANGGgDoMLGZUem8,579
248
- omlish/formats/codecs.py,sha256=ip4TLOyWAaUyEJmrIOzuLMtjRdgaMEsC6JeAlcCVi28,1657
248
+ omlish/formats/codecs.py,sha256=HBQzco_BT73xshv2l8FrDTaAKTH-A8Y4vXiabXPELGY,1655
249
249
  omlish/formats/dotenv.py,sha256=60RHhpNmLhqT7ISeA79MmSc7Sq8AxF5nKj7VPjdroZU,19320
250
250
  omlish/formats/pickle.py,sha256=jdp4E9WH9qVPBE3sSqbqDtUo18RbTSIiSpSzJ-IEVZw,529
251
251
  omlish/formats/props.py,sha256=rPycJ-_b76NSNc2b_dZ0F0zyKzuXK8v6K6fqcV8uCRQ,18933
@@ -398,7 +398,7 @@ omlish/io/compress/adapters.py,sha256=LJHhjwMHXstoLyX_q0QhGoBAcqyYGWfzhzQbGBXHzH
398
398
  omlish/io/compress/base.py,sha256=X-B9zC_JAJ84ozO4Vl_7mG3o6zkF6jZfcXO5JmDftGk,620
399
399
  omlish/io/compress/brotli.py,sha256=sNDX5HmEVqg9_xID5NTFPAWuvlNPw5ixfOnnIWwZf_o,1189
400
400
  omlish/io/compress/bz2.py,sha256=HtwBuBYHJ3MyWO9xJ0XhWpyIYTA3OszLrpu_J4kRRPA,1534
401
- omlish/io/compress/codecs.py,sha256=kpSJrCSnfFxAwReZTwdcXsaHe0iqoFbdZtZxjzuzxu0,1792
401
+ omlish/io/compress/codecs.py,sha256=dpJKoELXy_xF5nLnQYGNu19tmHEaUPyyk7fVsOlXsWk,1790
402
402
  omlish/io/compress/gzip.py,sha256=6nCWycCYo0_4cTMu4QMhu23MT1xbrwyf7E8sGGBkR_w,12199
403
403
  omlish/io/compress/lz4.py,sha256=qaze1yVXexjJyN18Adh8fbTm_5pEeyytx66KoMUNpCU,2759
404
404
  omlish/io/compress/lzma.py,sha256=qDyshBgBUSPcZpAyXiRXnqI7zx7x60UpPxn8K3nN8aM,2469
@@ -506,15 +506,16 @@ omlish/logs/standard.py,sha256=w0jS824YDvlzrGgAxKiPk9RoZ5V1b0ADiFsBEpKLuLY,3152
506
506
  omlish/logs/timing.py,sha256=qsQ3DB6swts1pxrFlmLWQzhH-3nzDrq1MUu7PxjjUyU,1519
507
507
  omlish/logs/utils.py,sha256=OkFWf1exmWImmT7BaSiIC7c0Fk9tAis-PRqo8H4ny3c,398
508
508
  omlish/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
509
- omlish/manifests/base.py,sha256=5CmayiuzdXXv9hB5tDnWqfAosAoEQ26YG0B-emkiTXU,941
510
- omlish/manifests/load.py,sha256=baPBZJRSmFVH9lWlWXAredmJFFYc3X0W2C6Z8a4M05E,7734
509
+ omlish/manifests/base.py,sha256=YBK6jxMgY5G3hK0ZBlbU-tghzifkGhwRTyWa5XqOmno,939
510
+ omlish/manifests/globals.py,sha256=LZm4ueBjlC023uxL8zvivSyzMgx5O8kSbo9oNfhF_DE,206
511
+ omlish/manifests/loading.py,sha256=S-yEGsnBEu670ya6Bc09QqbRtA5rBp5rA4D3zuJUl9M,8070
511
512
  omlish/manifests/static.py,sha256=7YwOVh_Ek9_aTrWsWNO8kWS10_j4K7yv3TpXZSHsvDY,501
512
513
  omlish/manifests/types.py,sha256=5hQuY-WZ9VMqHZXr-9Dayg380JsnX2vJzXyw6vC6UDs,317
513
- omlish/marshal/__init__.py,sha256=QeWqXKb6_Jk8vpX9Z-apWlM3nUbJY3uCPOm0k8Lw8b8,3584
514
+ omlish/marshal/__init__.py,sha256=MtQkMih6iJO0S7tbzVWBUjDr9wQhiCm3poTyLslaPFo,3584
514
515
  omlish/marshal/base.py,sha256=3GMrhJBcnVrVtlQRQLOMgvV66MciAYpHKEQi5Ns3dIk,11853
515
516
  omlish/marshal/errors.py,sha256=g5XJyTHd__8lfwQ4KwgK-E5WR6MoNTMrqKP2U_QRQQQ,307
516
517
  omlish/marshal/factories.py,sha256=Q926jSVjaQLEmStnHLhm_c_vqEysN1LnDCwAsFLIzXw,2970
517
- omlish/marshal/global_.py,sha256=vNLpwQVt7Nn9sA5bBh7c_JYcUu9-1CLyENq1zBH-rcM,1510
518
+ omlish/marshal/globals.py,sha256=vNLpwQVt7Nn9sA5bBh7c_JYcUu9-1CLyENq1zBH-rcM,1510
518
519
  omlish/marshal/naming.py,sha256=ELs-NtWhw6RCSEF_y98cMyzr37pj0DV_bG9yQmto_NA,857
519
520
  omlish/marshal/proxy.py,sha256=i7xZQN6BSGz4nBM4CTj0S6RcSlDEgrZmX9fbtFpAPco,548
520
521
  omlish/marshal/registries.py,sha256=5YtvjYDw8Wu7uigCzlrVzC1pHajoNFZtN2dFNmKrbTI,2358
@@ -895,9 +896,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
895
896
  omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
896
897
  omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
897
898
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
898
- omlish-0.0.0.dev393.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
899
- omlish-0.0.0.dev393.dist-info/METADATA,sha256=siHQt0dS0bqBCCqnpqhdYepmt0xzBPGtMcJ3GNXPZAw,18825
900
- omlish-0.0.0.dev393.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
901
- omlish-0.0.0.dev393.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
902
- omlish-0.0.0.dev393.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
903
- omlish-0.0.0.dev393.dist-info/RECORD,,
899
+ omlish-0.0.0.dev394.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
900
+ omlish-0.0.0.dev394.dist-info/METADATA,sha256=-8kg1tH7Gm7abGeeTIeCo69covgUeUmIKxmo7RTaUsk,18825
901
+ omlish-0.0.0.dev394.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
902
+ omlish-0.0.0.dev394.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
903
+ omlish-0.0.0.dev394.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
904
+ omlish-0.0.0.dev394.dist-info/RECORD,,
File without changes