jarvisplot 1.3.10__tar.gz → 1.3.11__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 (96) hide show
  1. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/JarvisPLOT.egg-info/PKG-INFO +1 -1
  2. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/JarvisPLOT.egg-info/SOURCES.txt +9 -0
  3. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/PKG-INFO +1 -1
  4. jarvisplot-1.3.11/jarvisplot/__init__.py +3 -0
  5. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/args.json +8 -3
  6. jarvisplot-1.3.11/jarvisplot/cards/flowchart/default.json +45 -0
  7. jarvisplot-1.3.11/jarvisplot/cards/icons/flowchart/JarvisHEP.png +0 -0
  8. jarvisplot-1.3.11/jarvisplot/cards/icons/flowchart/calculator.png +0 -0
  9. jarvisplot-1.3.11/jarvisplot/cards/icons/flowchart/inputfile.png +0 -0
  10. jarvisplot-1.3.11/jarvisplot/cards/icons/flowchart/opera.png +0 -0
  11. jarvisplot-1.3.11/jarvisplot/cards/icons/flowchart/outputfile.png +0 -0
  12. jarvisplot-1.3.11/jarvisplot/cards/icons/flowchart/sampler.png +0 -0
  13. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/core.py +29 -0
  14. jarvisplot-1.3.11/jarvisplot/flowchart.py +706 -0
  15. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/pyproject.toml +1 -1
  16. jarvisplot-1.3.11/tests/test_flowchart_renderer.py +112 -0
  17. jarvisplot-1.3.10/jarvisplot/utils/__init__.py +0 -0
  18. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/JarvisPLOT.egg-info/dependency_links.txt +0 -0
  19. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/JarvisPLOT.egg-info/entry_points.txt +0 -0
  20. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/JarvisPLOT.egg-info/requires.txt +0 -0
  21. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/JarvisPLOT.egg-info/top_level.txt +0 -0
  22. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/README.md +0 -0
  23. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/__init__.py +0 -0
  24. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/adapters_rect.py +0 -0
  25. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/adapters_ternary.py +0 -0
  26. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/cards/std_axes_adapter_config.json +0 -0
  27. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/colorbar_runtime.py +0 -0
  28. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/config_runtime.py +0 -0
  29. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/data_pipelines.py +0 -0
  30. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/density_cell_runtime.py +0 -0
  31. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/dynesty_runtime.py +0 -0
  32. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/figure.py +0 -0
  33. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/helper.py +0 -0
  34. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/interp_2d_runtime.py +0 -0
  35. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/interp_natural_neighbor.py +0 -0
  36. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/interp_natural_neighbor_exact.py +0 -0
  37. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/layer_runtime.py +0 -0
  38. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/layout_runtime.py +0 -0
  39. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/method_registry.py +0 -0
  40. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/posterior_hpd.py +0 -0
  41. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/preprocessor.py +0 -0
  42. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/preprocessor_runtime.py +0 -0
  43. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/profile_runtime.py +0 -0
  44. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/Figure/style_runtime.py +0 -0
  45. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cache_store.py +0 -0
  46. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/1x1/ternary.json +0 -0
  47. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/2x1/dynesty_runplot.json +0 -0
  48. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/2x1/rect.json +0 -0
  49. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/2x1/rect5x1.json +0 -0
  50. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/2x1/rect_cmap.json +0 -0
  51. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/2x1/ternary.json +0 -0
  52. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/2x1/ternary_cmap.json +0 -0
  53. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/4x1/rect.json +0 -0
  54. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/4x1/rect_cmap.json +0 -0
  55. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/4x1/ternary.json +0 -0
  56. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/a4paper/4x1/ternary_cmap.json +0 -0
  57. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/colors/colormaps.json +0 -0
  58. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/default/output.json +0 -0
  59. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/gambit/1x1/ternary.json +0 -0
  60. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/gambit/2x1/rect_cmap.json +0 -0
  61. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/gambit/2x1/ternary.json +0 -0
  62. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/gambit/2x1/ternary_cmap.json +0 -0
  63. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/icons/JarvisHEP.png +0 -0
  64. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/icons/gambit.png +0 -0
  65. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/icons/gambit_small.png +0 -0
  66. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cards/style_preference.json +0 -0
  67. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/cli.py +0 -0
  68. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/client.py +0 -0
  69. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/config.py +0 -0
  70. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/core_assets.py +0 -0
  71. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/core_runtime.py +0 -0
  72. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/data_loader.py +0 -0
  73. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/data_loader_hdf5.py +0 -0
  74. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/data_loader_runtime.py +0 -0
  75. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/data_loader_summary.py +0 -0
  76. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/inner_func.py +0 -0
  77. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/memtrace.py +0 -0
  78. {jarvisplot-1.3.10/jarvisplot → jarvisplot-1.3.11/jarvisplot/utils}/__init__.py +0 -0
  79. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/utils/cmaps.py +0 -0
  80. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/utils/dataframes.py +0 -0
  81. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/utils/expression.py +0 -0
  82. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/utils/interpolator.py +0 -0
  83. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/jarvisplot/utils/pathing.py +0 -0
  84. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/setup.cfg +0 -0
  85. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_data_loader_contracts.py +0 -0
  86. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_density_cell_transform.py +0 -0
  87. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_docs_status_labels.py +0 -0
  88. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_figure_contracts.py +0 -0
  89. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_interp_2d_transform.py +0 -0
  90. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_interp_natural_neighbor.py +0 -0
  91. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_interpolator_contracts.py +0 -0
  92. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_jpcontour_methods.py +0 -0
  93. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_parse_data_metadata.py +0 -0
  94. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_pathing_contracts.py +0 -0
  95. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_posterior_hpd.py +0 -0
  96. {jarvisplot-1.3.10 → jarvisplot-1.3.11}/tests/test_template_json.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: JarvisPLOT
3
- Version: 1.3.10
3
+ Version: 1.3.11
4
4
  Summary: Jarvis-PLOT: YAML-driven plotting engine
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -18,6 +18,7 @@ jarvisplot/data_loader.py
18
18
  jarvisplot/data_loader_hdf5.py
19
19
  jarvisplot/data_loader_runtime.py
20
20
  jarvisplot/data_loader_summary.py
21
+ jarvisplot/flowchart.py
21
22
  jarvisplot/inner_func.py
22
23
  jarvisplot/memtrace.py
23
24
  jarvisplot/Figure/__init__.py
@@ -57,6 +58,7 @@ jarvisplot/cards/a4paper/4x1/ternary.json
57
58
  jarvisplot/cards/a4paper/4x1/ternary_cmap.json
58
59
  jarvisplot/cards/colors/colormaps.json
59
60
  jarvisplot/cards/default/output.json
61
+ jarvisplot/cards/flowchart/default.json
60
62
  jarvisplot/cards/gambit/1x1/ternary.json
61
63
  jarvisplot/cards/gambit/2x1/rect_cmap.json
62
64
  jarvisplot/cards/gambit/2x1/ternary.json
@@ -64,6 +66,12 @@ jarvisplot/cards/gambit/2x1/ternary_cmap.json
64
66
  jarvisplot/cards/icons/JarvisHEP.png
65
67
  jarvisplot/cards/icons/gambit.png
66
68
  jarvisplot/cards/icons/gambit_small.png
69
+ jarvisplot/cards/icons/flowchart/JarvisHEP.png
70
+ jarvisplot/cards/icons/flowchart/calculator.png
71
+ jarvisplot/cards/icons/flowchart/inputfile.png
72
+ jarvisplot/cards/icons/flowchart/opera.png
73
+ jarvisplot/cards/icons/flowchart/outputfile.png
74
+ jarvisplot/cards/icons/flowchart/sampler.png
67
75
  jarvisplot/utils/__init__.py
68
76
  jarvisplot/utils/cmaps.py
69
77
  jarvisplot/utils/dataframes.py
@@ -74,6 +82,7 @@ tests/test_data_loader_contracts.py
74
82
  tests/test_density_cell_transform.py
75
83
  tests/test_docs_status_labels.py
76
84
  tests/test_figure_contracts.py
85
+ tests/test_flowchart_renderer.py
77
86
  tests/test_interp_2d_transform.py
78
87
  tests/test_interp_natural_neighbor.py
79
88
  tests/test_interpolator_contracts.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: JarvisPLOT
3
- Version: 1.3.10
3
+ Version: 1.3.11
4
4
  Summary: Jarvis-PLOT: YAML-driven plotting engine
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -0,0 +1,3 @@
1
+ from .flowchart import render_flowchart, render_flowchart_file
2
+
3
+ __all__ = ["render_flowchart", "render_flowchart_file"]
@@ -2,7 +2,12 @@
2
2
  "positionals": [
3
3
  {
4
4
  "name": "file",
5
- "help": "path of the input file, in yaml format"
5
+ "help": "path of the input YAML file, or the command 'flowchart'"
6
+ },
7
+ {
8
+ "name": "flowchart_file",
9
+ "help": "path of the input flowchart JSON file when using: jplot flowchart path-to-flowchart.json",
10
+ "nargs": "?"
6
11
  }
7
12
  ],
8
13
  "options": [
@@ -29,9 +34,9 @@
29
34
  {
30
35
  "long": "--out",
31
36
  "dest": "out",
32
- "help": "Output YAML path (used with --parse-data). If omitted and --inplace not set, prints to stdout",
37
+ "help": "Output YAML path (used with --parse-data), or output image path/dir for 'jplot flowchart'",
33
38
  "action": "store",
34
- "metavar": "YAML_FILE"
39
+ "metavar": "PATH"
35
40
 
36
41
  },
37
42
  {
@@ -0,0 +1,45 @@
1
+ {
2
+ "classic": {
3
+ "min_width": 8.0,
4
+ "min_height": 3.5,
5
+ "max_width": 24.0,
6
+ "max_height": 16.0,
7
+ "units_per_inch": 1.25,
8
+ "layer_gap": 6.0,
9
+ "group_gap": 0.1,
10
+ "variable_gap": 0.22,
11
+ "input_file_dx": 1.1,
12
+ "output_file_dx": 1.1,
13
+ "variable_dx": 2.55,
14
+ "input_variable_dx": 2.55,
15
+ "output_variable_dx": 3.25,
16
+ "bridge_y_offset": 0.45,
17
+ "bridge_output_pad": 0.18,
18
+ "module_icon_size": 0.9,
19
+ "module_label_dy": -0.45,
20
+ "file_label_dy": -0.24,
21
+ "x_margin_left": 1.0,
22
+ "x_margin_right": 1.1,
23
+ "y_margin_top": 0.35,
24
+ "y_margin_bottom": 0.45,
25
+ "logo_size": 0.5,
26
+ "logo_y_offset": 0.45,
27
+ "logo_top_margin": 0.08,
28
+ "logo_text_dy": 0.14
29
+ },
30
+ "icons": {
31
+ "logo": "&JP/jarvisplot/cards/icons/flowchart/JarvisHEP.png",
32
+ "sampler": "&JP/jarvisplot/cards/icons/flowchart/sampler.png",
33
+ "calculator": "&JP/jarvisplot/cards/icons/flowchart/calculator.png",
34
+ "opera": "&JP/jarvisplot/cards/icons/flowchart/opera.png",
35
+ "input_file": "&JP/jarvisplot/cards/icons/flowchart/inputfile.png",
36
+ "output_file": "&JP/jarvisplot/cards/icons/flowchart/outputfile.png"
37
+ },
38
+ "output": {
39
+ "format": "png"
40
+ },
41
+ "savefig": {
42
+ "dpi": 300,
43
+ "facecolor": "white"
44
+ }
45
+ }
@@ -48,6 +48,10 @@ class JarvisPLOT():
48
48
  # Initialize logger early
49
49
  self.init_logger()
50
50
 
51
+ if self._is_flowchart_command():
52
+ self.render_flowchart()
53
+ return
54
+
51
55
  load_cmaps(self.load_path, logger=self.logger)
52
56
 
53
57
  self.load_yaml()
@@ -98,6 +102,31 @@ class JarvisPLOT():
98
102
  self.style = load_styles(self.load_path, logger=self.logger)
99
103
  self.plot()
100
104
 
105
+ def _is_flowchart_command(self) -> bool:
106
+ command = getattr(self.args, "file", None)
107
+ return isinstance(command, str) and command.strip().lower() == "flowchart"
108
+
109
+ def render_flowchart(self) -> None:
110
+ flowchart_file = getattr(self.args, "flowchart_file", None)
111
+ if not flowchart_file:
112
+ self.logger.error("No input flowchart JSON file specified. Usage: jplot flowchart path-to-flowchart.json")
113
+ sys.exit(2)
114
+ from .flowchart import render_flowchart_file
115
+
116
+ try:
117
+ render_flowchart_file(
118
+ flowchart_file,
119
+ output_path=getattr(self.args, "out", None),
120
+ logger=self.logger,
121
+ )
122
+ except Exception as e:
123
+ self.logger.error(f"Flowchart rendering failed: {e}")
124
+ if getattr(self.args, "debug", False):
125
+ import traceback
126
+
127
+ self.logger.debug(traceback.format_exc())
128
+ sys.exit(2)
129
+
101
130
  def prebuild_profile_pipelines(self):
102
131
  """Traverse figures once and prebuild profile pipelines."""
103
132
  if self.preprocessor is None: