halib 0.2.20__tar.gz → 0.2.21__tar.gz

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 (56) hide show
  1. {halib-0.2.20 → halib-0.2.21}/PKG-INFO +4 -2
  2. {halib-0.2.20 → halib-0.2.21}/README.md +3 -1
  3. {halib-0.2.20 → halib-0.2.21}/halib/__init__.py +11 -5
  4. {halib-0.2.20 → halib-0.2.21}/halib/common/common.py +29 -0
  5. {halib-0.2.20 → halib-0.2.21}/halib.egg-info/PKG-INFO +4 -2
  6. {halib-0.2.20 → halib-0.2.21}/setup.py +1 -1
  7. {halib-0.2.20 → halib-0.2.21}/.gitignore +0 -0
  8. {halib-0.2.20 → halib-0.2.21}/GDriveFolder.txt +0 -0
  9. {halib-0.2.20 → halib-0.2.21}/LICENSE.txt +0 -0
  10. {halib-0.2.20 → halib-0.2.21}/MANIFEST.in +0 -0
  11. {halib-0.2.20 → halib-0.2.21}/halib/common/__init__.py +0 -0
  12. {halib-0.2.20 → halib-0.2.21}/halib/common/rich_color.py +0 -0
  13. {halib-0.2.20 → halib-0.2.21}/halib/exp/__init__.py +0 -0
  14. {halib-0.2.20 → halib-0.2.21}/halib/exp/core/__init__.py +0 -0
  15. {halib-0.2.20 → halib-0.2.21}/halib/exp/core/base_config.py +0 -0
  16. {halib-0.2.20 → halib-0.2.21}/halib/exp/core/base_exp.py +0 -0
  17. {halib-0.2.20 → halib-0.2.21}/halib/exp/core/param_gen.py +0 -0
  18. {halib-0.2.20 → halib-0.2.21}/halib/exp/core/wandb_op.py +0 -0
  19. {halib-0.2.20 → halib-0.2.21}/halib/exp/data/__init__.py +0 -0
  20. {halib-0.2.20 → halib-0.2.21}/halib/exp/data/dataclass_util.py +0 -0
  21. {halib-0.2.20 → halib-0.2.21}/halib/exp/data/dataset.py +0 -0
  22. {halib-0.2.20 → halib-0.2.21}/halib/exp/data/torchloader.py +0 -0
  23. {halib-0.2.20 → halib-0.2.21}/halib/exp/perf/__init__.py +0 -0
  24. {halib-0.2.20 → halib-0.2.21}/halib/exp/perf/flop_calc.py +0 -0
  25. {halib-0.2.20 → halib-0.2.21}/halib/exp/perf/gpu_mon.py +0 -0
  26. {halib-0.2.20 → halib-0.2.21}/halib/exp/perf/perfcalc.py +0 -0
  27. {halib-0.2.20 → halib-0.2.21}/halib/exp/perf/perfmetrics.py +0 -0
  28. {halib-0.2.20 → halib-0.2.21}/halib/exp/perf/perftb.py +0 -0
  29. {halib-0.2.20 → halib-0.2.21}/halib/exp/perf/profiler.py +0 -0
  30. {halib-0.2.20 → halib-0.2.21}/halib/exp/viz/__init__.py +0 -0
  31. {halib-0.2.20 → halib-0.2.21}/halib/exp/viz/plot.py +0 -0
  32. {halib-0.2.20 → halib-0.2.21}/halib/filetype/__init__.py +0 -0
  33. {halib-0.2.20 → halib-0.2.21}/halib/filetype/csvfile.py +0 -0
  34. {halib-0.2.20 → halib-0.2.21}/halib/filetype/ipynb.py +0 -0
  35. {halib-0.2.20 → halib-0.2.21}/halib/filetype/jsonfile.py +0 -0
  36. {halib-0.2.20 → halib-0.2.21}/halib/filetype/textfile.py +0 -0
  37. {halib-0.2.20 → halib-0.2.21}/halib/filetype/videofile.py +0 -0
  38. {halib-0.2.20 → halib-0.2.21}/halib/filetype/yamlfile.py +0 -0
  39. {halib-0.2.20 → halib-0.2.21}/halib/online/__init__.py +0 -0
  40. {halib-0.2.20 → halib-0.2.21}/halib/online/gdrive.py +0 -0
  41. {halib-0.2.20 → halib-0.2.21}/halib/online/gdrive_mkdir.py +0 -0
  42. {halib-0.2.20 → halib-0.2.21}/halib/online/projectmake.py +0 -0
  43. {halib-0.2.20 → halib-0.2.21}/halib/online/tele_noti.py +0 -0
  44. {halib-0.2.20 → halib-0.2.21}/halib/system/__init__.py +0 -0
  45. {halib-0.2.20 → halib-0.2.21}/halib/system/_list_pc.csv +0 -0
  46. {halib-0.2.20 → halib-0.2.21}/halib/system/cmd.py +0 -0
  47. {halib-0.2.20 → halib-0.2.21}/halib/system/filesys.py +0 -0
  48. {halib-0.2.20 → halib-0.2.21}/halib/system/path.py +0 -0
  49. {halib-0.2.20 → halib-0.2.21}/halib/utils/__init__.py +0 -0
  50. {halib-0.2.20 → halib-0.2.21}/halib/utils/dict.py +0 -0
  51. {halib-0.2.20 → halib-0.2.21}/halib/utils/list.py +0 -0
  52. {halib-0.2.20 → halib-0.2.21}/halib.egg-info/SOURCES.txt +0 -0
  53. {halib-0.2.20 → halib-0.2.21}/halib.egg-info/dependency_links.txt +0 -0
  54. {halib-0.2.20 → halib-0.2.21}/halib.egg-info/requires.txt +0 -0
  55. {halib-0.2.20 → halib-0.2.21}/halib.egg-info/top_level.txt +0 -0
  56. {halib-0.2.20 → halib-0.2.21}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: halib
3
- Version: 0.2.20
3
+ Version: 0.2.21
4
4
  Summary: Small library for common tasks
5
5
  Author: Hoang Van Ha
6
6
  Author-email: hoangvanhauit@gmail.com
@@ -56,7 +56,9 @@ Dynamic: summary
56
56
 
57
57
  ## v0.2.x (Experiment & Core Updates)
58
58
 
59
- ### **v0.2.20**
59
+ ### **v0.2.21**
60
+ - ✨ **New Feature:** Added `common.common.pprint_stack_trace` to print stack traces with optional custom messages and force stop capability.
61
+
60
62
  - 🚀 **Improvement:** `exp.perf.profiler` - allow to export *report dict* as csv files for further analysis
61
63
 
62
64
  ### **v0.2.19**
@@ -2,7 +2,9 @@
2
2
 
3
3
  ## v0.2.x (Experiment & Core Updates)
4
4
 
5
- ### **v0.2.20**
5
+ ### **v0.2.21**
6
+ - ✨ **New Feature:** Added `common.common.pprint_stack_trace` to print stack traces with optional custom messages and force stop capability.
7
+
6
8
  - 🚀 **Improvement:** `exp.perf.profiler` - allow to export *report dict* as csv files for further analysis
7
9
 
8
10
  ### **v0.2.19**
@@ -19,11 +19,11 @@ __all__ = [
19
19
  "os",
20
20
  "pd",
21
21
  "plt",
22
- "pprint",
23
22
  "pprint_box",
24
23
  "pprint_local_path",
24
+ "pprint_stack_trace",
25
+ "pprint",
25
26
  "px",
26
- "pprint_local_path",
27
27
  "rcolor_all_str",
28
28
  "rcolor_palette_all",
29
29
  "rcolor_palette",
@@ -32,10 +32,10 @@ __all__ = [
32
32
  "rprint",
33
33
  "sns",
34
34
  "tcuda",
35
+ "time",
35
36
  "timebudget",
36
37
  "tqdm",
37
38
  "warnings",
38
- "time",
39
39
  ]
40
40
  import warnings
41
41
 
@@ -64,7 +64,8 @@ from .common.common import (
64
64
  norm_str,
65
65
  pprint_box,
66
66
  pprint_local_path,
67
- tcuda
67
+ pprint_stack_trace,
68
+ tcuda,
68
69
  )
69
70
 
70
71
  # for log
@@ -76,7 +77,12 @@ from timebudget import timebudget
76
77
  import omegaconf
77
78
  from omegaconf import OmegaConf
78
79
  from omegaconf.dictconfig import DictConfig
79
- from .common.rich_color import rcolor_str, rcolor_palette, rcolor_palette_all, rcolor_all_str
80
+ from .common.rich_color import (
81
+ rcolor_str,
82
+ rcolor_palette,
83
+ rcolor_palette_all,
84
+ rcolor_all_str,
85
+ )
80
86
 
81
87
  # for visualization
82
88
  import seaborn as sns
@@ -1,4 +1,5 @@
1
1
  import os
2
+ import sys
2
3
  import re
3
4
  import arrow
4
5
  import importlib
@@ -10,6 +11,8 @@ from rich.console import Console
10
11
  from rich.pretty import pprint, Pretty
11
12
 
12
13
  from pathlib import Path, PureWindowsPath
14
+ from typing import Optional
15
+ from loguru import logger
13
16
 
14
17
 
15
18
  console = Console()
@@ -114,6 +117,32 @@ def linux_to_wins_path(path: str) -> str:
114
117
  return str(PureWindowsPath(win_path))
115
118
 
116
119
 
120
+ DEFAULT_STACK_TRACE_MSG = "Caused by halib.common.common.pprint_stack_trace"
121
+
122
+
123
+ def pprint_stack_trace(
124
+ msg: str = DEFAULT_STACK_TRACE_MSG,
125
+ e: Optional[Exception] = None,
126
+ force_stop: bool = False,
127
+ ):
128
+ """
129
+ Print the current stack trace or the stack trace of an exception.
130
+ """
131
+ try:
132
+ if e is not None:
133
+ raise e
134
+ else:
135
+ raise Exception("pprint_stack_trace called")
136
+ except Exception as e:
137
+ # attach the exception trace to a warning
138
+ global DEFAULT_STACK_TRACE_MSG
139
+ if len(msg.strip()) == 0:
140
+ msg = DEFAULT_STACK_TRACE_MSG
141
+ logger.opt(exception=e).warning(msg)
142
+ if force_stop:
143
+ console.rule("[red]Force Stop Triggered in <halib.common.pprint_stack_trace>[/red]")
144
+ sys.exit(1)
145
+
117
146
  def pprint_local_path(
118
147
  local_path: str, get_wins_path: bool = False, tag: str = ""
119
148
  ) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: halib
3
- Version: 0.2.20
3
+ Version: 0.2.21
4
4
  Summary: Small library for common tasks
5
5
  Author: Hoang Van Ha
6
6
  Author-email: hoangvanhauit@gmail.com
@@ -56,7 +56,9 @@ Dynamic: summary
56
56
 
57
57
  ## v0.2.x (Experiment & Core Updates)
58
58
 
59
- ### **v0.2.20**
59
+ ### **v0.2.21**
60
+ - ✨ **New Feature:** Added `common.common.pprint_stack_trace` to print stack traces with optional custom messages and force stop capability.
61
+
60
62
  - 🚀 **Improvement:** `exp.perf.profiler` - allow to export *report dict* as csv files for further analysis
61
63
 
62
64
  ### **v0.2.19**
@@ -8,7 +8,7 @@ with open("requirements.txt", "r", encoding="utf-8") as f:
8
8
 
9
9
  setuptools.setup(
10
10
  name="halib",
11
- version="0.2.20",
11
+ version="0.2.21",
12
12
  author="Hoang Van Ha",
13
13
  author_email="hoangvanhauit@gmail.com",
14
14
  description="Small library for common tasks",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes