omlish 0.0.0.dev415__py3-none-any.whl → 0.0.0.dev416__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/dataclasses/__init__.py +5 -1
- omlish/lang/__init__.py +486 -473
- omlish/lang/imports/proxyinit.py +161 -48
- omlish/lang/maybes.py +8 -0
- omlish/marshal/__init__.py +4 -4
- omlish/marshal/base/contexts.py +17 -14
- omlish/marshal/base/overrides.py +17 -8
- omlish/marshal/base/registries.py +8 -2
- omlish/marshal/base/types.py +59 -7
- omlish/marshal/globals.py +30 -20
- omlish/reflect/__init__.py +57 -47
- omlish/reflect/types.py +144 -15
- {omlish-0.0.0.dev415.dist-info → omlish-0.0.0.dev416.dist-info}/METADATA +14 -9
- {omlish-0.0.0.dev415.dist-info → omlish-0.0.0.dev416.dist-info}/RECORD +19 -18
- {omlish-0.0.0.dev415.dist-info → omlish-0.0.0.dev416.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev415.dist-info → omlish-0.0.0.dev416.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev415.dist-info → omlish-0.0.0.dev416.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev415.dist-info → omlish-0.0.0.dev416.dist-info}/top_level.txt +0 -0
omlish/reflect/__init__.py
CHANGED
@@ -1,50 +1,60 @@
|
|
1
|
-
from
|
2
|
-
get_annotations,
|
3
|
-
get_filtered_type_hints,
|
4
|
-
has_annotations,
|
5
|
-
)
|
1
|
+
from .. import lang as _lang
|
6
2
|
|
7
|
-
from .ops import ( # noqa
|
8
|
-
get_concrete_type,
|
9
|
-
get_underlying,
|
10
|
-
strip_annotations,
|
11
|
-
strip_objs,
|
12
|
-
to_annotation,
|
13
|
-
types_equivalent,
|
14
|
-
)
|
15
3
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
get_type_var_replacements,
|
23
|
-
replace_type_vars,
|
24
|
-
)
|
4
|
+
with _lang.auto_proxy_init(
|
5
|
+
globals(),
|
6
|
+
update_exports=True,
|
7
|
+
# eager=True,
|
8
|
+
):
|
9
|
+
##
|
25
10
|
|
26
|
-
from .
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
11
|
+
from .inspect import ( # noqa
|
12
|
+
get_annotations,
|
13
|
+
get_filtered_type_hints,
|
14
|
+
has_annotations,
|
15
|
+
)
|
16
|
+
|
17
|
+
from .ops import ( # noqa
|
18
|
+
get_concrete_type,
|
19
|
+
get_underlying,
|
20
|
+
strip_annotations,
|
21
|
+
strip_objs,
|
22
|
+
to_annotation,
|
23
|
+
types_equivalent,
|
24
|
+
)
|
25
|
+
|
26
|
+
from .subst import ( # noqa
|
27
|
+
ALIAS_UPDATING_GENERIC_SUBSTITUTION,
|
28
|
+
DEFAULT_GENERIC_SUBSTITUTION,
|
29
|
+
GenericSubstitution,
|
30
|
+
generic_mro,
|
31
|
+
get_generic_bases,
|
32
|
+
get_type_var_replacements,
|
33
|
+
replace_type_vars,
|
34
|
+
)
|
35
|
+
|
36
|
+
from .types import ( # noqa
|
37
|
+
ANY,
|
38
|
+
Annotated,
|
39
|
+
Any,
|
40
|
+
DEFAULT_REFLECTOR,
|
41
|
+
Generic,
|
42
|
+
GenericLike,
|
43
|
+
Literal,
|
44
|
+
NewType,
|
45
|
+
Protocol,
|
46
|
+
ReflectTypeError,
|
47
|
+
Reflector,
|
48
|
+
TYPES,
|
49
|
+
Type,
|
50
|
+
TypeInfo,
|
51
|
+
Union,
|
52
|
+
get_newtype_supertype,
|
53
|
+
get_orig_bases,
|
54
|
+
get_orig_class,
|
55
|
+
get_params,
|
56
|
+
get_type_var_bound,
|
57
|
+
is_type,
|
58
|
+
is_union_type,
|
59
|
+
type_,
|
60
|
+
)
|
omlish/reflect/types.py
CHANGED
@@ -18,6 +18,7 @@ TODO:
|
|
18
18
|
"""
|
19
19
|
import abc
|
20
20
|
import dataclasses as dc
|
21
|
+
import threading
|
21
22
|
import types
|
22
23
|
import typing as ta
|
23
24
|
|
@@ -56,21 +57,149 @@ class _Special:
|
|
56
57
|
origin: type
|
57
58
|
nparams: int
|
58
59
|
|
60
|
+
@classmethod
|
61
|
+
def from_alias(cls, sa: _SpecialGenericAlias) -> '_Special': # type: ignore
|
62
|
+
return cls(
|
63
|
+
sa._name, # type: ignore # noqa
|
64
|
+
sa,
|
65
|
+
sa.__origin__, # type: ignore
|
66
|
+
sa._nparams, # type: ignore # noqa
|
67
|
+
)
|
59
68
|
|
60
|
-
_KNOWN_SPECIALS = [
|
61
|
-
_Special(
|
62
|
-
v._name, # noqa
|
63
|
-
v,
|
64
|
-
v.__origin__,
|
65
|
-
v._nparams, # noqa
|
66
|
-
)
|
67
|
-
for v in ta.__dict__.values() # noqa
|
68
|
-
if isinstance(v, _SpecialGenericAlias)
|
69
|
-
]
|
70
69
|
|
71
|
-
|
72
|
-
|
73
|
-
|
70
|
+
@dc.dataclass(frozen=True)
|
71
|
+
class _LazySpecial:
|
72
|
+
name: str
|
73
|
+
|
74
|
+
|
75
|
+
class _KnownSpecials:
|
76
|
+
def __init__(
|
77
|
+
self,
|
78
|
+
specials: ta.Iterable[_Special] = (),
|
79
|
+
lazy_specials: ta.Iterable[_LazySpecial] = (),
|
80
|
+
) -> None:
|
81
|
+
super().__init__()
|
82
|
+
|
83
|
+
self._lock = threading.RLock()
|
84
|
+
|
85
|
+
self._lst: list[_Special] = []
|
86
|
+
self._by_name: dict[str, _Special] = {}
|
87
|
+
self._by_alias: dict[_SpecialGenericAlias, _Special] = {} # type: ignore
|
88
|
+
self._by_origin: dict[type, _Special] = {}
|
89
|
+
|
90
|
+
self._lazies_by_name: dict[str, _LazySpecial] = {}
|
91
|
+
|
92
|
+
for sp in specials:
|
93
|
+
self._add(sp)
|
94
|
+
for lz in lazy_specials:
|
95
|
+
self._add_lazy(lz)
|
96
|
+
|
97
|
+
#
|
98
|
+
|
99
|
+
def _add(self, sp: _Special) -> None:
|
100
|
+
uds: list[tuple[ta.Any, ta.MutableMapping]] = [
|
101
|
+
(sp.name, self._by_name),
|
102
|
+
(sp.alias, self._by_alias),
|
103
|
+
(sp.origin, self._by_origin),
|
104
|
+
]
|
105
|
+
for k, dct in uds:
|
106
|
+
if k in dct:
|
107
|
+
raise KeyError(k)
|
108
|
+
|
109
|
+
if sp.name in self._lazies_by_name:
|
110
|
+
raise KeyError(sp.name)
|
111
|
+
|
112
|
+
self._lst.append(sp)
|
113
|
+
for k, dct in uds:
|
114
|
+
dct[k] = sp
|
115
|
+
|
116
|
+
def add(self, *specials: _Special) -> ta.Self:
|
117
|
+
with self._lock:
|
118
|
+
for sp in specials:
|
119
|
+
self._add(sp)
|
120
|
+
return self
|
121
|
+
|
122
|
+
#
|
123
|
+
|
124
|
+
def _add_lazy(self, lz: _LazySpecial) -> None:
|
125
|
+
if lz.name in self._lazies_by_name:
|
126
|
+
raise KeyError(lz.name)
|
127
|
+
if lz.name in self._by_name:
|
128
|
+
raise KeyError(lz.name)
|
129
|
+
|
130
|
+
self._lazies_by_name[lz.name] = lz
|
131
|
+
|
132
|
+
def add_lazy(self, *lazy_specials: _LazySpecial) -> ta.Self:
|
133
|
+
with self._lock:
|
134
|
+
for lz in lazy_specials:
|
135
|
+
self._add_lazy(lz)
|
136
|
+
return self
|
137
|
+
|
138
|
+
#
|
139
|
+
|
140
|
+
def _get_lazy_by_name(self, name: str) -> _Special | None:
|
141
|
+
if name not in self._lazies_by_name:
|
142
|
+
return None
|
143
|
+
|
144
|
+
with self._lock:
|
145
|
+
if (x := self._by_name.get(name)) is not None:
|
146
|
+
return x
|
147
|
+
|
148
|
+
if (lz := self._lazies_by_name.get(name)) is None:
|
149
|
+
return None
|
150
|
+
|
151
|
+
sa = getattr(ta, lz.name)
|
152
|
+
if not isinstance(sa, _SpecialGenericAlias):
|
153
|
+
raise TypeError(sa)
|
154
|
+
|
155
|
+
sp = _Special.from_alias(sa)
|
156
|
+
del self._lazies_by_name[lz.name]
|
157
|
+
self._add(sp)
|
158
|
+
|
159
|
+
return sp
|
160
|
+
|
161
|
+
def get_by_name(self, name: str) -> _Special | None:
|
162
|
+
try:
|
163
|
+
return self._by_name.get(name)
|
164
|
+
except KeyError:
|
165
|
+
pass
|
166
|
+
return self._get_lazy_by_name(name)
|
167
|
+
|
168
|
+
def get_by_alias(self, alias: _SpecialGenericAlias) -> _Special | None: # type: ignore
|
169
|
+
try:
|
170
|
+
return self._by_alias[alias]
|
171
|
+
except KeyError:
|
172
|
+
pass
|
173
|
+
return self._get_lazy_by_name(alias._name) # type: ignore # noqa
|
174
|
+
|
175
|
+
def get_by_origin(self, origin: type) -> _Special | None:
|
176
|
+
return self._by_origin.get(origin)
|
177
|
+
|
178
|
+
|
179
|
+
_KNOWN_SPECIALS = _KnownSpecials(
|
180
|
+
[
|
181
|
+
_Special.from_alias(v)
|
182
|
+
for v in ta.__dict__.values() # noqa
|
183
|
+
if isinstance(v, _SpecialGenericAlias)
|
184
|
+
],
|
185
|
+
[
|
186
|
+
_LazySpecial(n)
|
187
|
+
for n in [
|
188
|
+
# https://github.com/python/cpython/commit/e8be0c9c5a7c2327b3dd64009f45ee0682322dcb
|
189
|
+
'Pattern',
|
190
|
+
'Match',
|
191
|
+
'ContextManager',
|
192
|
+
'AsyncContextManager',
|
193
|
+
# https://github.com/python/cpython/commit/305be5fb1a1ece7f9651ae98053dbe79bf439aa4
|
194
|
+
'ForwardRef',
|
195
|
+
]
|
196
|
+
if n not in ta.__dict__
|
197
|
+
],
|
198
|
+
)
|
199
|
+
|
200
|
+
|
201
|
+
##
|
202
|
+
|
74
203
|
|
75
204
|
_MAX_KNOWN_SPECIAL_TYPE_VARS = 16
|
76
205
|
|
@@ -99,7 +228,7 @@ def get_params(obj: ta.Any) -> tuple[ta.TypeVar, ...]:
|
|
99
228
|
if issubclass(obj, ta.Generic): # type: ignore
|
100
229
|
return obj.__dict__.get('__parameters__', ()) # noqa
|
101
230
|
|
102
|
-
if (ks :=
|
231
|
+
if (ks := _KNOWN_SPECIALS.get_by_origin(obj)) is not None:
|
103
232
|
if (np := ks.nparams) < 0:
|
104
233
|
raise TypeError(obj)
|
105
234
|
return _KNOWN_SPECIAL_TYPE_VARS[:np]
|
@@ -442,7 +571,7 @@ class Reflector:
|
|
442
571
|
# Special Generic
|
443
572
|
|
444
573
|
if isinstance(obj, _SpecialGenericAlias):
|
445
|
-
if (ks :=
|
574
|
+
if (ks := _KNOWN_SPECIALS.get_by_alias(obj)) is not None:
|
446
575
|
if check_only:
|
447
576
|
return None
|
448
577
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: omlish
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev416
|
4
4
|
Summary: omlish
|
5
5
|
Author: wrmsr
|
6
6
|
License-Expression: BSD-3-Clause
|
@@ -109,7 +109,8 @@ Dynamic: license-file
|
|
109
109
|
|
110
110
|
# Overview
|
111
111
|
|
112
|
-
Core utilities and foundational code. It's relatively large but completely self-contained
|
112
|
+
Core utilities and foundational code. It's relatively large but completely self-contained, and has **no required
|
113
|
+
dependencies of any kind**.
|
113
114
|
|
114
115
|
# Notable packages
|
115
116
|
|
@@ -121,14 +122,18 @@ Core utilities and foundational code. It's relatively large but completely self-
|
|
121
122
|
- **[cached](https://github.com/wrmsr/omlish/blob/master/omlish/lang/cached)** - The standard `cached_function` /
|
122
123
|
`cached_property` tools, which are more capable than
|
123
124
|
[`functools.lru_cache`](https://docs.python.org/3/library/functools.html#functools.lru_cache).
|
124
|
-
- **[imports](https://github.com/wrmsr/omlish/blob/master/omlish/lang/imports.py)** - Import tools like
|
125
|
-
|
125
|
+
- **[imports](https://github.com/wrmsr/omlish/blob/master/omlish/lang/imports.py)** - Import tools like:
|
126
|
+
- `proxy_import` - For late-loaded imports.
|
127
|
+
- `proxy_init` - For late-loaded module globals.
|
128
|
+
- `auto_proxy_init` - For automatic late-loaded package exports.
|
126
129
|
- **[classes](https://github.com/wrmsr/omlish/blob/master/omlish/lang/classes)** - Class tools and bases, such as
|
127
130
|
`Abstract` (which checks at subclass definition not instantiation), `Sealed` / `PackageSealed`, and `Final`.
|
128
131
|
- **[maybes](https://github.com/wrmsr/omlish/blob/master/omlish/lite/maybes.py)** - A simple, nestable formalization
|
129
132
|
of the presence or absence of an object, as in [many](https://en.cppreference.com/w/cpp/utility/optional)
|
130
133
|
[other](https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html)
|
131
134
|
[languages](https://doc.rust-lang.org/std/option/).
|
135
|
+
- **[maysyncs](https://github.com/wrmsr/omlish/blob/master/omlish/lite/maysyncs.py)** - A lightweight means of sharing
|
136
|
+
code between sync and async contexts, eliminating the need for maintaining sync and async versions of functions.
|
132
137
|
|
133
138
|
- **[bootstrap](https://github.com/wrmsr/omlish/blob/master/omlish/bootstrap)** - A centralized, configurable,
|
134
139
|
all-in-one collection of various process-initialization minutiae like resource limiting, profiling, remote debugging,
|
@@ -224,12 +229,12 @@ Core utilities and foundational code. It's relatively large but completely self-
|
|
224
229
|
|
225
230
|
- **[sql](https://github.com/wrmsr/omlish/blob/master/omlish/sql)** - A collection of SQL utilities, including:
|
226
231
|
|
227
|
-
- **[alchemy](https://github.com/wrmsr/omlish/blob/master/omlish/sql/alchemy)** - SQLAlchemy utilities. The codebase
|
228
|
-
is moving away from SQLAlchemy however in favor of its own internal SQL api.
|
229
232
|
- **[api](https://github.com/wrmsr/omlish/blob/master/omlish/sql/api)** - An abstracted api for SQL interaction, with
|
230
233
|
support for dbapi compatible drivers (and a SQLAlchemy adapter).
|
231
234
|
- **[queries](https://github.com/wrmsr/omlish/blob/master/omlish/sql/queries)** - A SQL query builder with a fluent
|
232
235
|
interface.
|
236
|
+
- **[alchemy](https://github.com/wrmsr/omlish/blob/master/omlish/sql/alchemy)** - SQLAlchemy utilities. The codebase
|
237
|
+
is moving away from SQLAlchemy however in favor of its own internal SQL api.
|
233
238
|
|
234
239
|
- **[testing](https://github.com/wrmsr/omlish/blob/master/omlish/testing)** - Test - primarily pytest - helpers,
|
235
240
|
including:
|
@@ -279,15 +284,15 @@ Code written in this style has notable differences from standard code, including
|
|
279
284
|
|
280
285
|
# Dependencies
|
281
286
|
|
282
|
-
This library has no required dependencies of any kind, but there are
|
287
|
+
This library has no required dependencies of any kind, but there are some optional integrations - see
|
283
288
|
[`__about__.py`](https://github.com/wrmsr/omlish/blob/master/omlish/__about__.py) for a full list, but some specific
|
284
289
|
examples are:
|
285
290
|
|
291
|
+
- **asttokens / executing** - For getting runtime source representations of function call arguments, an optional
|
292
|
+
capability of [check](https://github.com/wrmsr/omlish/blob/master/omlish/check.py).
|
286
293
|
- **anyio** - While lite code must use only asyncio, non-trivial async standard code prefers to be written to anyio.
|
287
294
|
- **pytest** - What is used for all standard testing - as lite code has no dependencies of any kind its testing uses
|
288
295
|
stdlib's [unittest](https://docs.python.org/3/library/unittest.html).
|
289
|
-
- **asttokens / executing** - For getting runtime source representations of function call arguments, an optional
|
290
|
-
capability of [check](https://github.com/wrmsr/omlish/blob/master/omlish/check.py).
|
291
296
|
- **wrapt** - For (optionally-enabled) injector circular proxies.
|
292
297
|
- **greenlet** - For some gnarly stuff like the
|
293
298
|
[sync<->async bridge](https://github.com/wrmsr/omlish/blob/master/omlish/asyncs/bridge.py) and the
|
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=EjCF-wXGdYqFgAoxlZU8VG56ljmhUrK9lIx_c_loDxc,3568
|
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
|
@@ -135,7 +135,7 @@ omlish/daemons/services.py,sha256=laoUeJU7eVHuWl1062FBjPSD7jchOjhpYDc5FT2B3dM,34
|
|
135
135
|
omlish/daemons/spawning.py,sha256=psR73zOYjMKTqNpx1bMib8uU9wAZz62tw5TaWHrTdyY,5337
|
136
136
|
omlish/daemons/targets.py,sha256=00KmtlknMhQ5PyyVAhWl3rpeTMPym0GxvHHq6mYPZ7c,3051
|
137
137
|
omlish/daemons/waiting.py,sha256=RfgD1L33QQVbD2431dkKZGE4w6DUcGvYeRXXi8puAP4,1676
|
138
|
-
omlish/dataclasses/__init__.py,sha256=
|
138
|
+
omlish/dataclasses/__init__.py,sha256=Bi8vKuOAXGypBB13-N8zUCAHL5nrE-Hwbz-erE48kuc,3326
|
139
139
|
omlish/dataclasses/_internals.py,sha256=_THiziiIslUyYC98Y_tZd5aZgvEF3FAGkDSwzRfcDuo,3247
|
140
140
|
omlish/dataclasses/debug.py,sha256=giBiv6aXvX0IagwNCW64qBzNjfOFr3-VmgDy_KYlb-k,29
|
141
141
|
omlish/dataclasses/errors.py,sha256=tyv3WR6az66uGGiq9FIuCHvy1Ef-G7zeMY7mMG6hy2Y,2527
|
@@ -424,7 +424,7 @@ omlish/iterators/iterators.py,sha256=RxW35yQ5ed8vBQ22IqpDXFx-i5JiLQdp7-pkMZXhJJ8
|
|
424
424
|
omlish/iterators/recipes.py,sha256=wOwOZg-zWG9Zc3wcAxJFSe2rtavVBYwZOfG09qYEx_4,472
|
425
425
|
omlish/iterators/tools.py,sha256=M16LXrJhMdsz5ea2qH0vws30ZvhQuQSCVFSLpRf_gTg,2096
|
426
426
|
omlish/iterators/unique.py,sha256=BSE-eanva8byFCJi09Nt2zzTsVr8LnTqY1PIInGYRs0,1396
|
427
|
-
omlish/lang/__init__.py,sha256=
|
427
|
+
omlish/lang/__init__.py,sha256=dyVY_3Scl1EWXXN4Pb26y4C7FVnBATP1KKfng2qbhag,9415
|
428
428
|
omlish/lang/asyncs.py,sha256=SmzkYghQID77vcgm1Evnd3r9_jd5DlfzJ8uQK7nkh0E,1517
|
429
429
|
omlish/lang/attrs.py,sha256=zFiVuGVOq88x45464T_LxDa-ZEq_RD9zJLq2zeVEBDc,5105
|
430
430
|
omlish/lang/casing.py,sha256=cFUlbDdXLhwnWwcYx4qnM5c4zGX7hIRUfcjiZbxUD28,4636
|
@@ -440,6 +440,7 @@ omlish/lang/functions.py,sha256=aLdxhmqG0Pj9tBgsKdoCu_q15r82WIkNqDDSPQU19L8,5689
|
|
440
440
|
omlish/lang/generators.py,sha256=a4D5HU_mySs2T2z3xCmE_s3t4QJkj0YRrK4-hhpGd0A,5197
|
441
441
|
omlish/lang/iterables.py,sha256=y1SX2Co3VsOeX2wlfFF7K3rwLvF7Dtre7VY6EpfwAwA,3338
|
442
442
|
omlish/lang/lazyglobals.py,sha256=G1hwpyIgM4PUkVJ_St3K-EdQkHQdWpFOcXao6I5LwyY,1435
|
443
|
+
omlish/lang/maybes.py,sha256=ES1LK-9ebh2GNKZ7YfrS4OEoYHFhfiWkme4wU6Blzo4,77
|
443
444
|
omlish/lang/maysyncs.py,sha256=S90OrGQ8OShmcg7dt0Tf1GLTGCKwOPO80PRzaZHKsxY,1630
|
444
445
|
omlish/lang/objects.py,sha256=eOhFyFiwvxqpbLs5QTEkXU3rdSt_tQXDgHoWF5SA28E,6119
|
445
446
|
omlish/lang/outcomes.py,sha256=0PqxoKaGbBXU9UYZ6AE2QSq94Z-gFDt6wYdp0KomNQw,8712
|
@@ -465,7 +466,7 @@ omlish/lang/classes/virtual.py,sha256=z0MYQD9Q5MkX8DzF325wDB4J9XoYbsB09jZ1omC62T
|
|
465
466
|
omlish/lang/imports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
466
467
|
omlish/lang/imports/conditional.py,sha256=R-E47QD95mMonPImWlrde3rnJrFKCCkYz71c94W05sc,1006
|
467
468
|
omlish/lang/imports/lazy.py,sha256=Fhtb5tSAttff6G2pZdF8bh__GZlqJWHaMKtA8KubuX4,1479
|
468
|
-
omlish/lang/imports/proxyinit.py,sha256=
|
469
|
+
omlish/lang/imports/proxyinit.py,sha256=j3RMoA1Mop8XOspLQLkAoGQg0OZFpU6-BpXHoP7qa-0,19613
|
469
470
|
omlish/lang/imports/resolving.py,sha256=DeRarn35Fryg5JhVhy8wbiC9lvr58AnllI9B_reswUE,2085
|
470
471
|
omlish/lang/imports/traversal.py,sha256=pbFQIa880NGjSfcLsno2vE_G41_CLwDHb-7gWg2J3BI,2855
|
471
472
|
omlish/lifecycles/__init__.py,sha256=1FjYceXs-4fc-S-C9zFYmc2axHs4znnQHcJVHdY7a6E,578
|
@@ -522,17 +523,17 @@ omlish/manifests/globals.py,sha256=kVqQ-fT4kc7xWzLHoI731GviitFPv2v2yqw-p7t7Exs,2
|
|
522
523
|
omlish/manifests/loading.py,sha256=Br1OyI23pis_FfYju9xoacms608lzB1Zh_IqdVw_7vg,17201
|
523
524
|
omlish/manifests/static.py,sha256=9BaPBLkuzxHmg5A-5k9BjjBFINCdmFOIu06dMFgCfz4,497
|
524
525
|
omlish/manifests/types.py,sha256=NeOGuIVrcbqjCDbQ3MnCxxHAgHnw0CkWJsBzo230PWE,453
|
525
|
-
omlish/marshal/__init__.py,sha256=
|
526
|
-
omlish/marshal/globals.py,sha256=
|
526
|
+
omlish/marshal/__init__.py,sha256=GE6LMH-PmdXTkyGo7Z1FwWKnT2thK4U-YisbH20zJ2o,4700
|
527
|
+
omlish/marshal/globals.py,sha256=GtuI94yMqGHV9Hz3Hc9Tdzuv280uVjrBlIc57ZEC3MM,1914
|
527
528
|
omlish/marshal/naming.py,sha256=Mk5YrbES836_KflNNRoc5Ajd96iMYLQIMERKx1KpT4g,865
|
528
529
|
omlish/marshal/standard.py,sha256=k6QAGFNjiypxjI90snJcoGqNoTQ8ZkTzrW7m-Yrn2wk,4906
|
529
530
|
omlish/marshal/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
530
|
-
omlish/marshal/base/contexts.py,sha256=
|
531
|
+
omlish/marshal/base/contexts.py,sha256=T8AzEq1Fh78NRAj8YHbc_ugKtuSBFRlIyY00uCpY3sM,2139
|
531
532
|
omlish/marshal/base/errors.py,sha256=jmN3vl_U_hB6L0wAvuO7ORG27vXF7KEUk-1TxxK2mYA,308
|
532
533
|
omlish/marshal/base/options.py,sha256=OoDErPmI0kswnqAtr7QYndlPYhIqIDarx833tKFT2R4,23
|
533
|
-
omlish/marshal/base/overrides.py,sha256=
|
534
|
-
omlish/marshal/base/registries.py,sha256=
|
535
|
-
omlish/marshal/base/types.py,sha256=
|
534
|
+
omlish/marshal/base/overrides.py,sha256=tdYdgKIqVEBV7L_MZCNzcRwvpnmxa-1Fm8pIAWDeEpw,997
|
535
|
+
omlish/marshal/base/registries.py,sha256=N0I6xa_n32KAXgVdO9IuRASZC5Sh2J2T7w6K7wsWx1Q,2481
|
536
|
+
omlish/marshal/base/types.py,sha256=AtrpoVUPwsp_CQ13TlJ5ri_LqIPUHlAr64--D9XIlW8,2837
|
536
537
|
omlish/marshal/base/values.py,sha256=QF6OateG5kjRPHYza08wscThhg20oryf-aVQrxjfkC0,212
|
537
538
|
omlish/marshal/composite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
538
539
|
omlish/marshal/composite/iterables.py,sha256=2VU3sh5TBKMVF1cWPXhDeuELPQzrAYovmTNHzoFLeS4,2704
|
@@ -610,11 +611,11 @@ omlish/os/pidfiles/cli.py,sha256=dAKukx4mrarH8t7KZM4n_XSfTk3ycShGAFqRrirK5dw,207
|
|
610
611
|
omlish/os/pidfiles/manager.py,sha256=oOnL90ttOG5ba_k9XPJ18reP7M5S-_30ln4OAfYV5W8,2357
|
611
612
|
omlish/os/pidfiles/pidfile.py,sha256=KlqrW7I-lYVDNJspFHE89i_A0HTTteT5B99b7vpTfNs,4400
|
612
613
|
omlish/os/pidfiles/pinning.py,sha256=u81LRe3-6Xd6K_dsVbbEPVdsUvY7zy3Xv7413-5NBLQ,6627
|
613
|
-
omlish/reflect/__init__.py,sha256=
|
614
|
+
omlish/reflect/__init__.py,sha256=omD3VLFQtYTwPxrTH6gLATQIax9sTGGKc-7ps96-q0g,1202
|
614
615
|
omlish/reflect/inspect.py,sha256=dUrVz8VfAdLVFtFpW416DxzVC17D80cvFb_g2Odzgq8,1823
|
615
616
|
omlish/reflect/ops.py,sha256=F77OTaw0Uw020cJCWX_Q4kL3wvxlJ8jV8wz7BctGL_k,2619
|
616
617
|
omlish/reflect/subst.py,sha256=_lfNS2m2UiJgqARQtmGLTGo7CrSm9OMvVzt6GWOEX6M,4590
|
617
|
-
omlish/reflect/types.py,sha256=
|
618
|
+
omlish/reflect/types.py,sha256=5N6sBAknFx6zqhxgcJy5D-0XzjQh6Y2t3KN7HhSTnZ8,15490
|
618
619
|
omlish/secrets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
619
620
|
omlish/secrets/all.py,sha256=xx1UyiokSFzdeR8c6Ro-Fi2XBUsQ2i0nR1foX12nH0c,464
|
620
621
|
omlish/secrets/crypto.py,sha256=9D21lnvPhStwu8arD4ssT0ih0bDG-nlqIRdVgYL40xA,3708
|
@@ -917,9 +918,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
|
|
917
918
|
omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
|
918
919
|
omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
|
919
920
|
omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
|
920
|
-
omlish-0.0.0.
|
921
|
-
omlish-0.0.0.
|
922
|
-
omlish-0.0.0.
|
923
|
-
omlish-0.0.0.
|
924
|
-
omlish-0.0.0.
|
925
|
-
omlish-0.0.0.
|
921
|
+
omlish-0.0.0.dev416.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
922
|
+
omlish-0.0.0.dev416.dist-info/METADATA,sha256=Ly8rie3KozyugPbfE3l0z93fy3_iW_xgYJbipAWO3HI,19244
|
923
|
+
omlish-0.0.0.dev416.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
924
|
+
omlish-0.0.0.dev416.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
925
|
+
omlish-0.0.0.dev416.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
926
|
+
omlish-0.0.0.dev416.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|