omlish 0.0.0.dev363__py3-none-any.whl → 0.0.0.dev364__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.
Potentially problematic release.
This version of omlish might be problematic. Click here for more details.
- omlish/__about__.py +2 -2
- omlish/argparse/cli.py +1 -1
- omlish/asyncs/utils.py +1 -1
- omlish/codecs/base.py +1 -1
- omlish/daemons/services.py +1 -1
- omlish/datetimes.py +2 -1
- omlish/funcs/match.py +3 -0
- omlish/graphs/trees.py +1 -1
- omlish/http/clients/base.py +2 -2
- omlish/inject/multis.py +2 -2
- omlish/io/coro/readers.py +1 -1
- omlish/lang/classes/abstract.py +1 -1
- omlish/lang/contextmanagers.py +1 -1
- omlish/lite/check.py +1 -1
- omlish/specs/jsonschema/keywords/parse.py +11 -11
- omlish/subprocesses/run.py +2 -2
- omlish/text/parts.py +1 -1
- omlish/text/templating.py +31 -0
- {omlish-0.0.0.dev363.dist-info → omlish-0.0.0.dev364.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev363.dist-info → omlish-0.0.0.dev364.dist-info}/RECORD +24 -24
- {omlish-0.0.0.dev363.dist-info → omlish-0.0.0.dev364.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev363.dist-info → omlish-0.0.0.dev364.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev363.dist-info → omlish-0.0.0.dev364.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev363.dist-info → omlish-0.0.0.dev364.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
omlish/argparse/cli.py
CHANGED
|
@@ -259,7 +259,7 @@ class ArgparseCli:
|
|
|
259
259
|
|
|
260
260
|
if self._unknown_args and not (cmd is not None and cmd.accepts_unknown):
|
|
261
261
|
msg = f'unrecognized arguments: {" ".join(self._unknown_args)}'
|
|
262
|
-
if (parser := self.get_parser()).exit_on_error:
|
|
262
|
+
if (parser := self.get_parser()).exit_on_error:
|
|
263
263
|
parser.error(msg)
|
|
264
264
|
else:
|
|
265
265
|
raise argparse.ArgumentError(None, msg)
|
omlish/asyncs/utils.py
CHANGED
|
@@ -9,7 +9,7 @@ T = ta.TypeVar('T')
|
|
|
9
9
|
##
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
async def call_with_async_exit_stack(
|
|
12
|
+
async def call_with_async_exit_stack(
|
|
13
13
|
fn: ta.Callable[ta.Concatenate[contextlib.AsyncExitStack, P], ta.Awaitable[T]],
|
|
14
14
|
*args: ta.Any,
|
|
15
15
|
**kwargs: ta.Any,
|
omlish/codecs/base.py
CHANGED
|
@@ -72,7 +72,7 @@ class Codec:
|
|
|
72
72
|
name: str = dc.xfield(coerce=check_codec_name)
|
|
73
73
|
aliases: ta.Collection[str] | None = dc.xfield(
|
|
74
74
|
default=None,
|
|
75
|
-
coerce=lang.opt_fn(lambda s: [check_codec_name(a) for a in s]),
|
|
75
|
+
coerce=lang.opt_fn(lambda s: [check_codec_name(a) for a in s]),
|
|
76
76
|
)
|
|
77
77
|
|
|
78
78
|
input: rfl.Type = dc.xfield(coerce=rfl.type_)
|
omlish/daemons/services.py
CHANGED
|
@@ -108,7 +108,7 @@ class ServiceDaemon(lang.Final, ta.Generic[ServiceT, ServiceConfigT]):
|
|
|
108
108
|
def service_(self) -> ServiceT:
|
|
109
109
|
with self._lock:
|
|
110
110
|
if isinstance(self.service, Service):
|
|
111
|
-
return self.service
|
|
111
|
+
return self.service
|
|
112
112
|
elif isinstance(self.service, Service.Config):
|
|
113
113
|
return Service.from_config(self.service) # type: ignore[return-value]
|
|
114
114
|
else:
|
omlish/datetimes.py
CHANGED
|
@@ -68,7 +68,8 @@ def parse_timedelta(s: str) -> datetime.timedelta:
|
|
|
68
68
|
timedelta_kwargs = {
|
|
69
69
|
k: float(v)
|
|
70
70
|
for k, v in match.groupdict().items()
|
|
71
|
-
if k != 'negative' and v is not None
|
|
71
|
+
if k != 'negative' and v is not None
|
|
72
|
+
}
|
|
72
73
|
if not timedelta_kwargs:
|
|
73
74
|
raise ValueError
|
|
74
75
|
sign = -1 if match.groupdict().get('negative') else 1
|
omlish/funcs/match.py
CHANGED
|
@@ -143,6 +143,7 @@ class CachedMatchFn(MatchFn[P, T]):
|
|
|
143
143
|
lock: lang.DefaultLockable = None,
|
|
144
144
|
) -> None:
|
|
145
145
|
super().__init__()
|
|
146
|
+
|
|
146
147
|
self._f = f
|
|
147
148
|
self._key = key
|
|
148
149
|
self._lock = lock
|
|
@@ -206,8 +207,10 @@ class MatchFnClass(MatchFn[P, T]):
|
|
|
206
207
|
|
|
207
208
|
def __init_subclass__(cls, strict: bool = False, **kwargs: ta.Any) -> None:
|
|
208
209
|
super().__init_subclass__()
|
|
210
|
+
|
|
209
211
|
if '_cls_match_fn' in cls.__dict__:
|
|
210
212
|
raise AttributeError('_cls_match_fn')
|
|
213
|
+
|
|
211
214
|
d = {}
|
|
212
215
|
for c in cls.__mro__:
|
|
213
216
|
for a, o in c.__dict__.items():
|
omlish/graphs/trees.py
CHANGED
|
@@ -62,7 +62,7 @@ class BasicTreeAnalysis(ta.Generic[NodeT]):
|
|
|
62
62
|
|
|
63
63
|
self._set_fac: ta.Callable[..., ta.MutableSet[NodeT]] = col.IdentitySet if identity else set
|
|
64
64
|
self._dict_fac: ta.Callable[..., ta.MutableMapping[NodeT, ta.Any]] = col.IdentityKeyDict if identity else dict
|
|
65
|
-
self._rank_seq_fac: ta.Callable[..., col.RankedSeq[NodeT]] = functools.partial(col.RankedSeq, identity=identity)
|
|
65
|
+
self._rank_seq_fac: ta.Callable[..., col.RankedSeq[NodeT]] = functools.partial(col.RankedSeq, identity=identity)
|
|
66
66
|
|
|
67
67
|
def walk(cur: NodeT, parent: NodeT | None) -> None:
|
|
68
68
|
check.not_none(cur)
|
omlish/http/clients/base.py
CHANGED
|
@@ -116,12 +116,12 @@ def close_response(resp: BaseHttpResponse) -> None:
|
|
|
116
116
|
@contextlib.contextmanager
|
|
117
117
|
def closing_response(resp: BaseHttpResponseT) -> ta.Iterator[BaseHttpResponseT]:
|
|
118
118
|
if isinstance(resp, HttpResponse):
|
|
119
|
-
yield resp
|
|
119
|
+
yield resp
|
|
120
120
|
return
|
|
121
121
|
|
|
122
122
|
elif isinstance(resp, StreamHttpResponse):
|
|
123
123
|
with contextlib.closing(resp):
|
|
124
|
-
yield resp
|
|
124
|
+
yield resp
|
|
125
125
|
|
|
126
126
|
else:
|
|
127
127
|
raise TypeError(resp)
|
omlish/inject/multis.py
CHANGED
|
@@ -87,7 +87,7 @@ class SetBinder(ElementGenerator, ta.Generic[T]):
|
|
|
87
87
|
if not isinstance(self, SetBinder):
|
|
88
88
|
raise TypeError
|
|
89
89
|
self._sbs.extend(SetBinding(self._multi_key, as_key(k)) for k in keys)
|
|
90
|
-
return self
|
|
90
|
+
return self
|
|
91
91
|
|
|
92
92
|
def __iter__(self) -> ta.Iterator[Element]:
|
|
93
93
|
yield self._set_provider_binding
|
|
@@ -115,7 +115,7 @@ class MapBinder(ElementGenerator, ta.Generic[K, V]):
|
|
|
115
115
|
if not isinstance(self, MapBinder):
|
|
116
116
|
raise TypeError
|
|
117
117
|
self._mbs.append(MapBinding(self._multi_key, map_key, as_key(map_value_key)))
|
|
118
|
-
return self
|
|
118
|
+
return self
|
|
119
119
|
|
|
120
120
|
def __iter__(self) -> ta.Iterator[Element]:
|
|
121
121
|
yield self._map_provider_binding
|
omlish/io/coro/readers.py
CHANGED
omlish/lang/classes/abstract.py
CHANGED
|
@@ -19,7 +19,7 @@ _INTERNAL_ABSTRACT_ATTRS = frozenset([_FORCE_ABSTRACT_ATTR])
|
|
|
19
19
|
|
|
20
20
|
def make_abstract(obj: T) -> T:
|
|
21
21
|
if callable(obj):
|
|
22
|
-
return
|
|
22
|
+
return abc.abstractmethod(obj)
|
|
23
23
|
elif isinstance(obj, property):
|
|
24
24
|
return ta.cast(T, property(
|
|
25
25
|
abc.abstractmethod(obj.fget) if obj.fget is not None else None,
|
omlish/lang/contextmanagers.py
CHANGED
omlish/lite/check.py
CHANGED
|
@@ -74,25 +74,25 @@ class KeywordParser:
|
|
|
74
74
|
|
|
75
75
|
def parse_keyword(self, cls: type[KeywordT], v: ta.Any) -> KeywordT:
|
|
76
76
|
if issubclass(cls, AnyKeyword):
|
|
77
|
-
return cls(v)
|
|
77
|
+
return cls(v)
|
|
78
78
|
|
|
79
79
|
elif issubclass(cls, AnyArrayKeyword):
|
|
80
|
-
return cls(tuple(check.isinstance(v, ta.Sequence)))
|
|
80
|
+
return cls(tuple(check.isinstance(v, ta.Sequence)))
|
|
81
81
|
|
|
82
82
|
elif issubclass(cls, BooleanKeyword):
|
|
83
|
-
return cls(check.isinstance(v, bool))
|
|
83
|
+
return cls(check.isinstance(v, bool))
|
|
84
84
|
|
|
85
85
|
elif issubclass(cls, BooleanOrKeywordsKeyword):
|
|
86
86
|
if isinstance(v, bool):
|
|
87
|
-
return cls(v)
|
|
87
|
+
return cls(v)
|
|
88
88
|
else:
|
|
89
|
-
return cls(self.parse_keywords(v))
|
|
89
|
+
return cls(self.parse_keywords(v))
|
|
90
90
|
|
|
91
91
|
elif issubclass(cls, NumberKeyword):
|
|
92
|
-
return cls(check.isinstance(v, (int, float)))
|
|
92
|
+
return cls(check.isinstance(v, (int, float)))
|
|
93
93
|
|
|
94
94
|
elif issubclass(cls, StrKeyword):
|
|
95
|
-
return cls(check.isinstance(v, str))
|
|
95
|
+
return cls(check.isinstance(v, str))
|
|
96
96
|
|
|
97
97
|
elif issubclass(cls, StrOrStrArrayKeyword):
|
|
98
98
|
ss: str | ta.Sequence[str]
|
|
@@ -102,16 +102,16 @@ class KeywordParser:
|
|
|
102
102
|
ss = col.seq_of(check.of_isinstance(str))(v)
|
|
103
103
|
else:
|
|
104
104
|
raise TypeError(v)
|
|
105
|
-
return cls(ss)
|
|
105
|
+
return cls(ss)
|
|
106
106
|
|
|
107
107
|
elif issubclass(cls, KeywordsKeyword):
|
|
108
|
-
return cls(self.parse_keywords(v))
|
|
108
|
+
return cls(self.parse_keywords(v))
|
|
109
109
|
|
|
110
110
|
elif issubclass(cls, KeywordsArrayKeyword):
|
|
111
|
-
return cls(tuple(self.parse_keywords(e) for e in v))
|
|
111
|
+
return cls(tuple(self.parse_keywords(e) for e in v))
|
|
112
112
|
|
|
113
113
|
elif issubclass(cls, StrToKeywordsKeyword):
|
|
114
|
-
return cls({k: self.parse_keywords(mv) for k, mv in v.items()})
|
|
114
|
+
return cls({k: self.parse_keywords(mv) for k, mv in v.items()})
|
|
115
115
|
|
|
116
116
|
else:
|
|
117
117
|
raise TypeError(cls)
|
omlish/subprocesses/run.py
CHANGED
|
@@ -92,7 +92,7 @@ class SubprocessRun:
|
|
|
92
92
|
) -> SubprocessRunOutput:
|
|
93
93
|
if subprocesses is None:
|
|
94
94
|
subprocesses = self._DEFAULT_SUBPROCESSES
|
|
95
|
-
return check.not_none(subprocesses).run_(self.replace(**kwargs))
|
|
95
|
+
return check.not_none(subprocesses).run_(self.replace(**kwargs))
|
|
96
96
|
|
|
97
97
|
_DEFAULT_ASYNC_SUBPROCESSES: ta.ClassVar[ta.Optional[ta.Any]] = None # AbstractAsyncSubprocesses
|
|
98
98
|
|
|
@@ -103,7 +103,7 @@ class SubprocessRun:
|
|
|
103
103
|
) -> SubprocessRunOutput:
|
|
104
104
|
if async_subprocesses is None:
|
|
105
105
|
async_subprocesses = self._DEFAULT_ASYNC_SUBPROCESSES
|
|
106
|
-
return await check.not_none(async_subprocesses).run_(self.replace(**kwargs))
|
|
106
|
+
return await check.not_none(async_subprocesses).run_(self.replace(**kwargs))
|
|
107
107
|
|
|
108
108
|
|
|
109
109
|
SubprocessRun._FIELD_NAMES = frozenset(fld.name for fld in dc.fields(SubprocessRun)) # noqa
|
omlish/text/parts.py
CHANGED
omlish/text/templating.py
CHANGED
|
@@ -32,6 +32,24 @@ class Templater(lang.Abstract):
|
|
|
32
32
|
raise NotImplementedError
|
|
33
33
|
|
|
34
34
|
|
|
35
|
+
def templater_context(
|
|
36
|
+
*envs: ta.Mapping[str, ta.Any] | None,
|
|
37
|
+
strict: bool = False,
|
|
38
|
+
) -> Templater.Context:
|
|
39
|
+
env: dict[str, ta.Any] = {}
|
|
40
|
+
for e in envs:
|
|
41
|
+
if e is None:
|
|
42
|
+
continue
|
|
43
|
+
for k, v in e.items():
|
|
44
|
+
if strict and k in env:
|
|
45
|
+
raise KeyError(k)
|
|
46
|
+
env[k] = v
|
|
47
|
+
|
|
48
|
+
return Templater.Context(
|
|
49
|
+
env=env or None,
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
|
|
35
53
|
##
|
|
36
54
|
|
|
37
55
|
|
|
@@ -45,6 +63,9 @@ class FormatTemplater(Templater):
|
|
|
45
63
|
return self.fmt.format(**(ctx.env or {}))
|
|
46
64
|
|
|
47
65
|
|
|
66
|
+
format_templater = FormatTemplater
|
|
67
|
+
|
|
68
|
+
|
|
48
69
|
##
|
|
49
70
|
|
|
50
71
|
|
|
@@ -61,6 +82,10 @@ class Pep292Templater(Templater):
|
|
|
61
82
|
def from_string(cls, src: str) -> 'Pep292Templater':
|
|
62
83
|
return cls(string.Template(src))
|
|
63
84
|
|
|
85
|
+
|
|
86
|
+
pep292_templater = Pep292Templater.from_string
|
|
87
|
+
|
|
88
|
+
|
|
64
89
|
##
|
|
65
90
|
|
|
66
91
|
|
|
@@ -93,6 +118,9 @@ class MinjaTemplater(Templater):
|
|
|
93
118
|
return cls(tmpl)
|
|
94
119
|
|
|
95
120
|
|
|
121
|
+
minja_templater = MinjaTemplater.from_string
|
|
122
|
+
|
|
123
|
+
|
|
96
124
|
##
|
|
97
125
|
|
|
98
126
|
|
|
@@ -118,3 +146,6 @@ class JinjaTemplater(Templater):
|
|
|
118
146
|
tmpl,
|
|
119
147
|
**kwargs,
|
|
120
148
|
)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
jinja_templater = JinjaTemplater.from_string
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
omlish/.manifests.json,sha256=aT8yZ-Zh-9wfHl5Ym5ouiWC1i0cy7Q7RlhzavB6VLPI,8587
|
|
2
|
-
omlish/__about__.py,sha256=
|
|
2
|
+
omlish/__about__.py,sha256=jPad_LyUf2h4QZmz7cjzDxV8N2Q7ba3FdRz1o5SXyK0,3478
|
|
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
|
|
6
6
|
omlish/check.py,sha256=DDNZnLxNoY2Y7N0Hz7nMR1q912ZzRLoBgOJVLcsXVws,6575
|
|
7
|
-
omlish/datetimes.py,sha256=
|
|
7
|
+
omlish/datetimes.py,sha256=7dh4aiVRWXWECH3JLF8kkRbgJ1qyGlAlQVp1vCXdTBE,2168
|
|
8
8
|
omlish/defs.py,sha256=-4UuZoJUUNO_bZ6eSSdhR4CK4NKN2Wwr1FfUvfTF--8,4918
|
|
9
9
|
omlish/dynamic.py,sha256=zy0oO70_Vlh5dW8Nwav_O9bhIzQ6L16UgSuKR6y43VU,6526
|
|
10
10
|
omlish/libc.py,sha256=mNY2FWZ2BjSucOx5TEW8IP_B5n84tVZWuVPL3Z3sUH8,15644
|
|
@@ -19,7 +19,7 @@ omlish/algorithm/toposort.py,sha256=5wog_7XTYtg5vq4tcKtn9DcXRsEMaVobzQ6ndMK4HhQ,
|
|
|
19
19
|
omlish/algorithm/unify.py,sha256=jADtgVQkcGKRV4WokG0ePYe9X6BT_8RAS-WSfbBbjUk,838
|
|
20
20
|
omlish/argparse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
21
|
omlish/argparse/all.py,sha256=NeeMM5MIebY7XDAHaCxUzeesEoUYwsf5i9PrBUcO1cI,1057
|
|
22
|
-
omlish/argparse/cli.py,sha256=
|
|
22
|
+
omlish/argparse/cli.py,sha256=dRPR0VlHgssntrZV0klIMLWa9B1JzMsUDhHWUh_8qu4,8736
|
|
23
23
|
omlish/asyncs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
24
|
omlish/asyncs/all.py,sha256=MjW0P9K8XBrw6AaH2X_qD5Y7hEZOF0cktqFv5BDGH-k,649
|
|
25
25
|
omlish/asyncs/bridge.py,sha256=QonuN2KgT7sRsmJEgRvLqtubXma9RI2xOs27X5JSQcA,10153
|
|
@@ -28,7 +28,7 @@ omlish/asyncs/flavors.py,sha256=1mNxGNRVmjUHzA13K5ht8vdJv4CLEmzYTQ6BZXr1520,4866
|
|
|
28
28
|
omlish/asyncs/sync.py,sha256=qfK8zRMQ0B_huC-6CsMG8vhKB0ktw7Ttq0NnySdWPwQ,2039
|
|
29
29
|
omlish/asyncs/trio.py,sha256=fmZ5b_lKdVV8NQ3euCUutWgnkqTFzSnOjvJSA_jvmrE,367
|
|
30
30
|
omlish/asyncs/trio_asyncio.py,sha256=b6H5H32pB79Uz5xvWEmuhXTJgTAeKFHBHzocv_Rpt5A,1332
|
|
31
|
-
omlish/asyncs/utils.py,sha256
|
|
31
|
+
omlish/asyncs/utils.py,sha256=-oaa6nheDxMOxVDTfRylWZGlyOja3UVJEV2IibJXQv4,369
|
|
32
32
|
omlish/asyncs/anyio/__init__.py,sha256=AkwRD3XFWmEzBeHV-eAzwpA4F04bl7xyyapigrxMR8g,1747
|
|
33
33
|
omlish/asyncs/anyio/backends.py,sha256=jJIymWoiedaEJJm82gvKiJ41EWLQZ-bcyNHpbDpKKi4,1584
|
|
34
34
|
omlish/asyncs/anyio/futures.py,sha256=Nm1gLerZEnHk-rlsmr0UfK168IWIK6zA8EebZFtoY_E,2052
|
|
@@ -69,7 +69,7 @@ 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=
|
|
72
|
+
omlish/codecs/base.py,sha256=9wNVEnbb6KmI06A-HpUdT4BAYXOtDoJVyctNcn5vRnY,2218
|
|
73
73
|
omlish/codecs/bytes.py,sha256=jlZ87OmZ52HhQDNyL87R3OIviK2qV5iU2jZYOTOLWjk,2157
|
|
74
74
|
omlish/codecs/chain.py,sha256=nbkL2nz0ZqT2lxYwSXktHh1YFTQ4Iii1Hp-fWjis6rc,532
|
|
75
75
|
omlish/codecs/funcs.py,sha256=or0Jogczuzk7csDTRl-HURMEjl8LXXqxxXYK45xcM5w,855
|
|
@@ -132,7 +132,7 @@ omlish/daemons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
132
132
|
omlish/daemons/daemon.py,sha256=pUwomapIrUwXLnov9jlA5EU1vp4qEYcIiUxKD3SQyVo,3479
|
|
133
133
|
omlish/daemons/launching.py,sha256=sNOYW939IGI4ZlLQ0bKxzXj6EyeOiwV7Upqhd5XfoHc,3747
|
|
134
134
|
omlish/daemons/reparent.py,sha256=uEs7pjzQkL8zhM8xADJhedmXXA7eDsu28639F5HkmpU,590
|
|
135
|
-
omlish/daemons/services.py,sha256=
|
|
135
|
+
omlish/daemons/services.py,sha256=laoUeJU7eVHuWl1062FBjPSD7jchOjhpYDc5FT2B3dM,3462
|
|
136
136
|
omlish/daemons/spawning.py,sha256=psR73zOYjMKTqNpx1bMib8uU9wAZz62tw5TaWHrTdyY,5337
|
|
137
137
|
omlish/daemons/targets.py,sha256=00KmtlknMhQ5PyyVAhWl3rpeTMPym0GxvHHq6mYPZ7c,3051
|
|
138
138
|
omlish/daemons/waiting.py,sha256=RfgD1L33QQVbD2431dkKZGE4w6DUcGvYeRXXi8puAP4,1676
|
|
@@ -306,13 +306,13 @@ omlish/formats/toml/parser.py,sha256=O2M0penQV3t8NAsq_conJjvTsXI8iivUFuBg2a5J3dU
|
|
|
306
306
|
omlish/formats/toml/writer.py,sha256=kLLQNEA_Kzd3ue7UXPQ_torOKoaLT82W16Bt99sID-w,3231
|
|
307
307
|
omlish/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
308
308
|
omlish/funcs/genmachine.py,sha256=D9dChaliNBIjYE6lJP5ctcVQUCffNBhceyaaLvBJ7ns,2578
|
|
309
|
-
omlish/funcs/match.py,sha256=
|
|
309
|
+
omlish/funcs/match.py,sha256=CTk4aljIAB9DnDpK-v0yfFLjprWjo3hxVr7nThajOZM,6088
|
|
310
310
|
omlish/funcs/pairs.py,sha256=VCkZjDmJGtR76BsejsHNfb4TcpHCtkkmak-zWDFchAo,3904
|
|
311
311
|
omlish/funcs/pipes.py,sha256=E7Sz8Aj8ke_vCs5AMNwg1I36kRdHVGTnzxVQaDyn43U,2490
|
|
312
312
|
omlish/graphs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
313
313
|
omlish/graphs/dags.py,sha256=GsTVDehSGxIpjuZ3qe29dldhVydqWexZD9mpqZErhnI,4400
|
|
314
314
|
omlish/graphs/domination.py,sha256=iwQa4QUXitLU2X4cdPxJ1ltRRUTuXnz0lI8j4GtuBsw,7591
|
|
315
|
-
omlish/graphs/trees.py,sha256=
|
|
315
|
+
omlish/graphs/trees.py,sha256=phO2YNboo1uUJcY2qrD7CJ0bx4Ir8tbFkPK8RtHNm5k,8197
|
|
316
316
|
omlish/graphs/dot/__init__.py,sha256=Y1MZRQBZkcYyG1Tn7K2FhL8aYbm4v4tk6f5g9AqEkUw,359
|
|
317
317
|
omlish/graphs/dot/items.py,sha256=GIzUqLHJPR4AVtF141uA8JnyybkRZx6mFYsNJHu_JVg,4087
|
|
318
318
|
omlish/graphs/dot/make.py,sha256=e-M1IEdh4kHEjJmBxpaEUPxvFLrm5uIXdGxjQZr2HRo,365
|
|
@@ -337,7 +337,7 @@ omlish/http/urllib.py,sha256=LwtMXDkjb9tYnOi6iApizHXpCiyjB1r72ePo_Nzv1vQ,466
|
|
|
337
337
|
omlish/http/versions.py,sha256=Lwk6FztKH7c5zuc7NFWxPVULuLeeQp5-NFJInY6r-Zo,420
|
|
338
338
|
omlish/http/wsgi.py,sha256=1JpfrY2JrQ0wrEVE0oLdQMWZw8Zcx0b4_9f3VmH4JKA,1070
|
|
339
339
|
omlish/http/clients/__init__.py,sha256=SeH3ofjQvk7VuV9OE1uJir9QMZwvEuDl7fptkKgGQUU,449
|
|
340
|
-
omlish/http/clients/base.py,sha256=
|
|
340
|
+
omlish/http/clients/base.py,sha256=j_rzuPL6BJMhPTbOqDASvvYNJ5nifD2w_rNj3ILnzT4,4626
|
|
341
341
|
omlish/http/clients/default.py,sha256=fO8So3pI2z8ateLqt9Sv50UoOJFkUZbgMdoDyWsjBNw,1070
|
|
342
342
|
omlish/http/clients/httpx.py,sha256=Grl9_sG7QNIZj8HqaU7XduAsBDyfXl36RjbYQzQqal0,1787
|
|
343
343
|
omlish/http/clients/urllib.py,sha256=DVKFPLQzANiZmwnlbFw5pWs5ZPLLvvgCb3UInvCSqPE,2701
|
|
@@ -357,7 +357,7 @@ omlish/inject/inspect.py,sha256=Uq4KMloGWF_YS2mgZbrx-JXhZQnYHHKJSr68i9yoBVc,597
|
|
|
357
357
|
omlish/inject/keys.py,sha256=bkpaE_hXFZ1pX8xPU_Km4jPJh8rkk07fs5aA_8bpC5M,665
|
|
358
358
|
omlish/inject/listeners.py,sha256=wyPsAJsl45fZHmrFwsVBxaCiT7r_Riw1I8Eowwg5NHE,592
|
|
359
359
|
omlish/inject/managed.py,sha256=-9aBm1vRPOjNz4kgOmpt8S2T55s727t9RiggFBH8maU,2096
|
|
360
|
-
omlish/inject/multis.py,sha256=
|
|
360
|
+
omlish/inject/multis.py,sha256=JzHTBr9LTy7hRTSax9GOo0Lxw7fk401uRgeHm8Mv4d8,3357
|
|
361
361
|
omlish/inject/origins.py,sha256=-qXa18rIIkNwBdTrvASRDjgPYnoY6n6OPC222jJDrXg,551
|
|
362
362
|
omlish/inject/overrides.py,sha256=ybEcq9cDf6kvqu5mqnwi6Evj0MFjKNeE3r0oUlGw5E4,546
|
|
363
363
|
omlish/inject/privates.py,sha256=CyE-hvQ-F_uyCzcwfdiYVtfm9IF1WZvMDOYilFyZmWk,658
|
|
@@ -398,7 +398,7 @@ omlish/io/compress/zstd.py,sha256=wik_HWLq_8fGAJgGyMGq9fhFQovot1aCH4lwMpihQmg,94
|
|
|
398
398
|
omlish/io/coro/__init__.py,sha256=Mr8-GoDzOlA2sKmaDxuov2vPmjX_IeB_49I8dTSvjvA,1080
|
|
399
399
|
omlish/io/coro/consts.py,sha256=4r6IMLBMic6MJHVn9UiORIkkPAuxsqtzFT3KV0fatC0,33
|
|
400
400
|
omlish/io/coro/direct.py,sha256=Y--rP3wvBAYMeYctokb5IGd8UyQGmEFChyKISmRg5k0,294
|
|
401
|
-
omlish/io/coro/readers.py,sha256=
|
|
401
|
+
omlish/io/coro/readers.py,sha256=mAT_L1tucv8QC-sz0phzq_eEQDj3gOmcPcwdINgv7kQ,4102
|
|
402
402
|
omlish/io/coro/stepped.py,sha256=92HXRwR_YQBJoLQlGANPXPa8I8EPeE_HybbzEpUs3N4,5637
|
|
403
403
|
omlish/io/fdio/__init__.py,sha256=XJMieft-Z-JEkpeARn0M1Jj7HYCjRHwfs2QfE8gdzQs,137
|
|
404
404
|
omlish/io/fdio/handlers.py,sha256=Bw2jhrNili7XRlsf63mlSkrFPHmWM2jelb3BmWqy3Ok,1361
|
|
@@ -416,7 +416,7 @@ omlish/lang/casing.py,sha256=cFUlbDdXLhwnWwcYx4qnM5c4zGX7hIRUfcjiZbxUD28,4636
|
|
|
416
416
|
omlish/lang/clsdct.py,sha256=HAGIvBSbCefzRjXriwYSBLO7QHKRv2UsE78jixOb-fA,1828
|
|
417
417
|
omlish/lang/collections.py,sha256=LVm0Sory60IXyFzYhhO8BZAWy_z_pjiA-meXNlSJP7o,2465
|
|
418
418
|
omlish/lang/comparison.py,sha256=MOwEG0Yny-jBPHO9kQto9FSRyeNpQW24UABsghkrHxY,1356
|
|
419
|
-
omlish/lang/contextmanagers.py,sha256=
|
|
419
|
+
omlish/lang/contextmanagers.py,sha256=7mbTG7yIwM2whQBuhja5Tt0C4kfefBUW4Y_AIn5j8iI,7214
|
|
420
420
|
omlish/lang/datetimes.py,sha256=01tg21QOx-PWDlm-CSFTalym3vpqF0EKzeinmtcVNoU,379
|
|
421
421
|
omlish/lang/descriptors.py,sha256=zBtgO9LjdSTGHNUgiIqswh78WOVoGH6KzS0NbgB1Wls,6572
|
|
422
422
|
omlish/lang/enums.py,sha256=F9tflHfaAoV2MpyuhZzpfX9-H55M3zNa9hCszsngEo8,111
|
|
@@ -438,7 +438,7 @@ omlish/lang/cached/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
438
438
|
omlish/lang/cached/function.py,sha256=su9QxYECK9NK-UfMFKbgx4lqH2WoGBiYshnEfaGvfhw,11522
|
|
439
439
|
omlish/lang/cached/property.py,sha256=WHYyg4-6EA86TcNMfbXTjVhjEZPc0kngt9hfY3WN5w8,2768
|
|
440
440
|
omlish/lang/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
441
|
-
omlish/lang/classes/abstract.py,sha256=
|
|
441
|
+
omlish/lang/classes/abstract.py,sha256=5G3TXelpy5PRWa2x8G_Im4SPymGKrOBK6sELRyOG9eg,3796
|
|
442
442
|
omlish/lang/classes/bindable.py,sha256=gviEabI5gEx0Rpu4G0LDWaD4N_VO1WUeFs1_XEisoAE,1233
|
|
443
443
|
omlish/lang/classes/namespaces.py,sha256=RVecCT38W5h6rjf5fYBLvomyDwwFqPRWjhs40gaLHPE,3933
|
|
444
444
|
omlish/lang/classes/protocols.py,sha256=T98ZsHLgzw8hPvvNluxoreevoF8fD4zs8SwcnTXkLuY,701
|
|
@@ -455,7 +455,7 @@ omlish/lifecycles/states.py,sha256=6gTdY3hn7-1sJ60lA3GeMx5RVKvXtFBBXE4KEjoO1Hs,1
|
|
|
455
455
|
omlish/lifecycles/transitions.py,sha256=3IFdWGtAeoy3XRlIyW7yCKV4e4Iof9ytkqklGMRFYQs,1944
|
|
456
456
|
omlish/lite/__init__.py,sha256=ISLhM4q0LR1XXTCaHdZOZxBRyIsoZqYm4u0bf1BPcVk,148
|
|
457
457
|
omlish/lite/cached.py,sha256=O7ozcoDNFm1Hg2wtpHEqYSp_i_nCLNOP6Ueq_Uk-7mU,1300
|
|
458
|
-
omlish/lite/check.py,sha256=
|
|
458
|
+
omlish/lite/check.py,sha256=ytCkwZoKfOlJqylL-AGm8C2WfsWJd2q3kFbnZCzX3_M,13844
|
|
459
459
|
omlish/lite/configs.py,sha256=4-1uVxo-aNV7vMKa7PVNhM610eejG1WepB42-Dw2xQI,914
|
|
460
460
|
omlish/lite/contextmanagers.py,sha256=jpMxp5xwooRQJxsQ6J2ll4AJP9O7a5_YrLCGgwUFfD0,5703
|
|
461
461
|
omlish/lite/dataclasses.py,sha256=vAxWRkEZfeFwU6Hy9UTCynD-pz2fkCcLY27odDqs1n8,1918
|
|
@@ -646,7 +646,7 @@ omlish/specs/jsonschema/keywords/base.py,sha256=QjkMrKw58j99r-Ug2I4Y-SGbyKSTVho5
|
|
|
646
646
|
omlish/specs/jsonschema/keywords/core.py,sha256=3Pbi8d-eocEAxEdemNa0ldp5lrLWNmH0Tye-5rglUoU,535
|
|
647
647
|
omlish/specs/jsonschema/keywords/format.py,sha256=9trrxHe38FDx47I8UfvO4PD_IygRlkEyTUJ3XlxDM6Y,244
|
|
648
648
|
omlish/specs/jsonschema/keywords/metadata.py,sha256=IVWQKWT9xi0R07pXc79ErT7RBu5b6Kzg4pWYIITIRbs,336
|
|
649
|
-
omlish/specs/jsonschema/keywords/parse.py,sha256=
|
|
649
|
+
omlish/specs/jsonschema/keywords/parse.py,sha256=XR4yQ7eHSo0DNU9tS0ko_vTCDH1EF7TGvHF4twwWhH0,4235
|
|
650
650
|
omlish/specs/jsonschema/keywords/render.py,sha256=Viy3cbDcA2pCtR4z0pi4Q2oMsQDCf01vXsbMO70PlCc,1944
|
|
651
651
|
omlish/specs/jsonschema/keywords/validation.py,sha256=bKu1bDOms5zxg5Xme1ki_jb7TYDFEOv_JKOzeYbxuYQ,1970
|
|
652
652
|
omlish/specs/jsonschema/schemas/LICENSE,sha256=CU2AUO-rKNc9s9vngzyGxUMgaZ0Aevr8lgN2DFFFxKw,1491
|
|
@@ -735,7 +735,7 @@ omlish/subprocesses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
735
735
|
omlish/subprocesses/async_.py,sha256=KtTZzrjj_IgpUDLTQ7YGB-uWnYn2gigwGa6ha36HnVk,2366
|
|
736
736
|
omlish/subprocesses/base.py,sha256=r60N3ad4ooSvdgFmT94L_xZEy7FMbMX6JcG2VgpHo6w,6139
|
|
737
737
|
omlish/subprocesses/editor.py,sha256=xBrd7gY0akhRfDIBK5YIBrYMHECtl_8r499iKViyfpQ,2634
|
|
738
|
-
omlish/subprocesses/run.py,sha256=
|
|
738
|
+
omlish/subprocesses/run.py,sha256=ooM6qWNCdudK2CuTjh9z2vC7g_gYWfxHJ9iVW1yzTpo,3588
|
|
739
739
|
omlish/subprocesses/sync.py,sha256=YdGxa9_GhqqsvTucmnmUXWYcKKys0S5PQk271K1Jg68,3664
|
|
740
740
|
omlish/subprocesses/utils.py,sha256=v5uEzxmbmRvXwOl_0DtBa5Il6yITKYRgmVSGHcLsT4o,402
|
|
741
741
|
omlish/subprocesses/wrap.py,sha256=AhGV8rsnaVUMQCFYKkrjj35fs3O-VJLZC1hZ14dz3C8,769
|
|
@@ -789,9 +789,9 @@ omlish/text/indent.py,sha256=BWVVaHs_B1ppwHJJIxKCDG3iCutkYy5e1qr59Z_Suzg,1524
|
|
|
789
789
|
omlish/text/linecache.py,sha256=hRYlEhD63ZfA6_ZOTkQIcnON-3W56QMAhcG3vEJqj9M,1858
|
|
790
790
|
omlish/text/mangle.py,sha256=k7mYavVgxJ2ENV2wfjw3c9u3hqH5NeVpjoxYbyaYC0Y,2796
|
|
791
791
|
omlish/text/minja.py,sha256=eyOA_zUCzyqaBfiPX-hV2xdK9_cqlDEhbVTkZUTZgQo,7521
|
|
792
|
-
omlish/text/parts.py,sha256=
|
|
792
|
+
omlish/text/parts.py,sha256=MpiCUyfpcL4PLb2Etj8V7Yj4qofhy0xVwBrIL6RfNdg,6646
|
|
793
793
|
omlish/text/random.py,sha256=8feS5JE_tSjYlMl-lp0j93kCfzBae9AM2cXlRLebXMA,199
|
|
794
|
-
omlish/text/templating.py,sha256=
|
|
794
|
+
omlish/text/templating.py,sha256=4dw0EGEPze6AtI6767PVvwnU3Vn9nyl6NI-ieqY7wQ0,3041
|
|
795
795
|
omlish/text/antlr/__init__.py,sha256=88bMl_28cfSKslgOkMGYXqALgsHz3KC4LFvAVtzj7k8,89
|
|
796
796
|
omlish/text/antlr/delimit.py,sha256=wvpZ-FlVoGwRjBALKT1in9cIriIwvyFqmHxgliNJEi8,3472
|
|
797
797
|
omlish/text/antlr/dot.py,sha256=-WHO-xDSv-Ir00TZ4sVIwunKYtZkRveaQ4m5FKj_bRs,962
|
|
@@ -872,9 +872,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
|
|
|
872
872
|
omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
|
|
873
873
|
omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
|
|
874
874
|
omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
|
|
875
|
-
omlish-0.0.0.
|
|
876
|
-
omlish-0.0.0.
|
|
877
|
-
omlish-0.0.0.
|
|
878
|
-
omlish-0.0.0.
|
|
879
|
-
omlish-0.0.0.
|
|
880
|
-
omlish-0.0.0.
|
|
875
|
+
omlish-0.0.0.dev364.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
|
876
|
+
omlish-0.0.0.dev364.dist-info/METADATA,sha256=ZOYVCoR87JVc1QxFTVZMhgI4L5a_nQN_HgZiDLraDY4,4416
|
|
877
|
+
omlish-0.0.0.dev364.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
878
|
+
omlish-0.0.0.dev364.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
|
879
|
+
omlish-0.0.0.dev364.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
|
880
|
+
omlish-0.0.0.dev364.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|