mm-std 0.3.3__py3-none-any.whl → 0.3.5__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.
mm_std/__init__.py CHANGED
@@ -44,4 +44,6 @@ from .str import number_with_separator as number_with_separator
44
44
  from .str import str_ends_with_any as str_ends_with_any
45
45
  from .str import str_starts_with_any as str_starts_with_any
46
46
  from .str import str_to_list as str_to_list
47
+ from .toml import toml_dumps as toml_dumps
48
+ from .toml import toml_loads as toml_loads
47
49
  from .zip import read_text_from_zip_archive as read_text_from_zip_archive
mm_std/result.py CHANGED
@@ -2,12 +2,13 @@ from __future__ import annotations
2
2
 
3
3
  import time
4
4
  from collections.abc import Callable
5
- from typing import Any, Literal, NoReturn, TypeVar, Union
5
+ from typing import Any, ClassVar, Literal, NoReturn, TypeVar, Union
6
6
 
7
7
  from pydantic_core import core_schema
8
8
 
9
9
 
10
10
  class Ok[T]:
11
+ model_config: ClassVar[dict[str, object]] = {"arbitrary_types_allowed": True}
11
12
  __match_args__ = ("ok",)
12
13
 
13
14
  def __init__(self, ok: T, data: object = None) -> None:
@@ -115,6 +116,7 @@ class Ok[T]:
115
116
 
116
117
 
117
118
  class Err:
119
+ model_config: ClassVar[dict[str, object]] = {"arbitrary_types_allowed": True}
118
120
  __match_args__ = ("err",)
119
121
 
120
122
  def __init__(self, err: str | Exception, data: object = None) -> None:
mm_std/toml.py ADDED
@@ -0,0 +1,22 @@
1
+ from collections.abc import Mapping
2
+ from decimal import Decimal
3
+
4
+ import tomlkit
5
+ from tomlkit.items import Float, Trivia
6
+
7
+
8
+ def encode_decimal(value: object) -> Float:
9
+ if isinstance(value, Decimal):
10
+ return Float(value=float(value), trivia=Trivia(), raw=str(value))
11
+ raise TypeError(f"Cannot convert {type(value)} to TOML item")
12
+
13
+
14
+ tomlkit.register_encoder(encode_decimal)
15
+
16
+
17
+ def toml_dumps(data: Mapping[str, object], sort_keys: bool = False) -> str:
18
+ return tomlkit.dumps(data, sort_keys=sort_keys)
19
+
20
+
21
+ def toml_loads(string: str | bytes) -> tomlkit.TOMLDocument:
22
+ return tomlkit.loads(string)
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mm-std
3
- Version: 0.3.3
3
+ Version: 0.3.5
4
4
  Requires-Python: >=3.12
5
- Requires-Dist: cryptography~=44.0.1
5
+ Requires-Dist: cryptography~=44.0.2
6
6
  Requires-Dist: httpx[http2,socks]~=0.28.1
7
7
  Requires-Dist: pydantic~=2.10.6
8
8
  Requires-Dist: pydash~=8.0.5
9
9
  Requires-Dist: python-dotenv~=1.0.1
10
- Requires-Dist: pyyaml~=6.0.2
11
10
  Requires-Dist: rich~=13.9.4
11
+ Requires-Dist: tomlkit~=0.13.2
@@ -1,4 +1,4 @@
1
- mm_std/__init__.py,sha256=V5T6MYRjFqSH34-olvZaQAxX6pYl_lQbSVVHxZ1hC04,2350
1
+ mm_std/__init__.py,sha256=pCAEs0eN-X9NRUe6yYHClkjIBA-h4-LoBhHo1D4oE8k,2436
2
2
  mm_std/command.py,sha256=ze286wjUjg0QSTgIu-2WZks53_Vclg69UaYYgPpQvCU,1283
3
3
  mm_std/concurrency.py,sha256=4kKLhde6YQYsjJJjH6K5eMQj6FtegEz55Mo5TmhQMM0,5242
4
4
  mm_std/config.py,sha256=4DGzjLO8TYno1xF8wj2hRaw2-gfNzt_W1_bt7w8ovno,1874
@@ -14,10 +14,11 @@ mm_std/net.py,sha256=qdRCBIDneip6FaPNe5mx31UtYVmzqam_AoUF7ydEyjA,590
14
14
  mm_std/print_.py,sha256=zB7sVbSSF8RffMxvnOdbKCXjCKtKzKV3R68pBri4NkQ,1638
15
15
  mm_std/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  mm_std/random_.py,sha256=OuUX4VJeSd13NZBya4qrGpR2TfN7_87tfebOY6DBUnI,1113
17
- mm_std/result.py,sha256=_j5E5cPV5wkeUkPzmIayISXSVLCV7wX8FAVURODxht4,7451
17
+ mm_std/result.py,sha256=KLnPWjICYFkP6CAhq7Ifs22XSD-PQ9RkG6n1-cZcXkM,7625
18
18
  mm_std/str.py,sha256=jS7VAI7i_a3iqnfaW4Iw2LZRTv0Tml4kmMbP2S2IUF4,3067
19
+ mm_std/toml.py,sha256=CNznWKR0bpOxS6e3VB5LGS-Oa9lW-wterkcPUFtPcls,610
19
20
  mm_std/types_.py,sha256=hvZlnvBWyB8CL_MeEWWD0Y0nN677plibYn3yD-5g7xs,99
20
21
  mm_std/zip.py,sha256=axzF1BwcIygtfNNTefZH7hXKaQqwe-ZH3ChuRWr9dnk,396
21
- mm_std-0.3.3.dist-info/METADATA,sha256=CsPv5qAhNpyb8FD-glwz3L_xKCr6pOep6Zu7KcmsFGM,306
22
- mm_std-0.3.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
- mm_std-0.3.3.dist-info/RECORD,,
22
+ mm_std-0.3.5.dist-info/METADATA,sha256=ULwpQLhGao2rLEdBPiyucBydobUty9IvEWHet0q1W0Q,308
23
+ mm_std-0.3.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
24
+ mm_std-0.3.5.dist-info/RECORD,,
File without changes