ommlds 0.0.0.dev505__py3-none-any.whl → 0.0.0.dev506__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.
ommlds/__about__.py CHANGED
@@ -41,11 +41,11 @@ class Project(ProjectBase):
41
41
 
42
42
  'huggingface': [
43
43
  'huggingface-hub ~= 0.36',
44
- 'datasets ~= 4.4',
44
+ 'datasets ~= 4.5',
45
45
  ],
46
46
 
47
47
  'nanochat': [
48
- 'regex >= 2025.0',
48
+ 'regex >= 2026.1',
49
49
  ],
50
50
 
51
51
  'numpy': [
@@ -659,20 +659,22 @@ def _process_dataclass__3576262424b3ef8ff20966fa3744e5dba9a2ae7d():
659
659
  "True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param"
660
660
  "='self', std_params=(), kw_only_params=('default', 'aliases'), frozen=True, slots=False, post_init_params=None"
661
661
  ", init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='default', kw_only=True, fn=None), ReprP"
662
- "lan.Field(name='aliases', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
662
+ "lan.Field(name='aliases', kw_only=True, fn=None)), id=False, terse=False, default_fn=OpRef(name='repr.default_"
663
+ "fn'))))"
663
664
  ),
664
- plan_repr_sha1='ac01c4fef98980477efa107b7b5909a6386bef53',
665
+ plan_repr_sha1='c8c236ef2e6c5a0fc4cdfc450a520f0cc16ee67e',
665
666
  op_ref_idents=(
666
667
  '__dataclass__init__fields__0__annotation',
667
668
  '__dataclass__init__fields__0__default',
668
669
  '__dataclass__init__fields__1__annotation',
669
670
  '__dataclass__init__fields__1__default',
671
+ '__dataclass__repr__default_fn',
670
672
  ),
671
673
  cls_names=(
672
674
  ('ommlds.minichain.backends.catalogs.strings', 'ModelNameCollection'),
673
675
  ),
674
676
  )
675
- def _process_dataclass__ac01c4fef98980477efa107b7b5909a6386bef53():
677
+ def _process_dataclass__c8c236ef2e6c5a0fc4cdfc450a520f0cc16ee67e():
676
678
  def _process_dataclass(
677
679
  *,
678
680
  __dataclass__cls,
@@ -680,6 +682,7 @@ def _process_dataclass__ac01c4fef98980477efa107b7b5909a6386bef53():
680
682
  __dataclass__init__fields__0__default,
681
683
  __dataclass__init__fields__1__annotation,
682
684
  __dataclass__init__fields__1__default,
685
+ __dataclass__repr__default_fn,
683
686
  __dataclass__FieldFnValidationError, # noqa
684
687
  __dataclass__FieldTypeValidationError, # noqa
685
688
  __dataclass__FnValidationError, # noqa
@@ -784,8 +787,10 @@ def _process_dataclass__ac01c4fef98980477efa107b7b5909a6386bef53():
784
787
  @__dataclass___recursive_repr()
785
788
  def __repr__(self):
786
789
  parts = []
787
- parts.append(f"default={self.default!r}")
788
- parts.append(f"aliases={self.aliases!r}")
790
+ if (s := __dataclass__repr__default_fn(self.default)) is not None:
791
+ parts.append(f"default={s}")
792
+ if (s := __dataclass__repr__default_fn(self.aliases)) is not None:
793
+ parts.append(f"aliases={s}")
789
794
  return (
790
795
  f"{self.__class__.__qualname__}("
791
796
  f"{', '.join(parts)}"
@@ -32,10 +32,11 @@ class BackendStringBackendCatalog(BackendCatalog):
32
32
 
33
33
  def get_backend(self, service_cls: ta.Any, name: str, *args: ta.Any, **kwargs: ta.Any) -> BackendCatalog.Backend:
34
34
  ps = parse_backend_string(name)
35
- rs = check.not_none(self._string_resolver.resolve_backend_string(ResolveBackendStringArgs(
35
+ rba = ResolveBackendStringArgs(
36
36
  service_cls,
37
37
  ps,
38
- )))
38
+ )
39
+ rs = check.not_none(self._string_resolver.resolve_backend_string(rba))
39
40
 
40
41
  al: list = list(rs.args or [])
41
42
 
@@ -97,6 +97,8 @@ class ManifestBackendStringResolver(BackendStringResolver):
97
97
  for scn in manifest.service_cls_names
98
98
  }
99
99
 
100
+ __repr__ = lang.attr_ops('_manifest').repr
101
+
100
102
  def _resolve_name_model(
101
103
  self,
102
104
  args: ResolveBackendStringArgs,
@@ -6,6 +6,7 @@ import typing as ta
6
6
 
7
7
  from omlish import cached
8
8
  from omlish import dataclasses as dc
9
+ from omlish import lang
9
10
  from omlish.algorithm.toposort import mut_toposort
10
11
 
11
12
 
@@ -13,6 +14,7 @@ from omlish.algorithm.toposort import mut_toposort
13
14
 
14
15
 
15
16
  @dc.dataclass(frozen=True, kw_only=True)
17
+ @dc.extra_class_params(default_repr_fn=lang.opt_repr)
16
18
  class ModelNameCollection:
17
19
  default: str | None = None
18
20
 
@@ -1,3 +1,4 @@
1
+ # https://github.com/karpathy/rustbpe/tree/ddf848f6961a0655dc8693742fc338e5682c0d3b
1
2
  # https://github.com/karpathy/nanochat/tree/9467d83cf23dcc9a9b4ca6e35103142f48a55b27
2
3
 
3
4
  ---
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ommlds
3
- Version: 0.0.0.dev505
3
+ Version: 0.0.0.dev506
4
4
  Summary: ommlds
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,9 +14,9 @@ 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.dev505
17
+ Requires-Dist: omlish==0.0.0.dev506
18
18
  Provides-Extra: all
19
- Requires-Dist: omdev==0.0.0.dev505; extra == "all"
19
+ Requires-Dist: omdev==0.0.0.dev506; 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
22
  Requires-Dist: mlx-lm~=0.29; sys_platform == "darwin" and extra == "all"
@@ -27,8 +27,8 @@ Requires-Dist: torch~=2.9; extra == "all"
27
27
  Requires-Dist: transformers~=4.57; extra == "all"
28
28
  Requires-Dist: sentence-transformers~=5.2; extra == "all"
29
29
  Requires-Dist: huggingface-hub~=0.36; extra == "all"
30
- Requires-Dist: datasets~=4.4; extra == "all"
31
- Requires-Dist: regex>=2025.0; extra == "all"
30
+ Requires-Dist: datasets~=4.5; extra == "all"
31
+ Requires-Dist: regex>=2026.1; extra == "all"
32
32
  Requires-Dist: numpy>=1.26; extra == "all"
33
33
  Requires-Dist: pytesseract~=0.3; extra == "all"
34
34
  Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "all"
@@ -38,7 +38,7 @@ Requires-Dist: mwparserfromhell~=0.7; extra == "all"
38
38
  Requires-Dist: wikitextparser~=0.56; extra == "all"
39
39
  Requires-Dist: lxml>=5.3; python_version < "3.13" and extra == "all"
40
40
  Provides-Extra: omdev
41
- Requires-Dist: omdev==0.0.0.dev505; extra == "omdev"
41
+ Requires-Dist: omdev==0.0.0.dev506; extra == "omdev"
42
42
  Provides-Extra: backends
43
43
  Requires-Dist: llama-cpp-python~=0.3; extra == "backends"
44
44
  Requires-Dist: mlx~=0.30; sys_platform == "darwin" and extra == "backends"
@@ -51,9 +51,9 @@ Requires-Dist: transformers~=4.57; extra == "backends"
51
51
  Requires-Dist: sentence-transformers~=5.2; extra == "backends"
52
52
  Provides-Extra: huggingface
53
53
  Requires-Dist: huggingface-hub~=0.36; extra == "huggingface"
54
- Requires-Dist: datasets~=4.4; extra == "huggingface"
54
+ Requires-Dist: datasets~=4.5; extra == "huggingface"
55
55
  Provides-Extra: nanochat
56
- Requires-Dist: regex>=2025.0; extra == "nanochat"
56
+ Requires-Dist: regex>=2026.1; extra == "nanochat"
57
57
  Provides-Extra: numpy
58
58
  Requires-Dist: numpy>=1.26; extra == "numpy"
59
59
  Provides-Extra: ocr
@@ -1,6 +1,6 @@
1
1
  ommlds/.omlish-manifests.json,sha256=8fbwe2p3vu-qOXuBIKtwadocgl-rNP6H42qRRR_j9mY,28359
2
2
  ommlds/README.md,sha256=xhbl2n19GznXrIzAGdlX8PAYJYsOo_Zu63I7G1UFRZE,398
3
- ommlds/__about__.py,sha256=hz4YAxWP4zYOs_hxzZNoGRo1L2mm-6-CM0wj5bcXXbc,1901
3
+ ommlds/__about__.py,sha256=5uwlSH3-Tf8nr0wsDL7kYqAQ_lI21WAYbTlAlGLtwyI,1901
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
@@ -239,7 +239,7 @@ ommlds/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
239
  ommlds/datasets/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
240
  ommlds/datasets/lib/movies.py,sha256=LmdfoXsZU9XMM_r-sxCLv_s06BFzwWO4xUj6sc9XVcI,1961
241
241
  ommlds/minichain/__init__.py,sha256=GryYNuSiSv7LvoIyP6rYGDnHe2Q4Rkr4majHaEd2nhs,13794
242
- ommlds/minichain/_dataclasses.py,sha256=F-kqXtzODV1RbcjR3LpTwLWqbj4CU872AhFdXECbVos,948452
242
+ ommlds/minichain/_dataclasses.py,sha256=HK9ZIQGoERkR6kZramRLHRiWBDmetTV3Rgi5J-gl5Nw,948708
243
243
  ommlds/minichain/_marshal.py,sha256=n9PGWrHhvAmGIc7KDOYt3IF9Z6G0ncXskyICTp3Ji6k,1923
244
244
  ommlds/minichain/_typedvalues.py,sha256=NEQ7YCD7YtYJoEKHRwBksHFv-CULvyXniju_IeVfD5s,2349
245
245
  ommlds/minichain/completion.py,sha256=lQ0LfCIYZsvDqteHhhDIv16D2_gn_xMfEL0ouywE5Yo,1033
@@ -256,7 +256,7 @@ ommlds/minichain/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
256
256
  ommlds/minichain/backends/catalogs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
257
257
  ommlds/minichain/backends/catalogs/base.py,sha256=6ThxF-OozMm0aGHAo3UyKUcNA3TVda0w_QLpbz7XmEU,1306
258
258
  ommlds/minichain/backends/catalogs/simple.py,sha256=T6GeY902XPRjNnwX1AivunpkirLyxFg5rG2V2LA0Puo,1501
259
- ommlds/minichain/backends/catalogs/strings.py,sha256=tuezU7px8-Jjtil0-z-LCxYt7kFolilCEU7tM68MdyQ,1822
259
+ ommlds/minichain/backends/catalogs/strings.py,sha256=e7Q8cnatOzcnhJ5zKqVkwvVjGhA8EmMg0WtqNxS61Mk,1840
260
260
  ommlds/minichain/backends/impls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
261
  ommlds/minichain/backends/impls/mistral.py,sha256=nC0aqabg-I7JJyxHHMZASASksqV1at7nJWZHGtCwfio,2843
262
262
  ommlds/minichain/backends/impls/sqlite.py,sha256=NOFm_fgr-OZ8mo7etj0zwvxsDnidRwKzhdDom58e6ks,2157
@@ -320,7 +320,7 @@ ommlds/minichain/backends/impls/transformers/transformers.py,sha256=hXWNe2knROuT
320
320
  ommlds/minichain/backends/strings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
321
  ommlds/minichain/backends/strings/manifests.py,sha256=kmlanVUAZqIh0P95Mm8H20e8ib3gEgYHHUlkCXDQGFk,413
322
322
  ommlds/minichain/backends/strings/parsing.py,sha256=Etmk04BnKvCMtGg4AgbvxsPGvfRcLldLxpdpxcozdNk,1779
323
- ommlds/minichain/backends/strings/resolving.py,sha256=b2Ivt6Xi50Jv8U7ef6CkMWzJDTBF28pqyNN4_9z39TY,5861
323
+ ommlds/minichain/backends/strings/resolving.py,sha256=EXgOmcBJsBnUmo1FMgd3-RLR5TgNXOY27gGTN7JP01E,5909
324
324
  ommlds/minichain/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
325
  ommlds/minichain/chat/_marshal.py,sha256=M3p093nxzxITbznc--P-tyCXuWDHrq4JFKTZAx6XWdk,740
326
326
  ommlds/minichain/chat/content.py,sha256=NpxeYxP7WOWq94UR9AY0THVRIzWAcgP1w7r_srgntOk,1098
@@ -424,7 +424,7 @@ ommlds/minichain/llms/tokens.py,sha256=RPrAzf4Qx9xNPGj7_EkzcVOR9qIGkhQg8AM6qhr7g
424
424
  ommlds/minichain/llms/types.py,sha256=STXV-zAhJ2yytbVn6JSNxCLDIqmKpsg0q4vq8ueRvJA,1130
425
425
  ommlds/minichain/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
426
426
  ommlds/minichain/models/configs.py,sha256=5iyz_yDk3nlfQouRTvy__8I_ohn7bh67LTbFn30t5UU,825
427
- ommlds/minichain/models/names.py,sha256=SqXrOkSFTI2VkfA5puGGb0EFg2TvvNZpJgTF7eS60CY,1158
427
+ ommlds/minichain/models/names.py,sha256=hwzKtRMY3Ch4gBtIVfWKvlq77EQSvdPub0TZ9F3i7pM,1236
428
428
  ommlds/minichain/models/repos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
429
429
  ommlds/minichain/models/repos/resolving.py,sha256=I8l8osTJNE0mT5nmb7tYhOfNH0f-F3JQVkvIrjLPvOE,602
430
430
  ommlds/minichain/registries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -489,7 +489,7 @@ ommlds/nanochat/LICENSE,sha256=QrsJ8zmor4uQ07SWm29uS6Sv87XGFBA7Ax_M33HI93I,1072
489
489
  ommlds/nanochat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
490
490
  ommlds/nanochat/tokenizers.py,sha256=DuDLJAawl_BuwTO1Jj8ANDkqwMFh6jkV9IPjj9DMhfA,17575
491
491
  ommlds/nanochat/rustbpe/LICENSE,sha256=QrsJ8zmor4uQ07SWm29uS6Sv87XGFBA7Ax_M33HI93I,1072
492
- ommlds/nanochat/rustbpe/README.md,sha256=JG_u4gU2Yb5e4vqdf_4SWUgj82RRCygomC1vh4bBFDY,1245
492
+ ommlds/nanochat/rustbpe/README.md,sha256=Kfa8JWWSVx4YBxjt8648fd7oMvXlsU332Z7Fx0yvWdc,1329
493
493
  ommlds/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
494
494
  ommlds/server/__main__.py,sha256=morlItVl-0_MDK6xk2VKhqOtA8oQk0SoWOWEqcgqXTw,155
495
495
  ommlds/server/cli.py,sha256=gCN__45IXjCtk-tWwO2hr8vs5K-R0e1auNWdIc7d6_U,1825
@@ -516,9 +516,9 @@ ommlds/wiki/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
516
516
  ommlds/wiki/utils/io.py,sha256=UKgDJGtmpnWvIqVd2mJc2QNPOqlToEY1GEveNp6_pMo,7088
517
517
  ommlds/wiki/utils/progress.py,sha256=EhvKcMFYtsarCQhIahlO6f0SboyAKP3UwUyrnVnP-Vk,3222
518
518
  ommlds/wiki/utils/xml.py,sha256=sNJNkZ9rT8B-kJMO6bRz8J1USy4fyPx0m2PwTX7vxYY,3846
519
- ommlds-0.0.0.dev505.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
520
- ommlds-0.0.0.dev505.dist-info/METADATA,sha256=u0AJNyhefq8XfxNXBnnAFCVhZfdrGc9CWrDDy8k1aU0,3495
521
- ommlds-0.0.0.dev505.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
522
- ommlds-0.0.0.dev505.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
523
- ommlds-0.0.0.dev505.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
524
- ommlds-0.0.0.dev505.dist-info/RECORD,,
519
+ ommlds-0.0.0.dev506.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
520
+ ommlds-0.0.0.dev506.dist-info/METADATA,sha256=3ncoVk1_7XcnFOZJPLu0u8dyy_wJLWhCnbObf9nnWCc,3495
521
+ ommlds-0.0.0.dev506.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
522
+ ommlds-0.0.0.dev506.dist-info/entry_points.txt,sha256=Z5YWtX7ClfiCKdW-dd_CSVvM0h4yQpJPi-2G3q6gNFo,35
523
+ ommlds-0.0.0.dev506.dist-info/top_level.txt,sha256=Rbnk5d5wi58vnAXx13WFZqdQ4VX8hBCS2hEL3WeXOhY,7
524
+ ommlds-0.0.0.dev506.dist-info/RECORD,,