ommlds 0.0.0.dev515__py3-none-any.whl → 0.0.0.dev517__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.
@@ -1,13 +1,8 @@
1
- """
2
- TODO:
3
- - unify with omlish.sql.api.resources -> omlish.resources
4
- """
5
1
  import contextlib
6
2
  import typing as ta
7
3
 
8
- from omlish import check
9
- from omlish import collections as col
10
4
  from omlish import lang
5
+ from omlish import resources as _resources
11
6
  from omlish import typedvalues as tv
12
7
  from omlish.logs import all as logs
13
8
 
@@ -23,191 +18,14 @@ log = logs.get_module_logger(globals())
23
18
  ##
24
19
 
25
20
 
26
- class ResourcesRef(lang.Abstract):
27
- pass
28
-
29
-
30
- class ResourcesRefNotRegisteredError(Exception):
31
- pass
32
-
33
-
34
- @ta.final
35
- class Resources(lang.Final, lang.NotPicklable):
36
- """
37
- Essentially a reference-tracked AsyncContextManager.
38
- """
39
-
40
- def __init__(
41
- self,
42
- *,
43
- init_ref: ResourcesRef | None = None,
44
- no_autoclose: bool = False,
45
- ) -> None:
46
- super().__init__()
47
-
48
- self._no_autoclose = no_autoclose
49
-
50
- self._closed = False
51
-
52
- self._refs: ta.MutableSet[ResourcesRef] = col.IdentitySet()
53
-
54
- self._aes = contextlib.AsyncExitStack()
55
-
56
- if init_ref is not None:
57
- self.add_ref(init_ref)
58
-
59
- async def init(self) -> None:
60
- await self._aes.__aenter__()
61
-
62
- @property
63
- def autoclose(self) -> bool:
64
- return not self._no_autoclose
65
-
66
- @property
67
- def num_refs(self) -> int:
68
- return len(self._refs)
69
-
70
- @property
71
- def closed(self) -> bool:
72
- return self._closed
73
-
74
- def __repr__(self) -> str:
75
- return lang.attr_repr(self, 'closed', 'num_refs', with_id=True)
76
-
77
- #
78
-
79
- class _InitRef(ResourcesRef):
80
- pass
81
-
82
- @classmethod
83
- def new(cls, **kwargs: ta.Any) -> ta.AsyncContextManager['Resources']:
84
- @contextlib.asynccontextmanager
85
- async def inner():
86
- init_ref = Resources._InitRef()
87
-
88
- res = Resources(init_ref=init_ref, **kwargs)
89
-
90
- await res.init()
91
-
92
- try:
93
- yield res
94
-
95
- finally:
96
- await res.remove_ref(init_ref)
97
-
98
- return inner()
99
-
100
- #
101
-
102
- def add_ref(self, ref: ResourcesRef) -> None:
103
- check.isinstance(ref, ResourcesRef)
104
- check.state(not self._closed)
105
-
106
- self._refs.add(ref)
107
-
108
- def has_ref(self, ref: ResourcesRef) -> bool:
109
- return ref in self._refs
110
-
111
- async def remove_ref(self, ref: ResourcesRef) -> None:
112
- check.isinstance(ref, ResourcesRef)
113
-
114
- try:
115
- self._refs.remove(ref)
116
-
117
- except KeyError:
118
- raise ResourcesRefNotRegisteredError(ref) from None
119
-
120
- if not self._no_autoclose and not self._refs:
121
- await self.aclose()
122
-
123
- #
124
-
125
- def enter_context(self, cm: ta.ContextManager[T]) -> T:
126
- check.state(not self._closed)
127
-
128
- return self._aes.enter_context(cm)
129
-
130
- async def enter_async_context(self, cm: ta.AsyncContextManager[T]) -> T:
131
- check.state(not self._closed)
132
-
133
- return await self._aes.enter_async_context(cm)
134
-
135
- #
136
-
137
- def new_managed(self, v: T) -> 'ResourceManaged[T]':
138
- return ResourceManaged(v, self)
139
-
140
- #
141
-
142
- async def aclose(self) -> None:
143
- try:
144
- await self._aes.__aexit__(None, None, None)
145
- finally:
146
- self._closed = True
147
-
148
- def __del__(self) -> None:
149
- if not self._closed:
150
- ref_lst = list(self._refs)
151
- log.error(
152
- f'{__package__}.{self.__class__.__name__}.__del__: ' # noqa
153
- f'%r deleted without being closed! '
154
- f'refs: %s',
155
- repr(self),
156
- ref_lst,
157
- )
158
-
159
-
160
- ##
161
-
162
-
163
- @ta.final
164
- class ResourceManaged(ResourcesRef, lang.Final, lang.NotPicklable, ta.Generic[T]):
165
- """
166
- A class to 'handoff' a ref to a `Resources`, allowing the `Resources` to temporarily survive being passed from
167
- instantiation within a callee.
168
-
169
- This class wraps an arbitrary value, likely an object referencing resources managed by the `Resources`, which is
170
- accessed by `__aenter__`'ing. However, as the point of this class is handoff of a `Resources`, not necessarily some
171
- arbitrary value, the value needn't necessarily be related to the `Resources`, or may even be `None`.
172
-
173
- The ref to the `Resources` is allocated in the ctor, so the contract is that an instance of this must be immediately
174
- `__aenter__`'d before doing anything else with the return value of the call. Failure to do so leaks the `Resources`.
175
- """
176
-
177
- def __init__(self, v: T, resources: Resources) -> None:
178
- super().__init__()
179
-
180
- self.__v = v
181
- self.__resources = resources
182
-
183
- resources.add_ref(self)
184
-
185
- __state: ta.Literal['new', 'entered', 'exited'] = 'new'
186
-
187
- def __repr__(self) -> str:
188
- return f'{self.__class__.__name__}<{self.__v!r}, {self.__state}>'
189
-
190
- async def __aenter__(self) -> T:
191
- check.state(self.__state == 'new')
192
- self.__state = 'entered'
193
-
194
- return self.__v
21
+ ResourcesRef: ta.TypeAlias = _resources.ResourceManagerRef
22
+ ResourcesRefNotRegisteredError: ta.TypeAlias = _resources.ResourceManagerRefNotRegisteredError
195
23
 
196
- async def __aexit__(self, exc_type, exc_val, exc_tb):
197
- check.state(self.__state == 'entered')
198
- self.__state = 'exited'
24
+ Resources: ta.TypeAlias = _resources.AsyncResourceManager
199
25
 
200
- await self.__resources.remove_ref(self)
26
+ # Explicitly not marked as `ta.TypeAlias` because it confuses pycharm.
27
+ ResourceManaged = _resources.AsyncResourceManaged
201
28
 
202
- def __del__(self) -> None:
203
- if self.__state != 'exited':
204
- log.error(
205
- f'{__package__}.{self.__class__.__name__}.__del__: ' # noqa
206
- f'%r deleted without being entered and exited! '
207
- f'resources: %s',
208
- repr(self),
209
- repr(self.__resources),
210
- )
211
29
 
212
30
  ##
213
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev515
3
+ Version: 0.0.0.dev517
4
4
  Summary: ommlds
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,20 +14,20 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.0.dev515
17
+ Requires-Dist: omlish==0.0.0.dev517
18
18
  Provides-Extra: all
19
- Requires-Dist: omdev==0.0.0.dev515; extra == "all"
19
+ Requires-Dist: omdev==0.0.0.dev517; extra == "all"
20
20
  Requires-Dist: llama-cpp-python~=0.3; extra == "all"
21
21
  Requires-Dist: mlx~=0.30; sys_platform == "darwin" and extra == "all"
22
- Requires-Dist: mlx-lm~=0.29; sys_platform == "darwin" and extra == "all"
22
+ Requires-Dist: mlx-lm~=0.30; sys_platform == "darwin" and extra == "all"
23
23
  Requires-Dist: sentencepiece~=0.2; extra == "all"
24
24
  Requires-Dist: tiktoken~=0.12; extra == "all"
25
25
  Requires-Dist: tinygrad~=0.12; extra == "all"
26
26
  Requires-Dist: tokenizers~=0.22; extra == "all"
27
27
  Requires-Dist: torch~=2.10; extra == "all"
28
- Requires-Dist: transformers~=4.57; extra == "all"
28
+ Requires-Dist: transformers~=5.0; extra == "all"
29
29
  Requires-Dist: sentence-transformers~=5.2; extra == "all"
30
- Requires-Dist: huggingface-hub~=0.36; extra == "all"
30
+ Requires-Dist: huggingface-hub~=1.3; extra == "all"
31
31
  Requires-Dist: datasets~=4.5; extra == "all"
32
32
  Requires-Dist: regex>=2026.1; extra == "all"
33
33
  Requires-Dist: numpy>=1.26; extra == "all"
@@ -39,20 +39,20 @@ Requires-Dist: mwparserfromhell~=0.7; extra == "all"
39
39
  Requires-Dist: wikitextparser~=0.56; extra == "all"
40
40
  Requires-Dist: lxml>=5.3; python_version < "3.13" and extra == "all"
41
41
  Provides-Extra: omdev
42
- Requires-Dist: omdev==0.0.0.dev515; extra == "omdev"
42
+ Requires-Dist: omdev==0.0.0.dev517; extra == "omdev"
43
43
  Provides-Extra: backends
44
44
  Requires-Dist: llama-cpp-python~=0.3; extra == "backends"
45
45
  Requires-Dist: mlx~=0.30; sys_platform == "darwin" and extra == "backends"
46
- Requires-Dist: mlx-lm~=0.29; sys_platform == "darwin" and extra == "backends"
46
+ Requires-Dist: mlx-lm~=0.30; sys_platform == "darwin" and extra == "backends"
47
47
  Requires-Dist: sentencepiece~=0.2; extra == "backends"
48
48
  Requires-Dist: tiktoken~=0.12; extra == "backends"
49
49
  Requires-Dist: tinygrad~=0.12; extra == "backends"
50
50
  Requires-Dist: tokenizers~=0.22; extra == "backends"
51
51
  Requires-Dist: torch~=2.10; extra == "backends"
52
- Requires-Dist: transformers~=4.57; extra == "backends"
52
+ Requires-Dist: transformers~=5.0; extra == "backends"
53
53
  Requires-Dist: sentence-transformers~=5.2; extra == "backends"
54
54
  Provides-Extra: huggingface
55
- Requires-Dist: huggingface-hub~=0.36; extra == "huggingface"
55
+ Requires-Dist: huggingface-hub~=1.3; extra == "huggingface"
56
56
  Requires-Dist: datasets~=4.5; extra == "huggingface"
57
57
  Provides-Extra: nanochat
58
58
  Requires-Dist: regex>=2026.1; extra == "nanochat"
@@ -1,6 +1,6 @@
1
1
  ommlds/.omlish-manifests.json,sha256=fAltqnrgKoclgjSh60TjFimcKrcmyLgHAQv39V1ibaY,28921
2
2
  ommlds/README.md,sha256=xhbl2n19GznXrIzAGdlX8PAYJYsOo_Zu63I7G1UFRZE,398
3
- ommlds/__about__.py,sha256=HgYf-9_4V8-o3MkmYbjeHCkqyQugFN3u6at613N522Y,1838
3
+ ommlds/__about__.py,sha256=hnJON9dVbf0XEFzub7auqiCcDBhHD_9wYK3W87s6kl4,1836
4
4
  ommlds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  ommlds/_hacks/__init__.py,sha256=ajfw7dMKH8UuloeQ5MSxWwgAmdWf2v8gm-K3uLP9wtY,196
6
6
  ommlds/_hacks/funcs.py,sha256=8XseIblP7yolDUD7WQSGn1LP90IQzByVejSzphAPDyM,2861
@@ -42,18 +42,18 @@ ommlds/backends/mlx/__init__.py,sha256=caiXip6b1pc5EyA-icH44Zs7taC5bLitJQySR7mBu
42
42
  ommlds/backends/mlx/__main__.py,sha256=gFhR9DikwDZk0LqgdR3qq_aXQHThUOPllDmHDOfnFAU,67
43
43
  ommlds/backends/mlx/caching.py,sha256=XABUfeEzJT9zELMrj2inpLRxcU7CjaqQlzhRb3KKyM4,2005
44
44
  ommlds/backends/mlx/cli.py,sha256=Vf-dV_g440DiQu4y5FJkBK7sddZXrLuQ2AGNgwFy3Z0,10789
45
- ommlds/backends/mlx/generation.py,sha256=RRmcpAwjFPtuir-3cyitwOY0QCt6m9ZsUZzwYSP-36Y,9918
45
+ ommlds/backends/mlx/generation.py,sha256=qOHjXR9oOPJUbF5tF8CgX9LkJpW91qirqqCJg-5924M,9954
46
46
  ommlds/backends/mlx/limits.py,sha256=UaadamBmyL8QSZEXI72X2W9_E3l6HTqBPEfdb-xDq9E,2884
47
47
  ommlds/backends/mlx/loading.py,sha256=jsblR6usagSQORNH-nfSUD9jF4x9a6iati-J5PF3cf4,3665
48
48
  ommlds/backends/mlx/tokenization/LICENSE,sha256=0T9KDFIRDAqANM8DZgpgrzPq3WwnBKsw5EkrkeR3xqM,1066
49
49
  ommlds/backends/mlx/tokenization/__init__.py,sha256=0GfhhjUc4OhY_dpQncq984kcdyOCholjVNjAIAcjAHM,232
50
50
  ommlds/backends/mlx/tokenization/loading.py,sha256=OSD7-ZnLuY2Owv5MpQB8CCEPMhOPwParqMPpS5omZBI,3154
51
- ommlds/backends/mlx/tokenization/tokenization.py,sha256=rcpu1aem6J351duWxfEP4uxsvSH9ShN3Ett4fVdQ2ok,1352
51
+ ommlds/backends/mlx/tokenization/tokenization.py,sha256=q317pV0YSKa4d11UsxXChogNtigRiApSAx2Gm0hyXHA,1398
52
52
  ommlds/backends/mlx/tokenization/types.py,sha256=ZrIdHSPhvdapjxkN0T6OqJy402MjTtnOkW61-E5wndE,1716
53
53
  ommlds/backends/mlx/tokenization/detokenization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
54
  ommlds/backends/mlx/tokenization/detokenization/base.py,sha256=Tezf8Anh-w7BxpNQsdriKpIypo2xaUYpElrxEi17tI0,2490
55
55
  ommlds/backends/mlx/tokenization/detokenization/bpe.py,sha256=cIw6-r-cyXTfZdyfGRgohrElMIqeLKfMRb8R1H_56nY,3659
56
- ommlds/backends/mlx/tokenization/detokenization/naive.py,sha256=6L-SvphzP1z16cmVB4QC9VraF7khE8ZcvKqIwwFqN6U,1779
56
+ ommlds/backends/mlx/tokenization/detokenization/naive.py,sha256=OI78BNGYW4gtFIASWTDXhsYl9VzB1PG5V6O77or-c3A,1851
57
57
  ommlds/backends/mlx/tokenization/detokenization/spm.py,sha256=IYSnEm-C0z_o5TKLJE_Rj6P0nNd-prT6psVPKsERWAE,1751
58
58
  ommlds/backends/ollama/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
59
59
  ommlds/backends/ollama/_dataclasses.py,sha256=SxyfdM4Bv8iXlSQ2RoiMXFNM9MyjTAOFIPPr_JIMTsk,211794
@@ -103,13 +103,14 @@ ommlds/backends/torch/devices.py,sha256=KWkeyArPdUwVqckQTJPkN-4GQdv39cpOgCMv_Xfk
103
103
  ommlds/backends/torch/purge.py,sha256=sp6XUxNLoVCepxIPKw3tevHn-cQqgorILvIQzixauiI,1834
104
104
  ommlds/backends/transformers/__init__.py,sha256=SCQ8a-0XihXaUzSsUYGo3buRMogPmybzfmhr2OBtw3U,261
105
105
  ommlds/backends/transformers/filecache.py,sha256=ycfswt7f4qRrPSTFRhofXZaDBuDPpypEKwXzSBsBsu8,3317
106
- ommlds/backends/transformers/streamers.py,sha256=Hu_9lp_kUilKjOfs7Ixqr2NoA5FuRn2eRh8JdvaBDYc,1688
106
+ ommlds/backends/transformers/streamers.py,sha256=wYDAqYIlmGaBP0LKGyHjAHmGzv7VuGAM4OnE5pYX3wA,1942
107
107
  ommlds/cli/__init__.py,sha256=-RtLrdEGN2da1KCf7YNs32jN-kJhT_kNVrcOv4x_J-w,101
108
108
  ommlds/cli/__main__.py,sha256=1ffCb0fcUOJMzxROJmJRXQ8PSOVYv7KrcuBtT95cf0c,140
109
- ommlds/cli/_dataclasses.py,sha256=UO9UdIEGJkqfUhpS3IaISxwyPX5aNJgMarfpUjY3f38,180545
109
+ ommlds/cli/_dataclasses.py,sha256=M8wh-aSazOnsSeNI1zL-wabg8loEaUKtYVqqXRlZt3s,187208
110
110
  ommlds/cli/asyncs.py,sha256=NAMzzaZq7ORjlbbBB_Y9vcM9qoBpGf4VJNtl_3p_8G4,629
111
- ommlds/cli/inject.py,sha256=Bt-T-vQIbp8vh6q21Tt3wDztFZ9FPxNhH2ocrAfjArE,815
112
- ommlds/cli/main.py,sha256=qFi7TqkdUYlWLuj1g0-1g9aSMniop2fTxfNktF8pTt0,11488
111
+ ommlds/cli/inject.py,sha256=DRNDcbGZz5HqHFPejohqbLLYgTptcps0pU1uJ40ePb0,918
112
+ ommlds/cli/main.py,sha256=wwjkfZXaZKJO6tuVAUMlXnRaBicWU-kscufcVuJAHZk,2024
113
+ ommlds/cli/profiles.py,sha256=xsBLDe50OchpDhSglKg-IoeFHOo84BJxXbT18SSN-H0,13750
113
114
  ommlds/cli/secrets.py,sha256=wwtcKjDH34wywfs5zixx3TMbWXCvlZj-PwQoLMM7Fqs,473
114
115
  ommlds/cli/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
116
  ommlds/cli/backends/catalog.py,sha256=snQSdUyFiNJhvzVRShBqqp1bZpZlmoKvonypNMZz3HI,3002
@@ -133,7 +134,8 @@ ommlds/cli/rendering/types.py,sha256=y7zYLyvc91CHO1KAtYbNHTzW-ddddOjF-weO9Gw8qok
133
134
  ommlds/cli/sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
135
  ommlds/cli/sessions/base.py,sha256=vhYXELKe8lKRBISp7WqOcf8Ob5uy50KY_0DvcxxFj0M,192
135
136
  ommlds/cli/sessions/configs.py,sha256=puuqJ3iTBNp5tEQq3fnltcsHYD9fojOfj1-u3qB2UJc,154
136
- ommlds/cli/sessions/inject.py,sha256=ji7y9geVuDadi8guSn9-o1bHOAG76GODRL8MajbKbxE,859
137
+ ommlds/cli/sessions/inject.py,sha256=Wtw5KyX9SJTTYxvBLJWohlJfXPZg2yyZ5cbfV_SFInc,1073
138
+ ommlds/cli/sessions/types.py,sha256=iSIThiCR-Veus9LRqvva0B11iFtO_vFQ5Sb82U5xQYk,86
137
139
  ommlds/cli/sessions/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
140
  ommlds/cli/sessions/chat/configs.py,sha256=qJbBJvmGHeciJz3pA3BFMnn3KsdIEVJeqvqw_uss1Lc,583
139
141
  ommlds/cli/sessions/chat/inject.py,sha256=oeyahapgdIVmamDdnzHIGvoEK7oYb0AD4-rxolk3vX8,957
@@ -214,7 +216,7 @@ ommlds/cli/sessions/chat/interfaces/bare/interactive.py,sha256=ZnYoePvXtUbhkDQ0j
214
216
  ommlds/cli/sessions/chat/interfaces/bare/oneshot.py,sha256=b758OIa0gf9I_0UdxYJ6re-g8-8xndgr3R0OotUOsmc,387
215
217
  ommlds/cli/sessions/chat/interfaces/bare/tools.py,sha256=_UsuoXLIvfpFP_We5DBBlhm6rwB3_cFA3lmFvpG9b-A,824
216
218
  ommlds/cli/sessions/chat/interfaces/textual/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
- ommlds/cli/sessions/chat/interfaces/textual/app.py,sha256=QVLD4ZT4-SJ4UQhKSfm6MAjOtqeLtYhW3tMMXxg7h88,13432
219
+ ommlds/cli/sessions/chat/interfaces/textual/app.py,sha256=-T4tURkEj4WDZo1eZmnDgeoWd1C_iA8ec8P-ARRex6o,13712
218
220
  ommlds/cli/sessions/chat/interfaces/textual/configs.py,sha256=-pvG2_Uai70ohDfK4Tt8yaHnvdCs10_gaoQkr-CsOqA,213
219
221
  ommlds/cli/sessions/chat/interfaces/textual/facades.py,sha256=zXVG7DKVl-Xtdc893O_yktHCMvM0do6hLesMd8hbqeo,411
220
222
  ommlds/cli/sessions/chat/interfaces/textual/inject.py,sha256=eBhFVZ2VmQdoTPSZvi2OSkZ-fX8Mw2TKo28bHZeACJY,3056
@@ -242,7 +244,7 @@ ommlds/cli/state/storage.py,sha256=Wr8DVuEGUxfFJn0tMWNTVdint6NBDdLKstNWSjx8sKw,3
242
244
  ommlds/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
245
  ommlds/datasets/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
246
  ommlds/datasets/lib/movies.py,sha256=LmdfoXsZU9XMM_r-sxCLv_s06BFzwWO4xUj6sc9XVcI,1961
245
- ommlds/minichain/__init__.py,sha256=pmYyU-bDodWx3sKU0NmcLXDY5mp8BxM8S60LMghSxgQ,14048
247
+ ommlds/minichain/__init__.py,sha256=eeJ0JZRJjVwp4hkNtoPpDuPDIAwY__BZ_uD7uzahx44,14048
246
248
  ommlds/minichain/_dataclasses.py,sha256=D3K9j3I5-s5LAN9b5ZmWT80rbYMMVURLDpFXf6MkSQc,956494
247
249
  ommlds/minichain/_marshal.py,sha256=n9PGWrHhvAmGIc7KDOYt3IF9Z6G0ncXskyICTp3Ji6k,1923
248
250
  ommlds/minichain/_typedvalues.py,sha256=0EkpyGo1IVnpcsssz8Xdm_vIoqIbb0dKdhZ5AJzAJCk,2292
@@ -251,7 +253,7 @@ ommlds/minichain/configs.py,sha256=WwrHxfkDAfo_RtuCqUgySthj-2W26lZbpuQoghUyGNw,1
251
253
  ommlds/minichain/envs.py,sha256=vE2CSeT6KYxOpPY72VbFLzGUnBERYdhfiEUlvSRHkXE,225
252
254
  ommlds/minichain/json.py,sha256=0_5rV5Zi2qPOvXi2CLAc5DF7FN3jK3ABbjoKdjtTuVo,360
253
255
  ommlds/minichain/metadata.py,sha256=NRrcfN2l4XArHXje3vA9AmkDceXsN-ymT8fbmbW0Ka8,2228
254
- ommlds/minichain/resources.py,sha256=ERGSVNcfuvjY8lLpcIvoB1X4KVn831F4lmUn7wnYw-M,5880
256
+ ommlds/minichain/resources.py,sha256=4tK9ImmW4j7RWg3Ti2wm7u_wZOlQftzpt4bqFn-3Rh4,1150
255
257
  ommlds/minichain/search.py,sha256=YOMJKkTLLSfGKaxltk9bf5OdPq7MpCtLOC3NZ_4iq-E,1269
256
258
  ommlds/minichain/standard.py,sha256=l7C6EXE4FgfJOphl0vHMwCq4FvMNViloz7pPfMsRnGU,2637
257
259
  ommlds/minichain/types.py,sha256=K6RRjpUi17UEG0cqPrrvbVANU0iRVh3WLiH-y6oEWFI,414
@@ -319,7 +321,7 @@ ommlds/minichain/backends/impls/tokenizers/__init__.py,sha256=47DEQpj8HBSa-_TImW
319
321
  ommlds/minichain/backends/impls/tokenizers/tokens.py,sha256=wLz9UTWhHrrJm56ZSLZDRkrOsCF6_ydfWcL2EQgidbE,1577
320
322
  ommlds/minichain/backends/impls/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
323
  ommlds/minichain/backends/impls/transformers/sentence.py,sha256=0T01aY0rVauw--AdchroNkcwaK3ku0ZdP8ikcsYeHyA,1462
322
- ommlds/minichain/backends/impls/transformers/tokens.py,sha256=ozlTX0c3sixgcgz87OwEBoVxTF69MTz46LbHzuS8r2Y,2166
324
+ ommlds/minichain/backends/impls/transformers/tokens.py,sha256=xJMEOgkjCNBz0Uf0Msmqsgn7BRBUwIGN7xXW9rdegSM,2343
323
325
  ommlds/minichain/backends/impls/transformers/transformers.py,sha256=6eQa95I4PEcUap3bhpRujEDRsVG3MX768bZk4944fPg,9064
324
326
  ommlds/minichain/backends/strings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
327
  ommlds/minichain/backends/strings/manifests.py,sha256=kmlanVUAZqIh0P95Mm8H20e8ib3gEgYHHUlkCXDQGFk,413
@@ -526,9 +528,9 @@ ommlds/wiki/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
526
528
  ommlds/wiki/utils/io.py,sha256=UKgDJGtmpnWvIqVd2mJc2QNPOqlToEY1GEveNp6_pMo,7088
527
529
  ommlds/wiki/utils/progress.py,sha256=EhvKcMFYtsarCQhIahlO6f0SboyAKP3UwUyrnVnP-Vk,3222
528
530
  ommlds/wiki/utils/xml.py,sha256=sNJNkZ9rT8B-kJMO6bRz8J1USy4fyPx0m2PwTX7vxYY,3846
529
- ommlds-0.0.0.dev515.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
530
- ommlds-0.0.0.dev515.dist-info/METADATA,sha256=Ymblue2sqaQ1fupD_pdxYWr0xwhiL2JytUMrqYk_XFQ,3602
531
- ommlds-0.0.0.dev515.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
532
- ommlds-0.0.0.dev515.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
533
- ommlds-0.0.0.dev515.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
534
- ommlds-0.0.0.dev515.dist-info/RECORD,,
531
+ ommlds-0.0.0.dev517.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
532
+ ommlds-0.0.0.dev517.dist-info/METADATA,sha256=KqN06bho4VLzIJy9-TNVG3WxenSay7xu3PgnH5XJ6z8,3598
533
+ ommlds-0.0.0.dev517.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
534
+ ommlds-0.0.0.dev517.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
535
+ ommlds-0.0.0.dev517.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
536
+ ommlds-0.0.0.dev517.dist-info/RECORD,,