halib 0.1.80__tar.gz → 0.1.82__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 (50) hide show
  1. {halib-0.1.80 → halib-0.1.82}/PKG-INFO +2 -2
  2. {halib-0.1.80 → halib-0.1.82}/README.md +1 -1
  3. {halib-0.1.80 → halib-0.1.82}/halib/research/profiler.py +15 -3
  4. {halib-0.1.80 → halib-0.1.82}/halib.egg-info/PKG-INFO +2 -2
  5. {halib-0.1.80 → halib-0.1.82}/setup.py +1 -1
  6. {halib-0.1.80 → halib-0.1.82}/.gitignore +0 -0
  7. {halib-0.1.80 → halib-0.1.82}/GDriveFolder.txt +0 -0
  8. {halib-0.1.80 → halib-0.1.82}/LICENSE.txt +0 -0
  9. {halib-0.1.80 → halib-0.1.82}/MANIFEST.in +0 -0
  10. {halib-0.1.80 → halib-0.1.82}/guide_publish_pip.pdf +0 -0
  11. {halib-0.1.80 → halib-0.1.82}/halib/__init__.py +0 -0
  12. {halib-0.1.80 → halib-0.1.82}/halib/common.py +0 -0
  13. {halib-0.1.80 → halib-0.1.82}/halib/cuda.py +0 -0
  14. {halib-0.1.80 → halib-0.1.82}/halib/filetype/__init__.py +0 -0
  15. {halib-0.1.80 → halib-0.1.82}/halib/filetype/csvfile.py +0 -0
  16. {halib-0.1.80 → halib-0.1.82}/halib/filetype/jsonfile.py +0 -0
  17. {halib-0.1.80 → halib-0.1.82}/halib/filetype/textfile.py +0 -0
  18. {halib-0.1.80 → halib-0.1.82}/halib/filetype/videofile.py +0 -0
  19. {halib-0.1.80 → halib-0.1.82}/halib/filetype/yamlfile.py +0 -0
  20. {halib-0.1.80 → halib-0.1.82}/halib/online/__init__.py +0 -0
  21. {halib-0.1.80 → halib-0.1.82}/halib/online/gdrive.py +0 -0
  22. {halib-0.1.80 → halib-0.1.82}/halib/online/gdrive_mkdir.py +0 -0
  23. {halib-0.1.80 → halib-0.1.82}/halib/online/gdrive_test.py +0 -0
  24. {halib-0.1.80 → halib-0.1.82}/halib/online/projectmake.py +0 -0
  25. {halib-0.1.80 → halib-0.1.82}/halib/research/__init__.py +0 -0
  26. {halib-0.1.80 → halib-0.1.82}/halib/research/base_config.py +0 -0
  27. {halib-0.1.80 → halib-0.1.82}/halib/research/base_exp.py +0 -0
  28. {halib-0.1.80 → halib-0.1.82}/halib/research/dataset.py +0 -0
  29. {halib-0.1.80 → halib-0.1.82}/halib/research/metrics.py +0 -0
  30. {halib-0.1.80 → halib-0.1.82}/halib/research/perfcalc.py +0 -0
  31. {halib-0.1.80 → halib-0.1.82}/halib/research/perftb.py +0 -0
  32. {halib-0.1.80 → halib-0.1.82}/halib/research/plot.py +0 -0
  33. {halib-0.1.80 → halib-0.1.82}/halib/research/torchloader.py +0 -0
  34. {halib-0.1.80 → halib-0.1.82}/halib/research/wandb_op.py +0 -0
  35. {halib-0.1.80 → halib-0.1.82}/halib/rich_color.py +0 -0
  36. {halib-0.1.80 → halib-0.1.82}/halib/system/__init__.py +0 -0
  37. {halib-0.1.80 → halib-0.1.82}/halib/system/cmd.py +0 -0
  38. {halib-0.1.80 → halib-0.1.82}/halib/system/filesys.py +0 -0
  39. {halib-0.1.80 → halib-0.1.82}/halib/utils/__init__.py +0 -0
  40. {halib-0.1.80 → halib-0.1.82}/halib/utils/dataclass_util.py +0 -0
  41. {halib-0.1.80 → halib-0.1.82}/halib/utils/dict_op.py +0 -0
  42. {halib-0.1.80 → halib-0.1.82}/halib/utils/gpu_mon.py +0 -0
  43. {halib-0.1.80 → halib-0.1.82}/halib/utils/listop.py +0 -0
  44. {halib-0.1.80 → halib-0.1.82}/halib/utils/tele_noti.py +0 -0
  45. {halib-0.1.80 → halib-0.1.82}/halib/utils/video.py +0 -0
  46. {halib-0.1.80 → halib-0.1.82}/halib.egg-info/SOURCES.txt +0 -0
  47. {halib-0.1.80 → halib-0.1.82}/halib.egg-info/dependency_links.txt +0 -0
  48. {halib-0.1.80 → halib-0.1.82}/halib.egg-info/requires.txt +0 -0
  49. {halib-0.1.80 → halib-0.1.82}/halib.egg-info/top_level.txt +0 -0
  50. {halib-0.1.80 → halib-0.1.82}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: halib
3
- Version: 0.1.80
3
+ Version: 0.1.82
4
4
  Summary: Small library for common tasks
5
5
  Author: Hoang Van Ha
6
6
  Author-email: hoangvanhauit@gmail.com
@@ -52,7 +52,7 @@ Dynamic: summary
52
52
 
53
53
  Helper package for coding and automation
54
54
 
55
- **Version 0.1.80**
55
+ **Version 0.1.82**
56
56
 
57
57
  + `research/profiler`: add `zProfiler` class to measure execution time of contexts and steps, with support for dynamic color scales in plots.
58
58
 
@@ -1,6 +1,6 @@
1
1
  Helper package for coding and automation
2
2
 
3
- **Version 0.1.80**
3
+ **Version 0.1.82**
4
4
 
5
5
  + `research/profiler`: add `zProfiler` class to measure execution time of contexts and steps, with support for dynamic color scales in plots.
6
6
 
@@ -9,6 +9,7 @@ from threading import Lock
9
9
  from plotly.subplots import make_subplots
10
10
  import plotly.graph_objects as go
11
11
  import plotly.express as px # for dynamic color scales
12
+ from ..common import ConsoleLog
12
13
 
13
14
  from loguru import logger
14
15
 
@@ -94,7 +95,7 @@ class zProfiler:
94
95
  │ }
95
96
  """
96
97
  assert (
97
- len(ctx_step_dict.keys()) > 1
98
+ len(ctx_step_dict.keys()) > 0
98
99
  ), "step_dict must have only one key (step_name) for detail."
99
100
 
100
101
  for step_name, time_list in ctx_step_dict.items():
@@ -190,13 +191,14 @@ class zProfiler:
190
191
  percent_times = summary["percent_time"]
191
192
 
192
193
  step_names = [s.replace("avg_", "") for s in avg_times.keys()]
193
- pprint(f'{step_names=}')
194
+ # pprint(f'{step_names=}')
194
195
  n_steps = len(step_names)
195
196
 
197
+ assert n_steps > 0, "No steps found for context: {}".format(ctx)
196
198
  # Generate dynamic colors
197
199
  colors = px.colors.sample_colorscale(
198
200
  "Viridis", [i / (n_steps - 1) for i in range(n_steps)]
199
- )
201
+ ) if n_steps > 1 else [px.colors.sample_colorscale("Viridis", [0])[0]]
200
202
  # pprint(f'{len(colors)} colors generated for {n_steps} steps')
201
203
  color_map = dict(zip(step_names, colors))
202
204
 
@@ -278,6 +280,16 @@ class zProfiler:
278
280
  return self.plot_formatted_data(
279
281
  report, outdir=outdir, file_format=file_format, do_show=do_show
280
282
  )
283
+ def meta_info(self):
284
+ """
285
+ Print the structure of the profiler's time dictionary.
286
+ Useful for debugging and understanding the profiler's internal state.
287
+ """
288
+ for ctx_name, ctx_dict in self.time_dict.items():
289
+ with ConsoleLog(f"Context: {ctx_name}"):
290
+ step_names = list(ctx_dict['step_dict'].keys())
291
+ for step_name in step_names:
292
+ pprint(f"Step: {step_name}")
281
293
 
282
294
  def save_report_dict(self, output_file, with_detail=False):
283
295
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: halib
3
- Version: 0.1.80
3
+ Version: 0.1.82
4
4
  Summary: Small library for common tasks
5
5
  Author: Hoang Van Ha
6
6
  Author-email: hoangvanhauit@gmail.com
@@ -52,7 +52,7 @@ Dynamic: summary
52
52
 
53
53
  Helper package for coding and automation
54
54
 
55
- **Version 0.1.80**
55
+ **Version 0.1.82**
56
56
 
57
57
  + `research/profiler`: add `zProfiler` class to measure execution time of contexts and steps, with support for dynamic color scales in plots.
58
58
 
@@ -8,7 +8,7 @@ with open("requirements.txt") as f:
8
8
 
9
9
  setuptools.setup(
10
10
  name="halib",
11
- version="0.1.80",
11
+ version="0.1.82",
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
File without changes