omlish 0.0.0.dev455__py3-none-any.whl → 0.0.0.dev457__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 +2 -2
- omlish/lang/__init__.py +7 -1
- omlish/lang/iterables.py +0 -8
- omlish/lang/sequences.py +124 -0
- omlish/marshal/__init__.py +2 -0
- omlish/marshal/base/configs.py +12 -0
- omlish/marshal/base/contexts.py +7 -7
- omlish/marshal/base/registries.py +32 -4
- omlish/marshal/base/types.py +4 -4
- omlish/marshal/factories/moduleimport/factories.py +2 -2
- omlish/marshal/factories/typecache.py +14 -2
- {omlish-0.0.0.dev455.dist-info → omlish-0.0.0.dev457.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev455.dist-info → omlish-0.0.0.dev457.dist-info}/RECORD +17 -16
- {omlish-0.0.0.dev455.dist-info → omlish-0.0.0.dev457.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev455.dist-info → omlish-0.0.0.dev457.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev455.dist-info → omlish-0.0.0.dev457.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev455.dist-info → omlish-0.0.0.dev457.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
omlish/lang/__init__.py
CHANGED
@@ -334,7 +334,6 @@ with _auto_proxy_init(globals(), update_exports=True):
|
|
334
334
|
ilen,
|
335
335
|
take,
|
336
336
|
consume,
|
337
|
-
iterfrom,
|
338
337
|
peek,
|
339
338
|
chunk,
|
340
339
|
interleave,
|
@@ -454,6 +453,13 @@ with _auto_proxy_init(globals(), update_exports=True):
|
|
454
453
|
get_relative_resources,
|
455
454
|
)
|
456
455
|
|
456
|
+
from .sequences import ( # noqa
|
457
|
+
iterslice,
|
458
|
+
iterrange,
|
459
|
+
|
460
|
+
SeqView,
|
461
|
+
)
|
462
|
+
|
457
463
|
from .strings import ( # noqa
|
458
464
|
prefix_delimited,
|
459
465
|
prefix_lines,
|
omlish/lang/iterables.py
CHANGED
@@ -26,14 +26,6 @@ def consume(it: ta.Iterable[ta.Any]) -> None:
|
|
26
26
|
collections.deque(it, maxlen=0)
|
27
27
|
|
28
28
|
|
29
|
-
def iterfrom(seq: ta.Sequence[T], start: int = 0, stop: int | None = None) -> ta.Iterator[T]:
|
30
|
-
if start < 0:
|
31
|
-
start += len(seq)
|
32
|
-
if stop is None:
|
33
|
-
stop = len(seq)
|
34
|
-
return map(seq.__getitem__, range(start, stop))
|
35
|
-
|
36
|
-
|
37
29
|
def peek(vs: ta.Iterable[T]) -> tuple[T, ta.Iterator[T]]:
|
38
30
|
it = iter(vs)
|
39
31
|
v = next(it)
|
omlish/lang/sequences.py
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
"""
|
2
|
+
TODO:
|
3
|
+
- StrView, BytesView - in lieu of hkt lol
|
4
|
+
- cext? even necessary?
|
5
|
+
- __eq__, cmp, __hash__
|
6
|
+
- __buffer__
|
7
|
+
- optimize `slice(None)`, keep as SeqView but fast path ops
|
8
|
+
- shorter repr if __len__ > some threshold
|
9
|
+
- use materialize()?
|
10
|
+
"""
|
11
|
+
import typing as ta
|
12
|
+
|
13
|
+
|
14
|
+
T = ta.TypeVar('T')
|
15
|
+
|
16
|
+
|
17
|
+
##
|
18
|
+
|
19
|
+
|
20
|
+
def iterslice(
|
21
|
+
seq: ta.Sequence[T],
|
22
|
+
slc: slice,
|
23
|
+
) -> ta.Iterator[T]:
|
24
|
+
return map(seq.__getitem__, range(*slc.indices(len(seq))))
|
25
|
+
|
26
|
+
|
27
|
+
def iterrange(
|
28
|
+
seq: ta.Sequence[T],
|
29
|
+
start: int | None = None,
|
30
|
+
stop: int | None = None,
|
31
|
+
step: int | None = None,
|
32
|
+
) -> ta.Iterator[T]:
|
33
|
+
return iterslice(seq, slice(start, stop, step))
|
34
|
+
|
35
|
+
|
36
|
+
##
|
37
|
+
|
38
|
+
|
39
|
+
@ta.final
|
40
|
+
class SeqView(ta.Sequence[T]):
|
41
|
+
def __init__(self, data: ta.Sequence[T], slice_: slice = slice(None)) -> None:
|
42
|
+
if data.__class__ is SeqView:
|
43
|
+
self._data = data._data # type: ignore[attr-defined] # noqa
|
44
|
+
self._range = data._range[slice_] # type: ignore[attr-defined] # noqa
|
45
|
+
else:
|
46
|
+
self._data = data
|
47
|
+
self._range = range(*slice_.indices(len(data)))
|
48
|
+
|
49
|
+
def __init_subclass__(cls, **kwargs):
|
50
|
+
raise TypeError
|
51
|
+
|
52
|
+
_data: ta.Sequence[T]
|
53
|
+
_range: range
|
54
|
+
|
55
|
+
@classmethod
|
56
|
+
def _from_range(cls, base: ta.Sequence[T], rng: range) -> 'SeqView[T]':
|
57
|
+
self = object.__new__(cls)
|
58
|
+
self._data = base
|
59
|
+
self._range = rng
|
60
|
+
return self
|
61
|
+
|
62
|
+
def __repr__(self) -> str:
|
63
|
+
return f'{self.__class__.__name__}({self._data!r}, {self.slice!r})'
|
64
|
+
|
65
|
+
#
|
66
|
+
|
67
|
+
def __len__(self) -> int:
|
68
|
+
return len(self._range)
|
69
|
+
|
70
|
+
def __getitem__(self, key: int | slice) -> ta.Union[T, 'SeqView[T]']: # type: ignore[override]
|
71
|
+
if isinstance(key, slice):
|
72
|
+
nr = self._range[key]
|
73
|
+
return SeqView._from_range(self._data, nr)
|
74
|
+
return self._data[self._range[key]]
|
75
|
+
|
76
|
+
def __iter__(self) -> ta.Iterator[T]:
|
77
|
+
return map(self._data.__getitem__, self._range)
|
78
|
+
|
79
|
+
def __reversed__(self) -> ta.Iterator[T]:
|
80
|
+
return map(self._data.__getitem__, reversed(self._range))
|
81
|
+
|
82
|
+
def count(self, value: ta.Any) -> int:
|
83
|
+
c = 0
|
84
|
+
for i in self._range:
|
85
|
+
if self._data[i] == value:
|
86
|
+
c += 1
|
87
|
+
return c
|
88
|
+
|
89
|
+
def index(self, value: ta.Any, start: int = 0, stop: int | None = None) -> int:
|
90
|
+
sub = self._range[slice(start, stop, 1)]
|
91
|
+
for off, i in enumerate(sub):
|
92
|
+
if self._data[i] == value:
|
93
|
+
return off
|
94
|
+
raise ValueError(f'{value!r} is not in view')
|
95
|
+
|
96
|
+
#
|
97
|
+
|
98
|
+
@property
|
99
|
+
def data(self) -> ta.Sequence[T]:
|
100
|
+
return self._data
|
101
|
+
|
102
|
+
_slice: slice
|
103
|
+
|
104
|
+
@property
|
105
|
+
def slice(self) -> slice:
|
106
|
+
try:
|
107
|
+
return self._slice
|
108
|
+
except AttributeError:
|
109
|
+
pass
|
110
|
+
|
111
|
+
step = self._range.step
|
112
|
+
start = self._range.start
|
113
|
+
if len(self._range) == 0:
|
114
|
+
stop = start
|
115
|
+
else:
|
116
|
+
last = start + (len(self._range) - 1) * step
|
117
|
+
stop = last + (1 if step > 0 else -1)
|
118
|
+
slc = slice(start, stop, step)
|
119
|
+
|
120
|
+
self._slice = slc
|
121
|
+
return slc
|
122
|
+
|
123
|
+
def materialize(self) -> ta.Sequence[T]:
|
124
|
+
return self._data[self.slice]
|
omlish/marshal/__init__.py
CHANGED
omlish/marshal/base/configs.py
CHANGED
@@ -3,6 +3,10 @@ import typing as ta
|
|
3
3
|
from ... import lang
|
4
4
|
from .registries import Registry
|
5
5
|
from .registries import RegistryItem
|
6
|
+
from .registries import RegistryView
|
7
|
+
|
8
|
+
|
9
|
+
ConfigT = ta.TypeVar('ConfigT', bound='Config')
|
6
10
|
|
7
11
|
|
8
12
|
##
|
@@ -12,7 +16,15 @@ class Config(RegistryItem, lang.Abstract):
|
|
12
16
|
pass
|
13
17
|
|
14
18
|
|
19
|
+
Configs: ta.TypeAlias = RegistryView[Config]
|
20
|
+
|
21
|
+
|
22
|
+
##
|
23
|
+
|
24
|
+
|
15
25
|
ConfigRegistry: ta.TypeAlias = Registry[Config]
|
16
26
|
|
27
|
+
lang.static_check_issubclass[Configs](ConfigRegistry)
|
28
|
+
|
17
29
|
|
18
30
|
EMPTY_CONFIG_REGISTRY = ConfigRegistry().seal()
|
omlish/marshal/base/contexts.py
CHANGED
@@ -6,7 +6,7 @@ from ... import collections as col
|
|
6
6
|
from ... import lang
|
7
7
|
from ... import reflect as rfl
|
8
8
|
from .configs import EMPTY_CONFIG_REGISTRY
|
9
|
-
from .configs import
|
9
|
+
from .configs import Configs
|
10
10
|
from .errors import UnhandledTypeError
|
11
11
|
from .options import Option
|
12
12
|
from .overrides import ReflectOverride
|
@@ -28,12 +28,12 @@ T = ta.TypeVar('T')
|
|
28
28
|
|
29
29
|
@dc.dataclass(frozen=True, kw_only=True)
|
30
30
|
class BaseContext(lang.Abstract, lang.Sealed):
|
31
|
-
|
31
|
+
configs: Configs = EMPTY_CONFIG_REGISTRY
|
32
32
|
options: col.TypeMap[Option] = col.TypeMap()
|
33
33
|
|
34
34
|
def _reflect(self, o: ta.Any) -> rfl.Type:
|
35
35
|
def override(o):
|
36
|
-
if (ovr := self.
|
36
|
+
if (ovr := self.configs.get_of(o, ReflectOverride)):
|
37
37
|
return ovr[-1].rty
|
38
38
|
return None
|
39
39
|
|
@@ -50,9 +50,9 @@ class MarshalFactoryContext(BaseContext, lang.Final):
|
|
50
50
|
def make_marshaler(self, o: ta.Any) -> 'Marshaler':
|
51
51
|
rty = self._reflect(o)
|
52
52
|
fac = check.not_none(self.marshaler_factory)
|
53
|
-
if (
|
53
|
+
if (m := fac.make_marshaler(self, rty)) is None:
|
54
54
|
raise UnhandledTypeError(rty) # noqa
|
55
|
-
return
|
55
|
+
return m()
|
56
56
|
|
57
57
|
|
58
58
|
@dc.dataclass(frozen=True, kw_only=True)
|
@@ -62,9 +62,9 @@ class UnmarshalFactoryContext(BaseContext, lang.Final):
|
|
62
62
|
def make_unmarshaler(self, o: ta.Any) -> 'Unmarshaler':
|
63
63
|
rty = self._reflect(o)
|
64
64
|
fac = check.not_none(self.unmarshaler_factory)
|
65
|
-
if (
|
65
|
+
if (m := fac.make_unmarshaler(self, rty)) is None:
|
66
66
|
raise UnhandledTypeError(rty) # noqa
|
67
|
-
return
|
67
|
+
return m()
|
68
68
|
|
69
69
|
|
70
70
|
#
|
@@ -3,6 +3,7 @@ TODO:
|
|
3
3
|
- col.TypeMap?
|
4
4
|
- at least get_any
|
5
5
|
"""
|
6
|
+
import abc
|
6
7
|
import dataclasses as dc
|
7
8
|
import threading
|
8
9
|
import typing as ta
|
@@ -21,11 +22,38 @@ RegistryItemT = ta.TypeVar('RegistryItemT', bound=RegistryItem)
|
|
21
22
|
RegistryItemU = ta.TypeVar('RegistryItemU', bound=RegistryItem)
|
22
23
|
|
23
24
|
|
25
|
+
##
|
26
|
+
|
27
|
+
|
28
|
+
class RegistryView(lang.Abstract, ta.Generic[RegistryItemT]):
|
29
|
+
@abc.abstractmethod
|
30
|
+
def get(
|
31
|
+
self,
|
32
|
+
key: ta.Any,
|
33
|
+
*,
|
34
|
+
identity: bool | None = None,
|
35
|
+
) -> ta.Sequence[RegistryItemT]:
|
36
|
+
...
|
37
|
+
|
38
|
+
@abc.abstractmethod
|
39
|
+
def get_of(
|
40
|
+
self,
|
41
|
+
key: ta.Any,
|
42
|
+
item_ty: type[RegistryItemU],
|
43
|
+
*,
|
44
|
+
identity: bool | None = None,
|
45
|
+
) -> ta.Sequence[RegistryItemU]:
|
46
|
+
...
|
47
|
+
|
48
|
+
|
49
|
+
##
|
50
|
+
|
51
|
+
|
24
52
|
class RegistrySealedError(Exception):
|
25
53
|
pass
|
26
54
|
|
27
55
|
|
28
|
-
class Registry(
|
56
|
+
class Registry(RegistryView[RegistryItemT]):
|
29
57
|
def __init__(
|
30
58
|
self,
|
31
59
|
*,
|
@@ -203,8 +231,8 @@ class Registry(ta.Generic[RegistryItemT]):
|
|
203
231
|
key: ta.Any,
|
204
232
|
*,
|
205
233
|
identity: bool | None = None,
|
206
|
-
) -> ta.Sequence[
|
207
|
-
return self._state.get(key, identity=identity)
|
234
|
+
) -> ta.Sequence[RegistryItemT]:
|
235
|
+
return self._state.get(key, identity=identity) # type: ignore [return-value]
|
208
236
|
|
209
237
|
def get_of(
|
210
238
|
self,
|
@@ -213,4 +241,4 @@ class Registry(ta.Generic[RegistryItemT]):
|
|
213
241
|
*,
|
214
242
|
identity: bool | None = None,
|
215
243
|
) -> ta.Sequence[RegistryItemU]:
|
216
|
-
return self._state.get_of(key, item_ty, identity=identity) # type: ignore[return-value]
|
244
|
+
return self._state.get_of(key, item_ty, identity=identity) # type: ignore [return-value]
|
omlish/marshal/base/types.py
CHANGED
@@ -69,13 +69,13 @@ class Marshaling(lang.Abstract):
|
|
69
69
|
|
70
70
|
def new_marshal_factory_context(self) -> MarshalFactoryContext:
|
71
71
|
return MarshalFactoryContext(
|
72
|
-
|
72
|
+
configs=self.config_registry(),
|
73
73
|
marshaler_factory=self.marshaler_factory(),
|
74
74
|
)
|
75
75
|
|
76
76
|
def new_unmarshal_factory_context(self) -> UnmarshalFactoryContext:
|
77
77
|
return UnmarshalFactoryContext(
|
78
|
-
|
78
|
+
configs=self.config_registry(),
|
79
79
|
unmarshaler_factory=self.unmarshaler_factory(),
|
80
80
|
)
|
81
81
|
|
@@ -83,13 +83,13 @@ class Marshaling(lang.Abstract):
|
|
83
83
|
|
84
84
|
def new_marshal_context(self) -> MarshalContext:
|
85
85
|
return MarshalContext(
|
86
|
-
|
86
|
+
configs=self.config_registry(),
|
87
87
|
marshal_factory_context=self.new_marshal_factory_context(),
|
88
88
|
)
|
89
89
|
|
90
90
|
def new_unmarshal_context(self) -> UnmarshalContext:
|
91
91
|
return UnmarshalContext(
|
92
|
-
|
92
|
+
configs=self.config_registry(),
|
93
93
|
unmarshal_factory_context=self.new_unmarshal_factory_context(),
|
94
94
|
)
|
95
95
|
|
@@ -52,9 +52,9 @@ class _ModuleImportingFactory(ta.Generic[FactoryT]):
|
|
52
52
|
self._callback()
|
53
53
|
|
54
54
|
def _import_if_necessary(self, ctx: BaseContext) -> None:
|
55
|
-
if (mis := ctx.
|
55
|
+
if (mis := ctx.configs.get_of(None, ModuleImport)) and mis is not self._last_mis:
|
56
56
|
with self._lock:
|
57
|
-
if (mis := ctx.
|
57
|
+
if (mis := ctx.configs.get_of(None, ModuleImport)) and mis is not self._last_mis:
|
58
58
|
self._do_import(ctx, mis)
|
59
59
|
self._last_mis = mis
|
60
60
|
|
@@ -40,8 +40,20 @@ class _TypeCacheFactory(ta.Generic[FactoryT]):
|
|
40
40
|
except KeyError:
|
41
41
|
pass
|
42
42
|
|
43
|
-
m
|
44
|
-
|
43
|
+
if (m := dfl()) is None:
|
44
|
+
self._dct[rty] = None
|
45
|
+
return None
|
46
|
+
|
47
|
+
x = None
|
48
|
+
|
49
|
+
def inner():
|
50
|
+
nonlocal x
|
51
|
+
if x is None:
|
52
|
+
x = m()
|
53
|
+
return x
|
54
|
+
|
55
|
+
self._dct[rty] = inner
|
56
|
+
return inner
|
45
57
|
|
46
58
|
|
47
59
|
class TypeCacheMarshalerFactory(_TypeCacheFactory[MarshalerFactory], MarshalerFactory):
|
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.omlish-manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=7wUq7VUXvYMZngckEy8GopODX5t4PieoLpMrovKdKsI,3613
|
3
3
|
omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
|
4
4
|
omlish/c3.py,sha256=ZNIMl1kwg3qdei4DiUrJPQe5M81S1e76N-GuNSwLBAE,8683
|
5
5
|
omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
|
@@ -410,7 +410,7 @@ omlish/iterators/recipes.py,sha256=wOwOZg-zWG9Zc3wcAxJFSe2rtavVBYwZOfG09qYEx_4,4
|
|
410
410
|
omlish/iterators/tools.py,sha256=M16LXrJhMdsz5ea2qH0vws30ZvhQuQSCVFSLpRf_gTg,2096
|
411
411
|
omlish/iterators/transforms.py,sha256=YHVdD9nBkS1k4kogi4Ba0UOTU_pKkuX9jGw1Tqj3UMw,3598
|
412
412
|
omlish/iterators/unique.py,sha256=BSE-eanva8byFCJi09Nt2zzTsVr8LnTqY1PIInGYRs0,1396
|
413
|
-
omlish/lang/__init__.py,sha256=
|
413
|
+
omlish/lang/__init__.py,sha256=cu35SEtPGFFKOrttPsD__wjnefZrue-upqpw01ml50c,10802
|
414
414
|
omlish/lang/asyncs.py,sha256=iIHJp7nvgJVj7zS0Ji7NsVSzz54vkzrj0Snc83dxe9g,1965
|
415
415
|
omlish/lang/attrstorage.py,sha256=UUnoENCMQF3twBfxBcIKa5mpXsAxWnNYDayhU8xgmpU,5224
|
416
416
|
omlish/lang/casing.py,sha256=3_c7cxQOc4z_YezaU2B4NCTAsPh_kDL4wUTK5kZU6kg,4675
|
@@ -424,7 +424,7 @@ omlish/lang/enums.py,sha256=F9tflHfaAoV2MpyuhZzpfX9-H55M3zNa9hCszsngEo8,111
|
|
424
424
|
omlish/lang/errors.py,sha256=shcS-NCnEUudF8qC_SmO2TQyjivKlS4TDjaz_faqQ0c,44
|
425
425
|
omlish/lang/functions.py,sha256=tZL7Yi5Oy34lvzP6HhWmV5q1eg5-mk3FrWEjsmhKRhY,5707
|
426
426
|
omlish/lang/generators.py,sha256=nJiSmDpsfPiypGzJ8qlOO7-BUnCsrAeDow9mhtGgBio,5196
|
427
|
-
omlish/lang/iterables.py,sha256=
|
427
|
+
omlish/lang/iterables.py,sha256=o_s8ouaJrdUqEVl2_bzJk5CVdabmrywXY0gPn7xss3w,3371
|
428
428
|
omlish/lang/lazyglobals.py,sha256=YfPtWgNEa0ULtbIiQIQ12pbafUwd6INQRw_PFcAabjo,2282
|
429
429
|
omlish/lang/maybes.py,sha256=8GUpqJvyx9y5PQBQBBx6yTSE5WKsMbXMHPt4_vojKUw,209
|
430
430
|
omlish/lang/maysync.py,sha256=S2Q_rGC4AxRa1UsGJdSzZsYpgOcX9Y8ZmYGA9v8OWn8,1635
|
@@ -435,6 +435,7 @@ omlish/lang/params.py,sha256=sfbNoGrKCsAtubFufj_uh_WKshIgA8fqJ4PmLH1PH00,6639
|
|
435
435
|
omlish/lang/recursion.py,sha256=1VfSqzKO-8Is3t9LKw0W4jwPfE0aBS70EUlbUxAx4eE,1900
|
436
436
|
omlish/lang/resolving.py,sha256=nMosn-rcYjI8t6b35oICDyPw6t6-HvWj5jMdkfn1jfA,1612
|
437
437
|
omlish/lang/resources.py,sha256=awfh33Uxkd9Ho-5Z3d9CPWQE3gjktV0XWM6XbdG0ejA,2845
|
438
|
+
omlish/lang/sequences.py,sha256=OJ5hdgjvgzOgsb0Bg8vGrwPyef4gkRPp-Bz21sc9_iE,3185
|
438
439
|
omlish/lang/strings.py,sha256=TY-v0iGu6BxEKb99YS-VmIJqc-sTAqMv7mCDJQALMnI,4550
|
439
440
|
omlish/lang/sys.py,sha256=KPe1UOXk1VxlOYt_aLmhN0KqsA4wnP-4nm4WEwO49pw,411
|
440
441
|
omlish/lang/typing.py,sha256=ZN4t8oGSSknf_T1HbfqVQ7Y9OOZ1RkikYihNxdBlTFQ,3733
|
@@ -527,19 +528,19 @@ omlish/manifests/globals.py,sha256=kVqQ-fT4kc7xWzLHoI731GviitFPv2v2yqw-p7t7Exs,2
|
|
527
528
|
omlish/manifests/loading.py,sha256=s6KnhdFQCsI2i0Rus1sMU0so2v8dUBnk59BJkSnxGt8,17514
|
528
529
|
omlish/manifests/static.py,sha256=9BaPBLkuzxHmg5A-5k9BjjBFINCdmFOIu06dMFgCfz4,497
|
529
530
|
omlish/manifests/types.py,sha256=NeOGuIVrcbqjCDbQ3MnCxxHAgHnw0CkWJsBzo230PWE,453
|
530
|
-
omlish/marshal/__init__.py,sha256=
|
531
|
+
omlish/marshal/__init__.py,sha256=zmNQNAla57SbwjW7iz74nmEIvrnx8Dp6k5qvqwCeAHM,6548
|
531
532
|
omlish/marshal/globals.py,sha256=Q6G18hcUwUDDNnpyRPnR5Tn_XZpZCSIEXo09nYSOaNU,2236
|
532
533
|
omlish/marshal/naming.py,sha256=Mk5YrbES836_KflNNRoc5Ajd96iMYLQIMERKx1KpT4g,865
|
533
534
|
omlish/marshal/standard.py,sha256=8Qy5L3qMHO-V_fu78tM62wMcGpF0kgrFrxn06IRbFXQ,6906
|
534
535
|
omlish/marshal/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
535
|
-
omlish/marshal/base/configs.py,sha256=
|
536
|
-
omlish/marshal/base/contexts.py,sha256=
|
536
|
+
omlish/marshal/base/configs.py,sha256=BNXmjDae5FgoYrjUnveY2xmMRukqWxH5KVK-VfL5GUE,465
|
537
|
+
omlish/marshal/base/contexts.py,sha256=KctfYThR_MN8HHDezQEmCW14WT24DvsdmzzhBeLj-3A,2645
|
537
538
|
omlish/marshal/base/errors.py,sha256=jmN3vl_U_hB6L0wAvuO7ORG27vXF7KEUk-1TxxK2mYA,308
|
538
539
|
omlish/marshal/base/funcs.py,sha256=UIlVHZ_vARJ8MNKsR6n5x5GnFQQ7Z0MaIZKYxHMsZaQ,1470
|
539
540
|
omlish/marshal/base/options.py,sha256=Yuk4VDeKw9N26wSHda9_mMWj1hdgQTnenJ6hPYfrFts,235
|
540
541
|
omlish/marshal/base/overrides.py,sha256=543hP4_y2JRThUOamCE0dPfgucbepVV8e_YF-_PJk6U,993
|
541
|
-
omlish/marshal/base/registries.py,sha256=
|
542
|
-
omlish/marshal/base/types.py,sha256=
|
542
|
+
omlish/marshal/base/registries.py,sha256=dl4AyOXI-_HN4TKLwj48tdAgkgH9oZo-rBBb-P-F7t8,6441
|
543
|
+
omlish/marshal/base/types.py,sha256=4GU0T842oIfOYKOif25IVn5vVqWzXPtlYHRahdVgbjs,3561
|
543
544
|
omlish/marshal/base/values.py,sha256=QF6OateG5kjRPHYza08wscThhg20oryf-aVQrxjfkC0,212
|
544
545
|
omlish/marshal/composite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
545
546
|
omlish/marshal/composite/iterables.py,sha256=zswx4nmYPWNu1Ht7myjNwy_q5a4Sq-hH7Ky7rIYBqv4,3148
|
@@ -558,11 +559,11 @@ omlish/marshal/factories/invalidate.py,sha256=qoI5BI6tsTmrZc1ahz5c_YjMpHKzlc0Fo-
|
|
558
559
|
omlish/marshal/factories/method.py,sha256=Uk92_AGnEdH5P4CrebuFWPhONDk4ydteW7hSRfI6ZtI,884
|
559
560
|
omlish/marshal/factories/multi.py,sha256=IbsUbzPiIho55CzZtPQk2ub9eAdvwoFy2Q8XliBaK5o,1279
|
560
561
|
omlish/marshal/factories/recursive.py,sha256=spoPD0w7kyq3tiXFxlNSh2SYCFrPNzM6zPm3234sEHI,2984
|
561
|
-
omlish/marshal/factories/typecache.py,sha256=
|
562
|
+
omlish/marshal/factories/typecache.py,sha256=Tn1VJXkxLnRZhCkQFj8n4rkLGbyBNTsu1ZlnikAk6F8,1860
|
562
563
|
omlish/marshal/factories/typemap.py,sha256=-Dl3Z-MvssSP_oPj3i32_72A9nSHNM1HtpTuys7tDHg,1995
|
563
564
|
omlish/marshal/factories/moduleimport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
564
565
|
omlish/marshal/factories/moduleimport/configs.py,sha256=8g6FSPmyo0IOYSWYp5kqfJACZxL9SvzlHzrSzucNZyg,538
|
565
|
-
omlish/marshal/factories/moduleimport/factories.py,sha256=
|
566
|
+
omlish/marshal/factories/moduleimport/factories.py,sha256=Y-K7l6lhU1oFXWP83qnPU1Qp4jGp3eEDRERHuK-1nOE,2388
|
566
567
|
omlish/marshal/objects/__init__.py,sha256=F4wej8L_tedC8ETYxAnmKfdPR9TjsqIus9Z3nZofYuc,182
|
567
568
|
omlish/marshal/objects/dataclasses.py,sha256=wQ6s7z6zuoPJfUN4TqQSeDjxj0MzUJyH4vwYORnrxUY,10431
|
568
569
|
omlish/marshal/objects/helpers.py,sha256=hj5I1pILt3QFSVkYJNrSO3wiCaalAopEYWPL17Ip4zs,1102
|
@@ -825,9 +826,9 @@ omlish/typedvalues/marshal.py,sha256=2xqX6JllhtGpmeYkU7C-qzgU__0x-vd6CzYbAsocQlc
|
|
825
826
|
omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
|
826
827
|
omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
|
827
828
|
omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
|
828
|
-
omlish-0.0.0.
|
829
|
-
omlish-0.0.0.
|
830
|
-
omlish-0.0.0.
|
831
|
-
omlish-0.0.0.
|
832
|
-
omlish-0.0.0.
|
833
|
-
omlish-0.0.0.
|
829
|
+
omlish-0.0.0.dev457.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
830
|
+
omlish-0.0.0.dev457.dist-info/METADATA,sha256=h9XOPiW_Qp1WAj_ufmcGrj-r6mDLA89_nNzZJPP52W8,19003
|
831
|
+
omlish-0.0.0.dev457.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
832
|
+
omlish-0.0.0.dev457.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
833
|
+
omlish-0.0.0.dev457.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
834
|
+
omlish-0.0.0.dev457.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|