logger-36 2024.29__py3-none-any.whl → 2024.30__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.
@@ -11,10 +11,10 @@ import typing as h
11
11
  try:
12
12
  from logger_36.catalog.config.console_rich import DATE_TIME_COLOR
13
13
  from logger_36.catalog.handler.console_rich import HighlightedVersion
14
- from rich.console import Console as console_t
15
- from rich.console import ConsoleOptions as console_options_t
16
- from rich.markup import escape as EscapedForRich
17
- from rich.terminal_theme import DEFAULT_TERMINAL_THEME
14
+ from rich.console import Console as console_t # noqa
15
+ from rich.console import ConsoleOptions as console_options_t # noqa
16
+ from rich.markup import escape as EscapedForRich # noqa
17
+ from rich.terminal_theme import DEFAULT_TERMINAL_THEME # noqa
18
18
  except ModuleNotFoundError:
19
19
  console_t = console_options_t = EscapedForRich = DEFAULT_TERMINAL_THEME = None
20
20
 
@@ -53,8 +53,9 @@ class generic_handler_t(lggg.Handler):
53
53
  """
54
54
 
55
55
  ShowMessage: show_message_p
56
- console: console_t | None = None
57
- console_options: console_options_t | None = None
56
+ # "None -> h.Any" (twice below) since None | None is invalid.
57
+ console: console_t | h.Any = None
58
+ console_options: console_options_t | h.Any = None
58
59
  alternating_lines: int = 0
59
60
  background_is_light: bool = True
60
61
 
@@ -11,8 +11,8 @@ from logger_36.instance.logger import LOGGER
11
11
  from logger_36.type.logger import logger_t
12
12
 
13
13
  try:
14
- import tensorflow as tsfl
15
- import tensorrt as tsrt
14
+ import tensorflow as tsfl # noqa
15
+ import tensorrt as tsrt # noqa
16
16
 
17
17
  _GPU_LOGGING_ERROR = None
18
18
  except ModuleNotFoundError:
@@ -9,6 +9,8 @@ import typing as h
9
9
  handler_codes_h = h.Literal["g", "c", "f", "a"]
10
10
  HANDLER_CODES: tuple[str, ...] = h.get_args(handler_codes_h)
11
11
 
12
+ ANONYMOUS = "<Anonymous>"
13
+
12
14
  """
13
15
  COPYRIGHT NOTICE
14
16
 
logger_36/exception.py CHANGED
@@ -8,6 +8,7 @@ import sys as sstm
8
8
  import tempfile as tmpf
9
9
  import traceback as tcbk
10
10
  import types as t
11
+ from pathlib import Path as path_t
11
12
 
12
13
  _ORIGINAL_EXCEPTION_HANDLER = sstm.excepthook
13
14
 
@@ -33,6 +34,10 @@ def _HandleException(
33
34
  function = frame.f_code.co_name
34
35
  line = frame.f_lineno
35
36
 
37
+ home = str(path_t.home())
38
+ if module.startswith(home):
39
+ module = "~" + module[home.__len__():]
40
+
36
41
  message = str(exception)
37
42
  if message.__len__() > 0:
38
43
  message = f" {message}\n"
@@ -40,7 +45,9 @@ def _HandleException(
40
45
  document = tmpf.NamedTemporaryFile(delete=False)
41
46
 
42
47
  print(
43
- f"{stripe.__name__}\n {module}.{function}@{line}\n{message} Full report at: {document.name}",
48
+ f"{stripe.__name__}\n"
49
+ f" {module}.{function}@{line}\n"
50
+ f"{message} Full report at: {document.name}",
44
51
  file=sstm.stderr,
45
52
  )
46
53
 
@@ -14,8 +14,8 @@ def RuleAsText(text: str | None, /) -> str:
14
14
 
15
15
 
16
16
  try:
17
- from rich.rule import Rule as rule_t
18
- from rich.text import Text as text_t
17
+ from rich.rule import Rule as rule_t # noqa
18
+ from rich.text import Text as text_t # noqa
19
19
 
20
20
  def Rule(text: str | None, color: str, /) -> rule_t | str:
21
21
  """"""
@@ -5,7 +5,7 @@ SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
7
  try:
8
- from psutil import Process as process_t
8
+ from psutil import Process as process_t # noqa
9
9
 
10
10
  _PROCESS = process_t()
11
11
  except ModuleNotFoundError:
logger_36/task/storage.py CHANGED
@@ -12,7 +12,7 @@ from html.parser import HTMLParser as html_parser_t
12
12
  from pathlib import Path as path_t
13
13
 
14
14
  try:
15
- from rich.console import Console as console_t
15
+ from rich.console import Console as console_t # noqa
16
16
  except ModuleNotFoundError:
17
17
  console_t = None
18
18
 
logger_36/type/logger.py CHANGED
@@ -24,6 +24,7 @@ from logger_36.config.message import (
24
24
  TIME_FORMAT,
25
25
  )
26
26
  from logger_36.constant.generic import NOT_PASSED
27
+ from logger_36.constant.handler import ANONYMOUS
27
28
  from logger_36.constant.issue import ISSUE_LEVEL_SEPARATOR, ORDER, order_h
28
29
  from logger_36.constant.logger import (
29
30
  LOGGER_NAME,
@@ -176,20 +177,21 @@ class logger_t(logger_base_t):
176
177
 
177
178
  extension = getattr(handler, "extension", None)
178
179
  if extension is None:
179
- should_store_memory_usage = False
180
+ name = handler.name
181
+ if (name is None) or (name.__len__() == 0):
182
+ name = ANONYMOUS
180
183
  else:
181
- should_store_memory_usage = getattr(extension, STORE_MEMORY_ATTR, False)
182
- if should_store_memory_usage:
183
- self.any_handler_stores_memory = True
184
+ name = getattr(extension, "name", ANONYMOUS)
185
+ if getattr(extension, STORE_MEMORY_ATTR, False):
186
+ self.any_handler_stores_memory = True
187
+
188
+ path = getattr(handler, "baseFilename", "")
189
+ if isinstance(path, path_t) or (path.__len__() > 0):
190
+ path = f"\nPath: {path}"
184
191
 
185
- extension = getattr(handler, "extension", handler.name)
186
- if isinstance(extension, str):
187
- name = extension
188
- else:
189
- name = getattr(extension, "name", "Anonymous")
190
192
  self.info(
191
- f'New handler "{name}" with class "{type(handler).__name__}" and '
192
- f"level {lggg.getLevelName(handler.level)}",
193
+ f'New handler "{name}" of type "{type(handler).__name__}" and '
194
+ f"level {handler.level}={lggg.getLevelName(handler.level)}{path}",
193
195
  )
194
196
 
195
197
  def handle(self, record: lggg.LogRecord, /) -> None:
logger_36/version.py CHANGED
@@ -4,7 +4,7 @@ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
- __version__ = "2024.29"
7
+ __version__ = "2024.30"
8
8
 
9
9
  """
10
10
  COPYRIGHT NOTICE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: logger-36
3
- Version: 2024.29
3
+ Version: 2024.30
4
4
  Summary: Simple logger with a catalog of handlers
5
5
  Home-page: https://src.koda.cnrs.fr/eric.debreuve/logger-36/
6
6
  Author: Eric Debreuve
@@ -1,22 +1,22 @@
1
1
  logger_36/__init__.py,sha256=NtDTs3eMKaXTJeujmgj1um3cBVLti0tYuOsdtVk9o9Q,2269
2
2
  logger_36/content.py,sha256=ni9gdYYNZoDa91KNianWBluOBe9KxZMZtzalcBS6vhE,2357
3
- logger_36/exception.py,sha256=UsFcsAvd1L4aLj6h7T-DilDm6yO501HDYnGekibiMAU,3260
3
+ logger_36/exception.py,sha256=URyi0OX9fh7QAyJ6eVbHW8mO_RDrBoWIcqvB_h2FBNo,3429
4
4
  logger_36/gpu.py,sha256=YYFk6aYQrBDJfxQaDm-ar16T6SlOSL6jJWTOgvpF4EU,2244
5
5
  logger_36/handler.py,sha256=vg8LOD0YzGQxyoKB7qr7c4rueRwp-sDF1svDHwffumg,6565
6
6
  logger_36/memory.py,sha256=FTc3qCeMqnCNvHJ4Yds73noPENQx_U1MYB-R4LLUjVQ,2682
7
7
  logger_36/storage.py,sha256=TNfIXEfHcjixv75wocUyqwX62iDYsor4srRqC3FNzbc,2231
8
8
  logger_36/system.py,sha256=xzm6cMeTaCX9VX9ZRXUXgfqoT9oUtv3W2o_H2W0P-4Q,2243
9
9
  logger_36/time.py,sha256=_CtpQeUZdsUNGNfwzhoWUiUvawRgmonqwZPHouzWf5M,2308
10
- logger_36/version.py,sha256=FPamC8R6aakwwSJ4-41eIPnI5eDVF1QjdoZc8H7gmdA,2206
10
+ logger_36/version.py,sha256=ekK_rfRoluh24Kp8y3cT2BDOEDDO0AJJYmz6dVpaVFw,2206
11
11
  logger_36/api/logger.py,sha256=Wg2nzQeuRVZ4v-oy3Q2KdYsHSzF9v7a0Fk6BzLnbkYw,2225
12
12
  logger_36/api/storage.py,sha256=evKVqIsslA5X82LaZ2HQDxp7ltyNOn8Tr-3-Pic3eUo,2231
13
13
  logger_36/catalog/config/console_rich.py,sha256=iyPFozVpw18qkRTBovhb2X2WM93MW5QqgwGQDSzUijI,2866
14
14
  logger_36/catalog/handler/console.py,sha256=KL8oGdtQUUE8I5Pc_5wmD1MdDSw8E7dpybkzmFWKRUY,4247
15
15
  logger_36/catalog/handler/console_rich.py,sha256=of4C26UZcA10-dBrdRGWVk4u9NycX_9VIgINGevEB14,8330
16
16
  logger_36/catalog/handler/file.py,sha256=JgtfBQfgQldxqogzAVYOquX3pLE-qOqnbhZbu9H3tXo,4699
17
- logger_36/catalog/handler/generic.py,sha256=U1X2B7ptLWtdtiDh_Lri55JmygTPnY9wXwmFsPZcZuE,9002
17
+ logger_36/catalog/handler/generic.py,sha256=ZIUI21H_7nkbWPMa8s0Xsijqsnlca3k0fS_KafnKG88,9102
18
18
  logger_36/catalog/logger/chronos.py,sha256=7_Y_HxRHwwHyjOb2v4Y3CxMGCaJBWm7q8wlw05jZGvs,2447
19
- logger_36/catalog/logger/gpu.py,sha256=QPESzp3V-Qhx2A99A5N3IsM9tA6ikqSPos0MKJyu-ls,3407
19
+ logger_36/catalog/logger/gpu.py,sha256=KYCQN2wD9sxzUrcVS9633h0BmvaFMW-aniA6QK50H2g,3423
20
20
  logger_36/catalog/logger/memory.py,sha256=Wv6thZ4ydM_x3mZkpz6XnOm7jaWjXWb3mEQuk4EKXb0,4693
21
21
  logger_36/catalog/logger/system.py,sha256=WRDlh0tr8NYp6AeVjLkmzuBMwtJxSokl4_mMJRH9OBU,3076
22
22
  logger_36/config/issue.py,sha256=G-i5p6lhZCLAOa-VTMyL9ZonvGCvhdoQ5KZdSWgP-FU,2267
@@ -26,7 +26,7 @@ logger_36/config/message.py,sha256=yfbMO_Jk1IbWvT6Lp6hVpID2Tr99cuiJ-ZaMBesIFXw,2
26
26
  logger_36/config/system.py,sha256=HD8ZuwsXhEAExeZrww8YoDkQGMs4T5RDqQMb1W4qVgc,2477
27
27
  logger_36/constant/error.py,sha256=1gdnCwUu3d3ThL4AKxzjn7ijSTBWlr2g-8cAKbubl4A,2825
28
28
  logger_36/constant/generic.py,sha256=t6aRb66_NHwMhR1p7BZ4QXTU2jpLz-H5YAL4PuMtKx8,2244
29
- logger_36/constant/handler.py,sha256=HM8qCSEMGNMCzddjUUNBPGL-3d0qU-EmG5eW4ZQHW6A,2311
29
+ logger_36/constant/handler.py,sha256=cBf_bPB9fceCuIpzmqj345vaas-kx17YRO-rFF3Cvms,2338
30
30
  logger_36/constant/issue.py,sha256=01l8itRPWGS5F6gXtsXUJgGR-4lS1Eu3_YeKC-khKLw,2315
31
31
  logger_36/constant/logger.py,sha256=QkaFk3I9JF83nkzrk8c1Jl0j_eSTEzGyeJbNgQdoSlE,2670
32
32
  logger_36/constant/memory.py,sha256=ZL1MwbdtNsrCrOwzEyfTsfOoOsRBTJtbbf3otHGnxXo,2343
@@ -36,17 +36,17 @@ logger_36/constant/system.py,sha256=G2mzBTxRXoJMxb53TnmBaceMJC_q3WonoCG7y6nC_R8,
36
36
  logger_36/instance/logger.py,sha256=ttKjl9MD7FUjqCWjv5w2hmmpDYxgaORcYf9NaaE9W_M,2246
37
37
  logger_36/instance/loggers.py,sha256=RCWpC1NPAf6vXnFc9NqsSALv-x-FEzcH6k_OlxTxeQk,2251
38
38
  logger_36/task/inspection.py,sha256=f9VkVrwMJ_ixV9rFu3XUNpmCbEgoo1tssqd2nMeGYLI,5028
39
- logger_36/task/storage.py,sha256=XaSeu-iBCa0N8HNpwCV7cLprj-lbOJocpTIKUgSOvsc,5668
39
+ logger_36/task/storage.py,sha256=AyBKUBswsOfkRHaoh4pPGWRr1duOowSDVeIuRrHJhHo,5676
40
40
  logger_36/task/format/memory.py,sha256=WDwRwuZbYwNxXIe_xo-r0XJtFZ0gRnE6wgTaXx_fEbc,4259
41
41
  logger_36/task/format/message.py,sha256=T2V2gUlUQqSojyRrz4I4uAHwNe6eBEsuAe6V-LTyx0k,3867
42
- logger_36/task/format/rule.py,sha256=M4a8uW7FEvMI9f4s32A9-DoP0WVlLkyXamGnqbzZ65A,2797
42
+ logger_36/task/format/rule.py,sha256=OjNZQa_dZrH4Vhide6xm3EuV0lLC6tR1Q2_ZAxD7ito,2813
43
43
  logger_36/task/measure/chronos.py,sha256=OhQHPFKJvTEizpj7Uvysu8r9dTpzPgKz1SoTztlEcnI,3066
44
- logger_36/task/measure/memory.py,sha256=eVw5WOYLyn8o4O4mMArdX2MzsVuhhNDovjYEkk-MIaU,2504
44
+ logger_36/task/measure/memory.py,sha256=-V9UDFlDwmtUlfBzovcMgmsaYxwyoE1YmfXjXZ2iuNc,2512
45
45
  logger_36/type/handler.py,sha256=HJ547swaN1bdxnxoU4cIinWUkww3YAQ1vYgtugWk5X4,6474
46
46
  logger_36/type/issue.py,sha256=p2upR8vAXPkrnSwPuM3R1hmTkRwJwL1e658L6WwSWfQ,3220
47
- logger_36/type/logger.py,sha256=kYPiUOR_qs9DWBaHH4damx7xsh-OlFbYLHY1enyzn3w,18884
47
+ logger_36/type/logger.py,sha256=6Jtb5GeA3xc8Kmrkbz3Dz175s59TNTr_vEgjYJvIfcQ,18972
48
48
  logger_36/type/loggers.py,sha256=znqxWBnfQxvkg3VUfbTUvt3S6Kq0DAzWWepxQDt9suI,2871
49
- logger_36-2024.29.dist-info/METADATA,sha256=vV3RAljMWV9CptX6oIUtgz6sqQflABEhCCymI6-hBGw,6276
50
- logger_36-2024.29.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
51
- logger_36-2024.29.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
52
- logger_36-2024.29.dist-info/RECORD,,
49
+ logger_36-2024.30.dist-info/METADATA,sha256=dKtsmjna7wgouZ857JffQHSngn2g-e73mtx4XLEDH0w,6276
50
+ logger_36-2024.30.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
51
+ logger_36-2024.30.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
52
+ logger_36-2024.30.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.2.0)
2
+ Generator: setuptools (75.7.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5