omlish 0.0.0.dev421__py3-none-any.whl → 0.0.0.dev422__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.
@@ -0,0 +1,114 @@
1
+ # ruff: noqa: UP007
2
+ # @omlish-lite
3
+ import logging
4
+ import os
5
+ import sys
6
+ import threading
7
+ import time
8
+ import typing as ta
9
+
10
+ from ...logs.callers import LoggingCaller
11
+ from ...logs.levels import LogLevel
12
+ from .types import ABSENT_TYPED_LOGGER_VALUE
13
+ from .types import AbsentTypedLoggerValue
14
+ from .types import DefaultTypedLoggerValue
15
+ from .types import TypedLoggerValue
16
+
17
+
18
+ ##
19
+
20
+
21
+ class StandardTypedLoggerValues:
22
+ def __new__(cls, *args, **kwargs): # noqa
23
+ raise TypeError
24
+
25
+ #
26
+
27
+ class TimeNs(DefaultTypedLoggerValue[int]):
28
+ @classmethod
29
+ def _default_value(cls) -> float:
30
+ return time.time()
31
+
32
+ class Time(DefaultTypedLoggerValue[float]):
33
+ _default_key = True
34
+ _default_value = TypedLoggerValue.ContextLambda(
35
+ lambda ctx: ctx[StandardTypedLoggerValues.TimeNs].map_absent(
36
+ lambda tv: tv.v / 1e9,
37
+ ),
38
+ )
39
+
40
+ #
41
+
42
+ class Level(TypedLoggerValue[LogLevel]):
43
+ pass
44
+
45
+ class LevelName(DefaultTypedLoggerValue[str]):
46
+ _default_key = 'level'
47
+ _default_value = TypedLoggerValue.ContextLambda(
48
+ lambda ctx: ctx[StandardTypedLoggerValues.Level].map_absent(
49
+ lambda lvl: logging.getLevelName(lvl.v),
50
+ ),
51
+ )
52
+
53
+ #
54
+
55
+ class Msg(TypedLoggerValue[str]):
56
+ _default_key = True
57
+
58
+ #
59
+
60
+ class Caller(TypedLoggerValue[LoggingCaller]):
61
+ pass
62
+
63
+ #
64
+
65
+ class Tid(DefaultTypedLoggerValue[int]):
66
+ @classmethod
67
+ def _default_value(cls) -> ta.Union[int, AbsentTypedLoggerValue]:
68
+ if hasattr(threading, 'get_native_id'):
69
+ return threading.get_native_id()
70
+ else:
71
+ return ABSENT_TYPED_LOGGER_VALUE
72
+
73
+ class ThreadIdent(DefaultTypedLoggerValue[int]):
74
+ @classmethod
75
+ def _default_value(cls) -> int:
76
+ return threading.get_ident()
77
+
78
+ class ThreadName(DefaultTypedLoggerValue[int]):
79
+ @classmethod
80
+ def _default_value(cls) -> str:
81
+ return threading.current_thread().name
82
+
83
+ #
84
+
85
+ class Pid(DefaultTypedLoggerValue[int]):
86
+ @classmethod
87
+ def _default_value(cls) -> int:
88
+ return os.getpid()
89
+
90
+ class ProcessName(DefaultTypedLoggerValue[str]):
91
+ @classmethod
92
+ def _default_value(cls) -> ta.Union[str, AbsentTypedLoggerValue]:
93
+ if (mp := sys.modules.get('multiprocessing')) is None:
94
+ return ABSENT_TYPED_LOGGER_VALUE
95
+
96
+ # Errors may occur if multiprocessing has not finished loading yet - e.g. if a custom import hook causes
97
+ # third-party code to run when multiprocessing calls import. See issue 8200 for an example
98
+ try:
99
+ return mp.current_process().name
100
+ except Exception: # noqa
101
+ return ABSENT_TYPED_LOGGER_VALUE
102
+
103
+ #
104
+
105
+ class AsyncioTaskName(DefaultTypedLoggerValue[str]):
106
+ @classmethod
107
+ def _default_value(cls) -> ta.Union[str, AbsentTypedLoggerValue]:
108
+ if (asyncio := sys.modules.get('asyncio')) is None:
109
+ return ABSENT_TYPED_LOGGER_VALUE
110
+
111
+ try:
112
+ return asyncio.current_task().get_name()
113
+ except Exception: # noqa
114
+ return ABSENT_TYPED_LOGGER_VALUE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev421
3
+ Version: 0.0.0.dev422
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
2
- omlish/__about__.py,sha256=QhSgA_eLoVdjhwLx8aK3JArwotIZjxH5uYLIagc1cWo,3568
2
+ omlish/__about__.py,sha256=aFShg0t95vIkoXr62QD7ilM2f9_kUpm3iuXIenfF1dk,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
@@ -509,19 +509,24 @@ omlish/lite/wrappers.py,sha256=d00Ls2kFHuogKd5wEBaU65VNCN10YXIZtiwu1mbMpmA,530
509
509
  omlish/logs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
510
510
  omlish/logs/abc.py,sha256=KNefzJynsT0PyNq1HpNpL0FRVIeBS5PfQ8OarhcXrTc,8753
511
511
  omlish/logs/all.py,sha256=kan4dRe5NdSIFRp9JJXm__JbT-Nl4fXWe3KLgHkQVbw,1168
512
- omlish/logs/callers.py,sha256=CBYX1PE5u7rneVzP8Qi472xMhI-k2JmXfJAzUxpdN7I,1154
512
+ omlish/logs/callers.py,sha256=iV1IoprhaDgRSEO6g-1u8nUZstwjRkSn9YklcTHq-Yc,1638
513
513
  omlish/logs/color.py,sha256=u1-6ulsxTWMPyeKu-pCQyF5_ljuEeuG4FG7i6DTzHe0,670
514
514
  omlish/logs/configs.py,sha256=Emhz11h2wKPWuiA5qJ5Zn50IVhqpJ0LPAXBMKDxP28I,931
515
515
  omlish/logs/filters.py,sha256=m_uHVcgleVevwknVpbYrH1KEB47OyvyP00TAjEDh4Oc,376
516
516
  omlish/logs/handlers.py,sha256=rHw5fmzwH52E8QpEn3n87NjM0vyA5bFE5rtEAZ7_lPY,331
517
517
  omlish/logs/json.py,sha256=IGtbyP4giSTm2scwVg11C8t3iz8fg7Qr8LZOPKuFCNU,1377
518
- omlish/logs/levels.py,sha256=VB7upAt5D_9XJNI_6bsArSsY0tftcRIB5iK7dguln5Y,48
518
+ omlish/logs/levels.py,sha256=bsmkwX-i38YMm8k4hbDX9_aelhrdmFLtqrx5oNyGs54,53
519
519
  omlish/logs/noisy.py,sha256=hWpbseerZqlHdEPEajDTSmcRhx8LmmNAxz_7GBZAO9s,353
520
- omlish/logs/protocol.py,sha256=CbY6nYxrbDtv5z8aGqe3aorLsGoZYLK8h2MRGBZJMOE,5923
520
+ omlish/logs/protocol.py,sha256=D6_MCdmio4GqoQ73cSFYcu6dF1Y_pA7JsF6gOqc9qLc,6805
521
521
  omlish/logs/proxy.py,sha256=9FmqWQuX3pXezWkCeN17H805CicKN6-QqMKGptk45PI,2378
522
522
  omlish/logs/standard.py,sha256=w0jS824YDvlzrGgAxKiPk9RoZ5V1b0ADiFsBEpKLuLY,3152
523
523
  omlish/logs/timing.py,sha256=qsQ3DB6swts1pxrFlmLWQzhH-3nzDrq1MUu7PxjjUyU,1519
524
524
  omlish/logs/utils.py,sha256=OkFWf1exmWImmT7BaSiIC7c0Fk9tAis-PRqo8H4ny3c,398
525
+ omlish/logs/typed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
526
+ omlish/logs/typed/bindings.py,sha256=an1CfCv7vn4dihpeW7TlERuYh3TJrs1wtAoZjtSmOwk,17361
527
+ omlish/logs/typed/contexts.py,sha256=MU1RqHtmYbnxoLfLhMZbTbRd-WfYEyeVo7_3VnG3rY0,4027
528
+ omlish/logs/typed/types.py,sha256=TgoT2jBGUD9rIWE6u9Yj-WW5wWusMjNcCf4FGh3RHJ4,14428
529
+ omlish/logs/typed/values.py,sha256=w8ukpJZ3lx_st7Mj7riP2squzGmMaz7OuUxw_NZCZsY,3261
525
530
  omlish/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
526
531
  omlish/manifests/base.py,sha256=wW-De-pU3cef-0vGsgo-ypftDwc3tCBxhRAzPtrdark,918
527
532
  omlish/manifests/globals.py,sha256=kVqQ-fT4kc7xWzLHoI731GviitFPv2v2yqw-p7t7Exs,2628
@@ -928,9 +933,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
928
933
  omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
929
934
  omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
930
935
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
931
- omlish-0.0.0.dev421.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
932
- omlish-0.0.0.dev421.dist-info/METADATA,sha256=7tXqK7teOcrXVNDj4-VFEMahB-qkfeqkG-5AigR2MwM,19242
933
- omlish-0.0.0.dev421.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
934
- omlish-0.0.0.dev421.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
935
- omlish-0.0.0.dev421.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
936
- omlish-0.0.0.dev421.dist-info/RECORD,,
936
+ omlish-0.0.0.dev422.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
937
+ omlish-0.0.0.dev422.dist-info/METADATA,sha256=504_rPiw8TfajYMfAFx9ODbXjlwKpI7HL3PFAWnaRqo,19242
938
+ omlish-0.0.0.dev422.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
939
+ omlish-0.0.0.dev422.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
940
+ omlish-0.0.0.dev422.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
941
+ omlish-0.0.0.dev422.dist-info/RECORD,,