logger-36 2025.17__py3-none-any.whl → 2025.18__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.
Files changed (55) hide show
  1. logger_36/__init__.py +1 -15
  2. logger_36/api/content.py +1 -15
  3. logger_36/api/gpu.py +1 -15
  4. logger_36/api/memory.py +1 -15
  5. logger_36/api/storage.py +1 -15
  6. logger_36/api/system.py +1 -15
  7. logger_36/api/time.py +1 -15
  8. logger_36/api/type.py +1 -15
  9. logger_36/catalog/config/console_rich.py +1 -15
  10. logger_36/catalog/config/optional.py +1 -15
  11. logger_36/catalog/handler/console.py +3 -19
  12. logger_36/catalog/handler/console_rich.py +4 -20
  13. logger_36/catalog/handler/file.py +4 -20
  14. logger_36/catalog/handler/generic.py +14 -43
  15. logger_36/catalog/logger/chronos.py +1 -15
  16. logger_36/catalog/logger/gpu.py +1 -15
  17. logger_36/catalog/logger/memory.py +1 -15
  18. logger_36/catalog/logger/system.py +1 -15
  19. logger_36/config/issue.py +1 -15
  20. logger_36/config/memory.py +1 -15
  21. logger_36/config/message.py +1 -15
  22. logger_36/config/system.py +1 -15
  23. logger_36/constant/error.py +1 -15
  24. logger_36/constant/generic.py +1 -15
  25. logger_36/constant/html.py +1 -15
  26. logger_36/constant/issue.py +1 -15
  27. logger_36/constant/logger.py +1 -15
  28. logger_36/constant/memory.py +1 -15
  29. logger_36/constant/message.py +1 -15
  30. logger_36/constant/path.py +2 -16
  31. logger_36/constant/record.py +1 -15
  32. logger_36/constant/system.py +1 -15
  33. logger_36/extension/html_.py +1 -15
  34. logger_36/extension/line.py +1 -15
  35. logger_36/instance/logger.py +3 -16
  36. logger_36/instance/loggers.py +1 -15
  37. logger_36/task/format/memory.py +1 -15
  38. logger_36/task/format/message.py +1 -15
  39. logger_36/task/format/rule.py +1 -15
  40. logger_36/task/inspection.py +1 -15
  41. logger_36/task/measure/chronos.py +1 -15
  42. logger_36/task/measure/memory.py +1 -15
  43. logger_36/task/storage.py +1 -15
  44. logger_36/type/handler.py +7 -40
  45. logger_36/type/issue.py +1 -15
  46. logger_36/type/logger.py +26 -67
  47. logger_36/type/loggers.py +2 -17
  48. logger_36/type/message.py +1 -15
  49. logger_36/version.py +2 -16
  50. {logger_36-2025.17.dist-info → logger_36-2025.18.dist-info}/METADATA +2 -2
  51. logger_36-2025.18.dist-info/RECORD +53 -0
  52. logger_36/constant/handler.py +0 -56
  53. logger_36-2025.17.dist-info/RECORD +0 -54
  54. {logger_36-2025.17.dist-info → logger_36-2025.18.dist-info}/WHEEL +0 -0
  55. {logger_36-2025.17.dist-info → logger_36-2025.18.dist-info}/top_level.txt +0 -0
logger_36/type/handler.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright CNRS/Inria/UniCA
2
+ Copyright CNRS (https://www.cnrs.fr/index.php/en)
3
3
  Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
@@ -10,21 +10,14 @@ import typing as h
10
10
  from pathlib import Path as path_t
11
11
 
12
12
  from logger_36.config.message import FALLBACK_MESSAGE_WIDTH
13
- from logger_36.constant.handler import HANDLER_KINDS
14
- from logger_36.task.format.message import MessageFromRecord, MessageWithActualExpected
13
+ from logger_36.task.format.message import MessageFromRecord
15
14
  from logger_36.task.format.rule import RuleAsText
16
- from logger_36.task.measure.chronos import TimeStamp
17
15
  from logger_36.type.message import MessageFromRecord_h, RuleWithText_h
18
16
 
19
17
 
20
18
  class _base_t:
21
- kind: h.ClassVar[str] = "" # See logger_36.constant.handler.handler_codes_h.
22
-
23
19
  def __init__(self, name: str | None, message_width: int) -> None:
24
20
  """"""
25
- if name is None:
26
- name = f"{type(self).__name__}:{id(self)}"
27
-
28
21
  self.name = name
29
22
  self.message_width = message_width
30
23
  #
@@ -34,17 +27,8 @@ class _base_t:
34
27
 
35
28
  def __post_init__(self) -> None:
36
29
  """"""
37
- if self.name in HANDLER_KINDS:
38
- raise ValueError(
39
- MessageWithActualExpected(
40
- "Invalid handler name",
41
- actual=self.name,
42
- expected=f"a name not in {str(HANDLER_KINDS)[1:-1]}",
43
- )
44
- )
45
-
46
30
  if self.name is None:
47
- self.name = TimeStamp()
31
+ self.name = f"{type(self).__name__}:{hex(id(self))[2:]}"
48
32
 
49
33
  if 0 < self.message_width < FALLBACK_MESSAGE_WIDTH:
50
34
  self.message_width = FALLBACK_MESSAGE_WIDTH
@@ -56,16 +40,13 @@ class _base_t:
56
40
  """
57
41
  raise NotImplementedError
58
42
 
59
- def LogAsIs(self, message: str, /) -> None:
60
- """
61
- See documentation of
62
- logger_36.catalog.handler.generic.generic_handler_t.LogAsIs.
63
- """
43
+ def EmitAsIs(self, message: str, /) -> None:
44
+ """"""
64
45
  s.__stdout__.write(message + "\n")
65
46
 
66
- def DisplayRule(self, /, *, text: str | None = None, color: str = "black") -> None:
47
+ def EmitRule(self, /, *, text: str | None = None, color: str = "black") -> None:
67
48
  """"""
68
- self.LogAsIs(RuleAsText(text, None))
49
+ self.EmitAsIs(RuleAsText(text, None))
69
50
 
70
51
 
71
52
  class handler_t(l.Handler, _base_t):
@@ -165,18 +146,4 @@ The fact that you are presently reading this means that you have had
165
146
  knowledge of the CeCILL license and that you accept its terms.
166
147
 
167
148
  SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
168
-
169
- This software is being developed by Eric Debreuve, a CNRS employee and
170
- member of team Morpheme.
171
- Team Morpheme is a joint team between Inria, CNRS, and UniCA.
172
- It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
173
- I3S, and Laboratory iBV.
174
-
175
- CNRS: https://www.cnrs.fr/index.php/en
176
- Inria: https://www.inria.fr/en/
177
- UniCA: https://univ-cotedazur.eu/
178
- Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
179
- I3S: https://www.i3s.unice.fr/en/
180
- iBV: http://ibv.unice.fr/
181
- Team Morpheme: https://team.inria.fr/morpheme/
182
149
  """
logger_36/type/issue.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright CNRS/Inria/UniCA
2
+ Copyright CNRS (https://www.cnrs.fr/index.php/en)
3
3
  Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
@@ -74,18 +74,4 @@ The fact that you are presently reading this means that you have had
74
74
  knowledge of the CeCILL license and that you accept its terms.
75
75
 
76
76
  SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
77
-
78
- This software is being developed by Eric Debreuve, a CNRS employee and
79
- member of team Morpheme.
80
- Team Morpheme is a joint team between Inria, CNRS, and UniCA.
81
- It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
82
- I3S, and Laboratory iBV.
83
-
84
- CNRS: https://www.cnrs.fr/index.php/en
85
- Inria: https://www.inria.fr/en/
86
- UniCA: https://univ-cotedazur.eu/
87
- Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
88
- I3S: https://www.i3s.unice.fr/en/
89
- iBV: http://ibv.unice.fr/
90
- Team Morpheme: https://team.inria.fr/morpheme/
91
77
  """
logger_36/type/logger.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright CNRS/Inria/UniCA
2
+ Copyright CNRS (https://www.cnrs.fr/index.php/en)
3
3
  Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
@@ -28,19 +28,15 @@ from logger_36.config.message import (
28
28
  ELAPSED_TIME_SEPARATOR,
29
29
  LONG_ENOUGH,
30
30
  TIME_FORMAT,
31
+ WHERE_SEPARATOR,
31
32
  )
32
33
  from logger_36.constant.error import MEMORY_MEASURE_ERROR
33
34
  from logger_36.constant.generic import NOT_PASSED
34
- from logger_36.constant.handler import HANDLER_KINDS, handler_codes_h
35
35
  from logger_36.constant.issue import ISSUE_LEVEL_SEPARATOR, ORDER, order_h
36
- from logger_36.constant.logger import (
37
- LOGGER_NAME,
38
- WARNING_LOGGER_NAME,
39
- WARNING_TYPE_COMPILED_PATTERN,
40
- )
36
+ from logger_36.constant.logger import WARNING_LOGGER_NAME, WARNING_TYPE_COMPILED_PATTERN
41
37
  from logger_36.constant.memory import UNKNOWN_MEMORY_USAGE
42
38
  from logger_36.constant.message import LINE_INDENT, TIME_LENGTH_m_1, expected_op_h
43
- from logger_36.constant.path import PROJECT_FILE_RELATIVE
39
+ from logger_36.constant.path import PROJECT_FILE_RELATIVE, USER_FOLDER
44
40
  from logger_36.constant.record import SHOW_W_RULE_ATTR, SHOW_WHERE_ATTR
45
41
  from logger_36.task.format.message import MessageFromRecord, MessageWithActualExpected
46
42
  from logger_36.task.format.rule import RuleAsText
@@ -106,7 +102,7 @@ class logger_t(base_t):
106
102
  _should_hold_messages: bool = d.field(init=False, default=True)
107
103
  _should_activate_log_interceptions: bool = d.field(init=False, default=False)
108
104
 
109
- name_: d.InitVar[str] = LOGGER_NAME
105
+ name_: d.InitVar[str | None] = None
110
106
  level_: d.InitVar[int] = l.NOTSET
111
107
  activate_wrn_interceptions: d.InitVar[bool] = True
112
108
  activate_log_interceptions: d.InitVar[bool] = True
@@ -152,7 +148,7 @@ class logger_t(base_t):
152
148
 
153
149
  def __post_init__(
154
150
  self,
155
- name_: str,
151
+ name_: str | None,
156
152
  level_: int,
157
153
  activate_wrn_interceptions: bool,
158
154
  activate_log_interceptions: bool,
@@ -161,6 +157,9 @@ class logger_t(base_t):
161
157
  """"""
162
158
  global _MEMORY_MEASURE_ERROR
163
159
 
160
+ if name_ is None:
161
+ name_ = f"{type(self).__name__}:{hex(id(self))[2:]}"
162
+
164
163
  base_t.__init__(self, name_)
165
164
  self.setLevel(level_)
166
165
  self.propagate = False # Part of base_t.
@@ -168,8 +167,6 @@ class logger_t(base_t):
168
167
  for level in l.getLevelNamesMapping().values():
169
168
  self.events[level] = 0
170
169
 
171
- self.info(f'New logger "{self.name}" for "{PROJECT_FILE_RELATIVE}"')
172
-
173
170
  if activate_wrn_interceptions:
174
171
  self.ToggleWarningInterceptions(True)
175
172
  if activate_log_interceptions:
@@ -186,6 +183,8 @@ class logger_t(base_t):
186
183
  s.__stderr__.write(_MEMORY_MEASURE_ERROR + "\n")
187
184
  _MEMORY_MEASURE_ERROR = None
188
185
 
186
+ self.info(f'New logger "{self.name}" for "{PROJECT_FILE_RELATIVE}"')
187
+
189
188
  def handle(self, record: l.LogRecord, /) -> None:
190
189
  """"""
191
190
  elapsed_time, now = ElapsedTime(should_return_now=True)
@@ -201,11 +200,10 @@ class logger_t(base_t):
201
200
 
202
201
  if (date := now.date()) != self.last_message_date:
203
202
  self.last_message_date = date
204
- # levelno: Added for management by logging.Logger.handle.
205
203
  date_record = l.makeLogRecord(
206
204
  {
207
205
  "name": self.name,
208
- "levelno": l.INFO,
206
+ "levelno": l.INFO, # For management by logging.Logger.handle.
209
207
  "msg": f"DATE: {date.strftime(DATE_FORMAT)}",
210
208
  SHOW_W_RULE_ATTR: True,
211
209
  }
@@ -224,11 +222,10 @@ class logger_t(base_t):
224
222
 
225
223
  # When.
226
224
  if now - self.last_message_now > LONG_ENOUGH:
227
- record.when_or_elapsed = now.strftime(TIME_FORMAT)
225
+ w_or_e = now.strftime(TIME_FORMAT)
228
226
  else:
229
- record.when_or_elapsed = (
230
- f"{ELAPSED_TIME_SEPARATOR}{elapsed_time:.<{TIME_LENGTH_m_1}}"
231
- )
227
+ w_or_e = f"{ELAPSED_TIME_SEPARATOR}{elapsed_time:.<{TIME_LENGTH_m_1}}"
228
+ record.when_or_elapsed = w_or_e
232
229
  self.last_message_now = now
233
230
 
234
231
  # Where.
@@ -241,7 +238,8 @@ class logger_t(base_t):
241
238
  module = str(module).replace(FOLDER_SEPARATOR, ".")
242
239
  break
243
240
  else:
244
- module = record.module
241
+ if module.is_relative_to(USER_FOLDER):
242
+ module = module.relative_to(USER_FOLDER)
245
243
  where = f"{module}:{record.funcName}:{record.lineno}"
246
244
  if should_show_where:
247
245
  record.where = where
@@ -276,33 +274,6 @@ class logger_t(base_t):
276
274
  if self.should_watch_memory_usage:
277
275
  self.memory_usages.append((where, CurrentMemoryUsage()))
278
276
 
279
- def SetLevel(self, level: int, /, *, which: handler_codes_h | str = "a") -> None:
280
- """
281
- Set level of handlers, but the logger level is not modified.
282
-
283
- which: if not a handler_codes_h, then it corresponds to a handler name.
284
- """
285
- found = False
286
- for handler in self.handlers:
287
- if (
288
- (which == "a")
289
- or ((which in "cfg") and (getattr(handler, "kind", None) == which))
290
- or (which == handler.name)
291
- ):
292
- handler.setLevel(level)
293
- if which not in HANDLER_KINDS:
294
- return
295
- found = True
296
-
297
- if not found:
298
- raise ValueError(
299
- MessageWithActualExpected(
300
- "Handler not found",
301
- actual=which,
302
- expected=f"{str(HANDLER_KINDS)[1:-1]}, or a handler name",
303
- )
304
- )
305
-
306
277
  def MakeMonochrome(self) -> None:
307
278
  """"""
308
279
  self.AddHandler(console_handler_t)
@@ -454,14 +425,16 @@ class logger_t(base_t):
454
425
  """
455
426
  For a print-like calling for print-based debugging.
456
427
  """
428
+ separator = kwargs.get("separator", " ")
429
+
457
430
  frame = e.stack(context=0)[1][0] # 1=caller.
458
431
  details = e.getframeinfo(frame, context=0)
459
- path = path_t(details.filename).relative_to(path_t.home())
460
- where = f"{str(path)[:-3]}.{details.function}.{details.lineno}"
432
+ path = path_t(details.filename)
433
+ if path.is_relative_to(USER_FOLDER):
434
+ path = path.relative_to(USER_FOLDER)
435
+ where = f"{str(path.with_suffix(''))}.{details.function}.{details.lineno}"
461
436
 
462
- separator = kwargs.get("separator", " ")
463
-
464
- self.info(where + "\n" + separator.join(map(str, args)))
437
+ self.info(separator.join(map(str, args)) + f"\n{WHERE_SEPARATOR} " + where)
465
438
 
466
439
  def Log(
467
440
  self,
@@ -516,7 +489,7 @@ class logger_t(base_t):
516
489
  message = text.indent(message, LINE_INDENT)
517
490
 
518
491
  for handler in self.handlers:
519
- handler.LogAsIs(message)
492
+ handler.EmitAsIs(message)
520
493
 
521
494
  info_raw = LogAsIs # To follow the convention of the logging methods info, error...
522
495
 
@@ -525,7 +498,7 @@ class logger_t(base_t):
525
498
  ) -> None:
526
499
  """"""
527
500
  for handler in self.handlers:
528
- handler.DisplayRule(text=message, color=color)
501
+ handler.EmitRule(text=message, color=color)
529
502
 
530
503
  def AddContextLevel(self, new_level: str, /) -> None:
531
504
  """"""
@@ -728,18 +701,4 @@ The fact that you are presently reading this means that you have had
728
701
  knowledge of the CeCILL license and that you accept its terms.
729
702
 
730
703
  SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
731
-
732
- This software is being developed by Eric Debreuve, a CNRS employee and
733
- member of team Morpheme.
734
- Team Morpheme is a joint team between Inria, CNRS, and UniCA.
735
- It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
736
- I3S, and Laboratory iBV.
737
-
738
- CNRS: https://www.cnrs.fr/index.php/en
739
- Inria: https://www.inria.fr/en/
740
- UniCA: https://univ-cotedazur.eu/
741
- Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
742
- I3S: https://www.i3s.unice.fr/en/
743
- iBV: http://ibv.unice.fr/
744
- Team Morpheme: https://team.inria.fr/morpheme/
745
704
  """
logger_36/type/loggers.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright CNRS/Inria/UniCA
2
+ Copyright CNRS (https://www.cnrs.fr/index.php/en)
3
3
  Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
@@ -8,7 +8,6 @@ import dataclasses as d
8
8
  import logging as l
9
9
  import typing as h
10
10
 
11
- from logger_36.constant.logger import LOGGER_NAME
12
11
  from logger_36.type.logger import logger_t
13
12
 
14
13
 
@@ -21,7 +20,7 @@ class loggers_t(dict[h.Hashable, logger_t]):
21
20
  uid: h.Hashable,
22
21
  /,
23
22
  *,
24
- name: str = LOGGER_NAME,
23
+ name: str | None = None,
25
24
  level: int = l.NOTSET,
26
25
  should_record_messages: bool = False,
27
26
  exit_on_error: bool = False,
@@ -86,18 +85,4 @@ The fact that you are presently reading this means that you have had
86
85
  knowledge of the CeCILL license and that you accept its terms.
87
86
 
88
87
  SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
89
-
90
- This software is being developed by Eric Debreuve, a CNRS employee and
91
- member of team Morpheme.
92
- Team Morpheme is a joint team between Inria, CNRS, and UniCA.
93
- It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
94
- I3S, and Laboratory iBV.
95
-
96
- CNRS: https://www.cnrs.fr/index.php/en
97
- Inria: https://www.inria.fr/en/
98
- UniCA: https://univ-cotedazur.eu/
99
- Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
100
- I3S: https://www.i3s.unice.fr/en/
101
- iBV: http://ibv.unice.fr/
102
- Team Morpheme: https://team.inria.fr/morpheme/
103
88
  """
logger_36/type/message.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright CNRS/Inria/UniCA
2
+ Copyright CNRS (https://www.cnrs.fr/index.php/en)
3
3
  Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
@@ -73,18 +73,4 @@ The fact that you are presently reading this means that you have had
73
73
  knowledge of the CeCILL license and that you accept its terms.
74
74
 
75
75
  SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
76
-
77
- This software is being developed by Eric Debreuve, a CNRS employee and
78
- member of team Morpheme.
79
- Team Morpheme is a joint team between Inria, CNRS, and UniCA.
80
- It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
81
- I3S, and Laboratory iBV.
82
-
83
- CNRS: https://www.cnrs.fr/index.php/en
84
- Inria: https://www.inria.fr/en/
85
- UniCA: https://univ-cotedazur.eu/
86
- Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
87
- I3S: https://www.i3s.unice.fr/en/
88
- iBV: http://ibv.unice.fr/
89
- Team Morpheme: https://team.inria.fr/morpheme/
90
76
  """
logger_36/version.py CHANGED
@@ -1,10 +1,10 @@
1
1
  """
2
- Copyright CNRS/Inria/UniCA
2
+ Copyright CNRS (https://www.cnrs.fr/index.php/en)
3
3
  Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
- __version__ = "2025.17"
7
+ __version__ = "2025.18"
8
8
 
9
9
  """
10
10
  COPYRIGHT NOTICE
@@ -36,18 +36,4 @@ The fact that you are presently reading this means that you have had
36
36
  knowledge of the CeCILL license and that you accept its terms.
37
37
 
38
38
  SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
39
-
40
- This software is being developed by Eric Debreuve, a CNRS employee and
41
- member of team Morpheme.
42
- Team Morpheme is a joint team between Inria, CNRS, and UniCA.
43
- It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
44
- I3S, and Laboratory iBV.
45
-
46
- CNRS: https://www.cnrs.fr/index.php/en
47
- Inria: https://www.inria.fr/en/
48
- UniCA: https://univ-cotedazur.eu/
49
- Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
50
- I3S: https://www.i3s.unice.fr/en/
51
- iBV: http://ibv.unice.fr/
52
- Team Morpheme: https://team.inria.fr/morpheme/
53
39
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logger-36
3
- Version: 2025.17
3
+ Version: 2025.18
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
@@ -29,7 +29,7 @@ Dynamic: requires-python
29
29
  Dynamic: summary
30
30
 
31
31
  ..
32
- Copyright CNRS/Inria/UniCA
32
+ Copyright CNRS (https://www.cnrs.fr/index.php/en)
33
33
  Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
34
34
  SEE COPYRIGHT NOTICE BELOW
35
35
 
@@ -0,0 +1,53 @@
1
+ logger_36/__init__.py,sha256=mK6AD0eWI2Sk42oxleTvsxzYJ28FbHK5WNkpLgAhnNE,2129
2
+ logger_36/version.py,sha256=IGK2AtFu27rKPgT-azGp5zuAMQXCLFqA56YY96_pPQA,1680
3
+ logger_36/api/content.py,sha256=0pKjxSG1hmxAkf4tBvXXOI_qrtbSx7_4Vyz-9BF_-MQ,1855
4
+ logger_36/api/gpu.py,sha256=NNs1IvQ7bh8Dppm8O8K2YLWbm4rogc3Ie_-D6xzkX3g,1726
5
+ logger_36/api/memory.py,sha256=vOY4cTTrC3u7L0OrKXdPNlsCahYjCrY4h7iqpGZv9kU,2217
6
+ logger_36/api/storage.py,sha256=RYjn2TD-E1zfNTMgm4b2mbYNVtTwsCUMbuPlMbuvgP0,1774
7
+ logger_36/api/system.py,sha256=h-3GfhZPwawv0UKBWKkT1LzxSCZwpA2VIsy03lLYi6w,1725
8
+ logger_36/api/time.py,sha256=JG0vgzPSRZ7UWQyoihnVu4sjPC-okFIKA3ZyNh2GaZo,1798
9
+ logger_36/api/type.py,sha256=eLZ2yuH-sYeh4Z2KnAwTRJEbmkmgzBPMncdqXfFUTG8,1760
10
+ logger_36/catalog/config/console_rich.py,sha256=tHUM1hUg-RTBXamjK_EkNO1Woob9ML2R_o6WBkzwe4A,2335
11
+ logger_36/catalog/config/optional.py,sha256=5vabOlEQIFxoT_y4AjP19rpOjBuUJplpuBkLoCIKImA,1872
12
+ logger_36/catalog/handler/console.py,sha256=fJt9zAjEh0XbORO-81mWX4QjPu0bJaf9sCbgTCtcFkY,2390
13
+ logger_36/catalog/handler/console_rich.py,sha256=nGpt3iayFBkOVHqs_oa02W8__QmBykNDZb-QsK_Rrok,6347
14
+ logger_36/catalog/handler/file.py,sha256=pezjcFCaA5zdV3GtHLaU_pfsp_YopvKYGHJAOZ69Vzs,2621
15
+ logger_36/catalog/handler/generic.py,sha256=Gye1wS7VialSK6TbZi1g2yk67tG1bVIk5kWtw__BUlk,6683
16
+ logger_36/catalog/logger/chronos.py,sha256=S4m9TMPQy_Ju500mpE1jNzu2gZG-QKdVuvX9RVRKHR8,1911
17
+ logger_36/catalog/logger/gpu.py,sha256=Py5YY0nD_pqJzJsEKQYoOGHcPqyNVJ3J2noOS3hDL6g,2890
18
+ logger_36/catalog/logger/memory.py,sha256=J0ZGKO7j1FZA_aDGxpABtvzDy1RjCDiDmWYh4U98fEI,4253
19
+ logger_36/catalog/logger/system.py,sha256=b7GnhHTDCQsclMyiZshzjASdk8eJaR7FkwDK-vt6IJg,2539
20
+ logger_36/config/issue.py,sha256=QOkVRPSLZC_2mfcFpad-pcSXJXfLHdWUAXiMbTWlZTg,1741
21
+ logger_36/config/memory.py,sha256=bZmNYsD2goVdkraS1v_t2OqAJo86jKMtP311kIVURDk,1691
22
+ logger_36/config/message.py,sha256=3PvvFNT6tzZu6lOkO3xEoyMFnJonx_CMBDwQAbrXD38,2028
23
+ logger_36/config/system.py,sha256=YRSa2eN_SoTnTXWUXAcpKt4JXifabzMR0eXwjUYlA_A,1951
24
+ logger_36/constant/error.py,sha256=CGisFxb1AWjKbxIKuGqAR7gPKUaD6KkLlY-XmQuIfXg,2301
25
+ logger_36/constant/generic.py,sha256=SQgkQiRcTIjCRvbxiOb6TEm59BC0FNMcjYoIShpcwLo,1718
26
+ logger_36/constant/html.py,sha256=eCp6kumL8bvF30lBjz1iPqw1apzM1rG8rxjNr81aJbA,1989
27
+ logger_36/constant/issue.py,sha256=0EmcsRmSxktFUJR0qOU0PnKG-gfbLDOULH6sSRHFOcc,1789
28
+ logger_36/constant/logger.py,sha256=ZQYX9JiPsoivwRgYNtdEqRKCagSKD88lRqvxP8MX1ZE,1942
29
+ logger_36/constant/memory.py,sha256=Q_E5tTWa-cGaNwrE_xmKa3BxQG6oJO6DHczrxc_M4sE,1817
30
+ logger_36/constant/message.py,sha256=YJOEzdI0ZjUOdHo3CsiS56FVPhrfNoQYvXuUkprH61g,2312
31
+ logger_36/constant/path.py,sha256=OfLh70Jyc8po9Ls34nQh_bRr3PXyQ3kF9ciR9QPhiqI,2213
32
+ logger_36/constant/record.py,sha256=gQCGLxq8Vs789Ty_qaRNKy18mqlyMT_4kyN-T9r_rGE,1734
33
+ logger_36/constant/system.py,sha256=pLlLXG5sepQlSUOo3TphaGrHg8xzJBp-GxpL2NPP47k,1904
34
+ logger_36/extension/html_.py,sha256=W9SyiYsaaYHUrHLGAAN2wiJGXUlwOBJ5gzdjmEcnF18,3342
35
+ logger_36/extension/line.py,sha256=joeojQX1bZJM53333mOEU3s-YC5ExGOrN9Cu9Lh5-FU,2617
36
+ logger_36/instance/logger.py,sha256=X_U10RYU1h2Aa70D8hBnmFyJZtRILK16KN-GB4xkHMU,1782
37
+ logger_36/instance/loggers.py,sha256=inBk4KKrQ-z3szaopQ29-qQwh1iSc842sWo5J6zJoiM,1725
38
+ logger_36/task/inspection.py,sha256=ZgPcrPo3h_kEnM-UpHDLg7PAFfB2fqsLFdfmi6hlPVA,4484
39
+ logger_36/task/storage.py,sha256=KAILmJlF5IULxEX9QRCyXCwcalp5mpunWVh1oXuLvSs,3516
40
+ logger_36/task/format/memory.py,sha256=J1Oy3jw8wjSp2kuiRUm_VFpzXOHX2FOc7nuRrCyrskw,3723
41
+ logger_36/task/format/message.py,sha256=SqVtiWzcuMl5xPI2kmz2wkQP05amX3wKy0C0qdfXB3I,5245
42
+ logger_36/task/format/rule.py,sha256=4wQpeBBbCeF13rXl3Q9UEvvYh4sJOFfk6hOvJHDXYvY,2384
43
+ logger_36/task/measure/chronos.py,sha256=7ijMZgP4EP18HbLV2yCxpNpRS9724Wyk523f-nkbhUM,2529
44
+ logger_36/task/measure/memory.py,sha256=kkPHEIUTUhkCOLrAt01eLJLnsnkl0nFPNhFZdIB_JAw,1991
45
+ logger_36/type/handler.py,sha256=JxUGjFSHFnX-6xM5f5vD00e1OQMPlPlLvopR32qd1kY,4763
46
+ logger_36/type/issue.py,sha256=QHAYf7QgrjJUtF2D46z6X630qTgeP_0FE5hIwf54RsE,2688
47
+ logger_36/type/logger.py,sha256=UuZt8A4AtWU78k9ryCY6gFe-Q7xzFrDvqbTEX10EgXs,25012
48
+ logger_36/type/loggers.py,sha256=7EX7Sg_RlduBjdfFlNZmUfNeDloH1xU30Rdkg_-rXh8,3172
49
+ logger_36/type/message.py,sha256=pv9yJKd_GXuctUFWIjvcFoekNrBu0hDg0fqj_KAFwjI,2537
50
+ logger_36-2025.18.dist-info/METADATA,sha256=uUcAg2M2fBGUYwHYNmRvCpM-ShfH-VxsCNbL3oheDK0,6529
51
+ logger_36-2025.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
52
+ logger_36-2025.18.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
53
+ logger_36-2025.18.dist-info/RECORD,,
@@ -1,56 +0,0 @@
1
- """
2
- Copyright CNRS/Inria/UniCA
3
- Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
- SEE COPYRIGHT NOTICE BELOW
5
- """
6
-
7
- import typing as h
8
-
9
- handler_codes_h = h.Literal["g", "c", "f", "a"] # g=generic, c=console, f=file, a=all.
10
- HANDLER_KINDS: tuple[str, ...] = h.get_args(handler_codes_h)
11
-
12
- """
13
- COPYRIGHT NOTICE
14
-
15
- This software is governed by the CeCILL license under French law and
16
- abiding by the rules of distribution of free software. You can use,
17
- modify and/ or redistribute the software under the terms of the CeCILL
18
- license as circulated by CEA, CNRS and INRIA at the following URL
19
- "http://www.cecill.info".
20
-
21
- As a counterpart to the access to the source code and rights to copy,
22
- modify and redistribute granted by the license, users are provided only
23
- with a limited warranty and the software's author, the holder of the
24
- economic rights, and the successive licensors have only limited
25
- liability.
26
-
27
- In this respect, the user's attention is drawn to the risks associated
28
- with loading, using, modifying and/or developing or reproducing the
29
- software by the user in light of its specific status of free software,
30
- that may mean that it is complicated to manipulate, and that also
31
- therefore means that it is reserved for developers and experienced
32
- professionals having in-depth computer knowledge. Users are therefore
33
- encouraged to load and test the software's suitability as regards their
34
- requirements in conditions enabling the security of their systems and/or
35
- data to be ensured and, more generally, to use and operate it in the
36
- same conditions as regards security.
37
-
38
- The fact that you are presently reading this means that you have had
39
- knowledge of the CeCILL license and that you accept its terms.
40
-
41
- SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
42
-
43
- This software is being developed by Eric Debreuve, a CNRS employee and
44
- member of team Morpheme.
45
- Team Morpheme is a joint team between Inria, CNRS, and UniCA.
46
- It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
47
- I3S, and Laboratory iBV.
48
-
49
- CNRS: https://www.cnrs.fr/index.php/en
50
- Inria: https://www.inria.fr/en/
51
- UniCA: https://univ-cotedazur.eu/
52
- Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
53
- I3S: https://www.i3s.unice.fr/en/
54
- iBV: http://ibv.unice.fr/
55
- Team Morpheme: https://team.inria.fr/morpheme/
56
- """
@@ -1,54 +0,0 @@
1
- logger_36/__init__.py,sha256=UhKxuQLS1Pfgt5H0K_7BaDAPejOUR8byD5BYRCnHQMQ,2655
2
- logger_36/version.py,sha256=SlgS0Uo9sKB6vpjWQKryKeGsW_DST0lxy888VpF5J5Q,2206
3
- logger_36/api/content.py,sha256=clHYYUKa8n4qef6PVlUV4mFHRRf6fnm9wEd2fu9oagA,2381
4
- logger_36/api/gpu.py,sha256=BOumedCAPWvCo7J-KJ3XE-jr5S0KSmgcFv_S4QKRPO8,2252
5
- logger_36/api/memory.py,sha256=szJVk4UTXsbYv3B-W9LFttf1F3j86GXHsKgEUOsXKl4,2743
6
- logger_36/api/storage.py,sha256=t83D7Ge0ka7FCHUM8xchLsO_TMu0Bcc2IcBzw_gjkSA,2300
7
- logger_36/api/system.py,sha256=cgOMF_OneYeIJDMbIbIDx96EZss2uAdkk8QofOC7O1U,2251
8
- logger_36/api/time.py,sha256=Uw1jQtY1njsRuIPRAXX44v4nPOo84MSBu_WK_YCRzQs,2324
9
- logger_36/api/type.py,sha256=4m5fZGI6LOQvFakEStFv6HTP4FY9nyFpNNlK34rCfQw,2286
10
- logger_36/catalog/config/console_rich.py,sha256=lAa5Ev5BhXvmQzfIt1FNihMNUQJFlXaIzNanAMdgtd0,2861
11
- logger_36/catalog/config/optional.py,sha256=HaN6mbx7gHBBppNvUw1ckhYTOrlYqb-b_r0mzPcHPjM,2398
12
- logger_36/catalog/handler/console.py,sha256=nczZAIlkolkuTG5TMipqJJTtlwg58HQE1q-9hVyelCg,2951
13
- logger_36/catalog/handler/console_rich.py,sha256=cZHFM9fHxdEnzhVg1S94wa0P_QOSTO4O1oQxigpNA0s,6907
14
- logger_36/catalog/handler/file.py,sha256=jZEoKPUjK5MlvzxgxXICH7jJLnHr7vDw42tv7GqopiA,3181
15
- logger_36/catalog/handler/generic.py,sha256=nfJSi0mghbSfSfZa4VV5jTetDV8ykEIkkRxRkIC084Y,7989
16
- logger_36/catalog/logger/chronos.py,sha256=ocY13f98EfknU7wZCv0FS9Xb7pTNaWCPSusXFIEvEd4,2437
17
- logger_36/catalog/logger/gpu.py,sha256=ybn7Q8exiqoigvNpzEhg0Zp027WogypuNJwfsQ1pRY4,3416
18
- logger_36/catalog/logger/memory.py,sha256=aSLHDQPacPE2FJlpBRItVhQA0KxzkFDFPXPn3TcZ8Dg,4779
19
- logger_36/catalog/logger/system.py,sha256=3VWbceSAknZwmRhEfd8pkuLwU2B8zPhCGNGQE0h5KLo,3065
20
- logger_36/config/issue.py,sha256=G-i5p6lhZCLAOa-VTMyL9ZonvGCvhdoQ5KZdSWgP-FU,2267
21
- logger_36/config/memory.py,sha256=yCX5phsB_KJMr5xHpVUeOHFhAA7p_8yahP3X28VndOY,2217
22
- logger_36/config/message.py,sha256=mgPcMS7qWBuqP2w5NoHw1df32kcVToVhisozb32_EII,2554
23
- logger_36/config/system.py,sha256=HD8ZuwsXhEAExeZrww8YoDkQGMs4T5RDqQMb1W4qVgc,2477
24
- logger_36/constant/error.py,sha256=LzsS_P1IoH3ct_ifNWi9LzJ-X_Y5DN1naTLwwIFzDQA,2827
25
- logger_36/constant/generic.py,sha256=t6aRb66_NHwMhR1p7BZ4QXTU2jpLz-H5YAL4PuMtKx8,2244
26
- logger_36/constant/handler.py,sha256=tnTr6JvObgL6LPIX77HR5uXQvwqAT8hbKvEWfKkzlCo,2351
27
- logger_36/constant/html.py,sha256=-m1CDyDN0kkurloEtJeqBsyxy9nXCImIMGLwEIF33M0,2515
28
- logger_36/constant/issue.py,sha256=01l8itRPWGS5F6gXtsXUJgGR-4lS1Eu3_YeKC-khKLw,2315
29
- logger_36/constant/logger.py,sha256=2qRkteblpbHrq9x0aiw9MPquyXrSRd6_yMQnPEhFp2U,2468
30
- logger_36/constant/memory.py,sha256=ZL1MwbdtNsrCrOwzEyfTsfOoOsRBTJtbbf3otHGnxXo,2343
31
- logger_36/constant/message.py,sha256=Ys_CAyhENlT8Z3rr-AxO4hjdl1jLsKzVSPQ8wqLOCPQ,2838
32
- logger_36/constant/path.py,sha256=hNT_Ut8NMWVW826eUZsJ5ieFeihFKXZBcLOUszJYn8g,2753
33
- logger_36/constant/record.py,sha256=D_VDC5m5_LGcoV6YBb5hE6CLioUPFGX8hzcMdMazRoM,2260
34
- logger_36/constant/system.py,sha256=G2mzBTxRXoJMxb53TnmBaceMJC_q3WonoCG7y6nC_R8,2430
35
- logger_36/extension/html_.py,sha256=J9EX8-Rotq9i8bZ9U-dIpXv5gKLLnLmWqdDy4XayT1Q,3868
36
- logger_36/extension/line.py,sha256=3MJ3B5PXJn18RHxBUcWnNBLEYzb7VTcEAufn7ULdYfY,3143
37
- logger_36/instance/logger.py,sha256=oTw5svRzKRJKvGrrZUtutJIOjp5UISft3fl0Ze7DOBE,2241
38
- logger_36/instance/loggers.py,sha256=RCWpC1NPAf6vXnFc9NqsSALv-x-FEzcH6k_OlxTxeQk,2251
39
- logger_36/task/inspection.py,sha256=VR9ESSa2iAAiQggwzHzV2A3-rRr6VgMqR1HvclhK2Xc,5010
40
- logger_36/task/storage.py,sha256=Y88934cVcen1i8qruskmCMQYA5-dl1wI8EaJFCv49Q0,4042
41
- logger_36/task/format/memory.py,sha256=ZipL1f-Bqv4ugFvXZfNrj49rdIMXjEKcVz1OvgMaZXI,4249
42
- logger_36/task/format/message.py,sha256=5mR9CZaARy9q-JtIX68IyY-DKTepkxyRV7juByqBH7c,5771
43
- logger_36/task/format/rule.py,sha256=CtR7d2X-pZFKdqG6Y2_3b5AMKg_J274Jq69kht0N6xs,2910
44
- logger_36/task/measure/chronos.py,sha256=1kVhu6jZlNAtNWQQh8ZVuRwZIAC9gGz3_ul1tn0t4Yw,3055
45
- logger_36/task/measure/memory.py,sha256=OjU5EYFH8SnzlCQKAoiXvauUlwQYOrH34jFXTVYF0jE,2517
46
- logger_36/type/handler.py,sha256=RlYVGxP6jfLqKJH-KvJBunPrjmcQ-gcoQzr6Hw4dOdk,5962
47
- logger_36/type/issue.py,sha256=2rGsFqaQJCbeml9xN08mN_nK79L8qscaS_0ws36Y0bI,3214
48
- logger_36/type/logger.py,sha256=6q_9nbbumyF0aXupl36Xc_06gJ2aE7k39ZQwSffXQnI,26319
49
- logger_36/type/loggers.py,sha256=KLPoZ8UtQNhUw6MVu2pBcbSsIMKzgTaoxCulS1z2zPU,3748
50
- logger_36/type/message.py,sha256=zKME5p87ynsXte_b5usXV3VHaj34Uezs9Gg_WVWfaeY,3063
51
- logger_36-2025.17.dist-info/METADATA,sha256=lniQQRbIv0AHbWw_iEoVZjm3ZKBTKQW-1BXXXdKv6fs,6506
52
- logger_36-2025.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
- logger_36-2025.17.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
54
- logger_36-2025.17.dist-info/RECORD,,