jarvisplot 2.0.1__tar.gz → 2.0.2__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 (214) hide show
  1. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/JarvisPLOT.egg-info/PKG-INFO +1 -1
  2. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/PKG-INFO +1 -1
  3. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/figure.py +5 -2
  4. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/layout_runtime.py +15 -0
  5. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/core.py +12 -1
  6. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/pyproject.toml +1 -1
  7. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_agent_digest.py +25 -0
  8. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_figure_contracts.py +33 -0
  9. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/JarvisPLOT.egg-info/SOURCES.txt +0 -0
  10. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/JarvisPLOT.egg-info/dependency_links.txt +0 -0
  11. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/JarvisPLOT.egg-info/entry_points.txt +0 -0
  12. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/JarvisPLOT.egg-info/requires.txt +0 -0
  13. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/JarvisPLOT.egg-info/top_level.txt +0 -0
  14. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/README.md +0 -0
  15. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/__init__.py +0 -0
  16. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/adapters_rect.py +0 -0
  17. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/adapters_ternary.py +0 -0
  18. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/cards/std_axes_adapter_config.json +0 -0
  19. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/colorbar_runtime.py +0 -0
  20. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/config_runtime.py +0 -0
  21. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/data_pipelines.py +0 -0
  22. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/density_cell_runtime.py +0 -0
  23. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/design_runtime.py +0 -0
  24. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/dynesty_runtime.py +0 -0
  25. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/figure_types.py +0 -0
  26. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/helper.py +0 -0
  27. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/interp_2d_runtime.py +0 -0
  28. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/interp_natural_neighbor.py +0 -0
  29. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/interp_natural_neighbor_exact.py +0 -0
  30. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/layer_runtime.py +0 -0
  31. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/method_registry.py +0 -0
  32. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/posterior_density_runtime.py +0 -0
  33. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/posterior_hpd.py +0 -0
  34. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/posterior_mesh.py +0 -0
  35. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/preprocessor.py +0 -0
  36. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/preprocessor_runtime.py +0 -0
  37. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/profile_runtime.py +0 -0
  38. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/Figure/style_runtime.py +0 -0
  39. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/__init__.py +0 -0
  40. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/agent_digest.py +0 -0
  41. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/agent_io.py +0 -0
  42. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cache_store.py +0 -0
  43. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/capabilities.py +0 -0
  44. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/1x1/ternary.json +0 -0
  45. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/2x1/dynesty_runplot.json +0 -0
  46. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/2x1/rect.json +0 -0
  47. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/2x1/rect5x1.json +0 -0
  48. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/2x1/rect_cmap.json +0 -0
  49. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/2x1/ternary.json +0 -0
  50. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/2x1/ternary_cmap.json +0 -0
  51. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/4x1/rect.json +0 -0
  52. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/4x1/rect_cmap.json +0 -0
  53. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/4x1/ternary.json +0 -0
  54. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/a4paper/4x1/ternary_cmap.json +0 -0
  55. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/args.json +0 -0
  56. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/colors/colormaps.json +0 -0
  57. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/default/output.json +0 -0
  58. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/flowchart/default.json +0 -0
  59. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/gambit/1x1/ternary.json +0 -0
  60. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/gambit/2x1/rect_cmap.json +0 -0
  61. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/gambit/2x1/ternary.json +0 -0
  62. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/gambit/2x1/ternary_cmap.json +0 -0
  63. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/JarvisHEP.png +0 -0
  64. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/flowchart/JarvisHEP.png +0 -0
  65. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/flowchart/calculator.png +0 -0
  66. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/flowchart/inputfile.png +0 -0
  67. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/flowchart/opera.png +0 -0
  68. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/flowchart/outputfile.png +0 -0
  69. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/flowchart/sampler.png +0 -0
  70. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/gambit.png +0 -0
  71. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/icons/gambit_small.png +0 -0
  72. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cards/style_preference.json +0 -0
  73. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cli.py +0 -0
  74. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/cli_help.py +0 -0
  75. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/client.py +0 -0
  76. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/column_demand.py +0 -0
  77. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/column_probe.py +0 -0
  78. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/config.py +0 -0
  79. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/config_address.py +0 -0
  80. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/core_assets.py +0 -0
  81. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/core_runtime.py +0 -0
  82. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/data_access.py +0 -0
  83. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/data_loader.py +0 -0
  84. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/data_loader_hdf5.py +0 -0
  85. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/data_loader_runtime.py +0 -0
  86. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/data_loader_summary.py +0 -0
  87. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/diagnostic_guidance.py +0 -0
  88. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/diagnostics.py +0 -0
  89. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/dryrun_runtime.py +0 -0
  90. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/expr_names.py +0 -0
  91. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/fix_apply.py +0 -0
  92. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/flowchart.py +0 -0
  93. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/inner_func.py +0 -0
  94. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/man_catalog.py +0 -0
  95. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/man_methods.py +0 -0
  96. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/man_render_agent.py +0 -0
  97. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/man_render_human.py +0 -0
  98. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/man_transforms.py +0 -0
  99. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/agent-output.yaml +0 -0
  100. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/cli-map.yaml +0 -0
  101. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/data-columns.yaml +0 -0
  102. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/diagnostics.yaml +0 -0
  103. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/dryrun-viz.yaml +0 -0
  104. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/layer-method.yaml +0 -0
  105. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/manifest.yaml +0 -0
  106. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/method_notes.yaml +0 -0
  107. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/style-axes.yaml +0 -0
  108. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/type-posterior-2d.yaml +0 -0
  109. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/type-profile-2d.yaml +0 -0
  110. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/validate.yaml +0 -0
  111. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/workflow.yaml +0 -0
  112. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/manual_cards/yaml-root.yaml +0 -0
  113. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/memtrace.py +0 -0
  114. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/method_contracts.py +0 -0
  115. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/render_health.py +0 -0
  116. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/core/common.json +0 -0
  117. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/core/dataset.json +0 -0
  118. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/core/figure.json +0 -0
  119. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/core/layer.json +0 -0
  120. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/core/transform.json +0 -0
  121. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/manifest.json +0 -0
  122. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/bar.json +0 -0
  123. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/barh.json +0 -0
  124. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/contour.json +0 -0
  125. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/contourf.json +0 -0
  126. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/dynesty_runplot.json +0 -0
  127. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/errorbar.json +0 -0
  128. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/fill.json +0 -0
  129. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/fill_between.json +0 -0
  130. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/fill_betweenx.json +0 -0
  131. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/hist.json +0 -0
  132. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/imshow.json +0 -0
  133. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/jpcontour.json +0 -0
  134. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/jpcontourf.json +0 -0
  135. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/jpfield.json +0 -0
  136. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/pcolor.json +0 -0
  137. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/pcolormesh.json +0 -0
  138. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/plot.json +0 -0
  139. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/quiver.json +0 -0
  140. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/scatter.json +0 -0
  141. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/step.json +0 -0
  142. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/tricontour.json +0 -0
  143. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/tricontourf.json +0 -0
  144. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/tripcolor.json +0 -0
  145. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/tripcolor_axes.json +0 -0
  146. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/triplot.json +0 -0
  147. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/voronoi.json +0 -0
  148. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/methods/voronoif.json +0 -0
  149. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema/plot-config.json +0 -0
  150. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema_catalog.py +0 -0
  151. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/schema_diagnostics.py +0 -0
  152. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/templates_catalog.py +0 -0
  153. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/transform_contracts.py +0 -0
  154. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/utils/__init__.py +0 -0
  155. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/utils/cmaps.py +0 -0
  156. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/utils/dataframes.py +0 -0
  157. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/utils/expression.py +0 -0
  158. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/utils/interpolator.py +0 -0
  159. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/utils/pathing.py +0 -0
  160. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/validation.py +0 -0
  161. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/__init__.py +0 -0
  162. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/cap.py +0 -0
  163. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/config_cmd.py +0 -0
  164. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/data.py +0 -0
  165. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/doctor.py +0 -0
  166. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/dryrun.py +0 -0
  167. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/explain.py +0 -0
  168. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/man.py +0 -0
  169. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/suggest.py +0 -0
  170. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/template.py +0 -0
  171. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/verbs/validate.py +0 -0
  172. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/jarvisplot/yaml_io.py +0 -0
  173. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/setup.cfg +0 -0
  174. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_agent_envelope.py +0 -0
  175. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_axis_title.py +0 -0
  176. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_capabilities.py +0 -0
  177. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_cli_help.py +0 -0
  178. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_cli_verbs.py +0 -0
  179. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_cmaps.py +0 -0
  180. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_column_existence.py +0 -0
  181. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_config_addressing.py +0 -0
  182. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_config_edit.py +0 -0
  183. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_config_expand.py +0 -0
  184. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_data_access.py +0 -0
  185. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_data_describe.py +0 -0
  186. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_data_head_eval.py +0 -0
  187. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_data_loader_contracts.py +0 -0
  188. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_data_pipelines.py +0 -0
  189. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_density_cell_transform.py +0 -0
  190. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_diagnostic_guidance.py +0 -0
  191. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_docs_status_labels.py +0 -0
  192. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_doctor_partial.py +0 -0
  193. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_explain.py +0 -0
  194. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_figure_type_expander.py +0 -0
  195. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_fix_application.py +0 -0
  196. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_flowchart_renderer.py +0 -0
  197. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_interp_2d_transform.py +0 -0
  198. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_interp_natural_neighbor.py +0 -0
  199. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_interpolator_contracts.py +0 -0
  200. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_jpcontour_methods.py +0 -0
  201. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_man_cli.py +0 -0
  202. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_method_contracts.py +0 -0
  203. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_parse_data_metadata.py +0 -0
  204. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_pathing_contracts.py +0 -0
  205. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_posterior_hpd.py +0 -0
  206. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_render_health.py +0 -0
  207. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_row_ledger.py +0 -0
  208. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_schema_catalog.py +0 -0
  209. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_suggest.py +0 -0
  210. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_suggest_axes.py +0 -0
  211. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_template_catalog.py +0 -0
  212. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_template_json.py +0 -0
  213. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_transform_contracts.py +0 -0
  214. {jarvisplot-2.0.1 → jarvisplot-2.0.2}/tests/test_validate_no_matplotlib.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: JarvisPLOT
3
- Version: 2.0.1
3
+ Version: 2.0.2
4
4
  Summary: Jarvis-PLOT: YAML-driven plotting engine
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: JarvisPLOT
3
- Version: 2.0.1
3
+ Version: 2.0.2
4
4
  Summary: Jarvis-PLOT: YAML-driven plotting engine
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -26,6 +26,7 @@ from .layout_runtime import (
26
26
  apply_manual_ticks,
27
27
  ensure_numbered_rect_axes,
28
28
  has_manual_ticks,
29
+ hide_log_minor_tick_labels,
29
30
  is_numbered_ax,
30
31
  )
31
32
  from .colorbar_runtime import (
@@ -802,6 +803,7 @@ class Figure:
802
803
  self.ax.set_yscale("log")
803
804
  from matplotlib.ticker import LogLocator
804
805
  self.ax.yaxis.set_minor_locator(LogLocator(subs='auto'))
806
+ hide_log_minor_tick_labels(self.ax, "y")
805
807
  else:
806
808
  self.ax.yaxis.set_minor_locator(AutoMinorLocator())
807
809
 
@@ -809,6 +811,7 @@ class Figure:
809
811
  self.ax.set_xscale("log")
810
812
  from matplotlib.ticker import LogLocator
811
813
  self.ax.xaxis.set_minor_locator(LogLocator(subs='auto'))
814
+ hide_log_minor_tick_labels(self.ax, "x")
812
815
  else:
813
816
  self.ax.xaxis.set_minor_locator(AutoMinorLocator())
814
817
 
@@ -838,8 +841,8 @@ class Figure:
838
841
 
839
842
  # Apply manual ticks here at initialization if provided in YAML
840
843
  ax_ticks_cfg = self.frame.get('ax', {}).get('ticks', {})
841
- # self._apply_manual_ticks(self.ax, "x", ax_ticks_cfg.get('x', {}))
842
- # self._apply_manual_ticks(self.ax, "y", ax_ticks_cfg.get('y', {}))
844
+ self._apply_manual_ticks(self.ax, "x", ax_ticks_cfg.get('x', {}))
845
+ self._apply_manual_ticks(self.ax, "y", ax_ticks_cfg.get('y', {}))
843
846
 
844
847
 
845
848
  self.ax.tick_params(**self.frame['ax']['ticks'].get("both", {}))
@@ -61,6 +61,19 @@ def apply_axis_title(fig, ax_obj, ax_name: str) -> None:
61
61
  ax_obj.text(s=str(title), **text_params)
62
62
 
63
63
 
64
+ def hide_log_minor_tick_labels(ax_obj, which: str) -> None:
65
+ """Keep log minor tick marks, but hide their labels by default."""
66
+ target = ax_obj.ax if hasattr(ax_obj, "ax") else ax_obj
67
+ if which == "x":
68
+ target.tick_params(
69
+ axis="x", which="minor", labelbottom=False, labeltop=False
70
+ )
71
+ elif which == "y":
72
+ target.tick_params(
73
+ axis="y", which="minor", labelleft=False, labelright=False
74
+ )
75
+
76
+
64
77
  def ensure_numbered_rect_axes(fig, ax_name: str, kwgs: dict):
65
78
  if not is_numbered_ax(ax_name):
66
79
  raise ValueError(f"Illegal dynamic axes name '{ax_name}'. Only ax<NUMBER> is allowed.")
@@ -88,12 +101,14 @@ def ensure_numbered_rect_axes(fig, ax_name: str, kwgs: dict):
88
101
  if fig.frame.get(ax_name, {}).get("yscale", "").lower() == "log":
89
102
  ax_obj.set_yscale("log")
90
103
  ax_obj.yaxis.set_minor_locator(LogLocator(subs="auto"))
104
+ hide_log_minor_tick_labels(ax_obj, "y")
91
105
  else:
92
106
  ax_obj.yaxis.set_minor_locator(AutoMinorLocator())
93
107
 
94
108
  if fig.frame.get(ax_name, {}).get("xscale", "").lower() == "log":
95
109
  ax_obj.set_xscale("log")
96
110
  ax_obj.xaxis.set_minor_locator(LogLocator(subs="auto"))
111
+ hide_log_minor_tick_labels(ax_obj, "x")
97
112
  else:
98
113
  ax_obj.xaxis.set_minor_locator(AutoMinorLocator())
99
114
 
@@ -285,11 +285,22 @@ class JarvisPLOT():
285
285
  def _maybe_write_agent_digest(self, figure_cfg, figobj) -> None:
286
286
  """Write figure-level agent_output digest after a successful plot."""
287
287
  try:
288
- from .agent_digest import load_figure_source_dataframe, maybe_write_figure_digest
288
+ from .agent_digest import (
289
+ load_figure_source_dataframe,
290
+ maybe_write_figure_digest,
291
+ parse_agent_output,
292
+ )
289
293
  from .cli import JPLOT_VERSION
290
294
 
291
295
  if not isinstance(figure_cfg, dict):
292
296
  return
297
+ # Do not load the source dataframe just to discover that no agent
298
+ # digest was requested. This matters after rendering releases the
299
+ # last layer's source data.
300
+ root_config = getattr(self.yaml, "config", {}) or {}
301
+ root_output = root_config.get("output", {}) if isinstance(root_config, dict) else {}
302
+ if parse_agent_output(figure_cfg, root_output=root_output) is None:
303
+ return
293
304
  # Prefer raw YAML figure block (pre type-expand may have type: fields).
294
305
  # After expand_figure_types, config figures are already expanded; still OK.
295
306
  df = load_figure_source_dataframe(self, figure_cfg)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "JarvisPLOT"
7
- version = "2.0.1"
7
+ version = "2.0.2"
8
8
  description = "Jarvis-PLOT: YAML-driven plotting engine"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import json
6
6
  import textwrap
7
7
  from pathlib import Path
8
+ from types import SimpleNamespace
8
9
 
9
10
  import numpy as np
10
11
 
@@ -18,6 +19,30 @@ from jarvisplot.client import main
18
19
  from jarvisplot.diagnostics import DiagnosticBag
19
20
 
20
21
 
22
+ def test_render_skips_agent_digest_source_load_when_not_requested(monkeypatch):
23
+ from jarvisplot.core import JarvisPLOT
24
+
25
+ core = JarvisPLOT()
26
+ core.yaml = SimpleNamespace(config={"output": {}})
27
+ core.logger = SimpleNamespace(warning=lambda *args, **kwargs: None)
28
+
29
+ def fail_if_source_is_loaded(*args, **kwargs):
30
+ raise AssertionError("agent digest source should not load when disabled")
31
+
32
+ monkeypatch.setattr(
33
+ "jarvisplot.agent_digest.load_figure_source_dataframe",
34
+ fail_if_source_is_loaded,
35
+ )
36
+
37
+ core._maybe_write_agent_digest(
38
+ {
39
+ "name": "plain_plot",
40
+ "layers": [{"data": [{"source": "samples"}]}],
41
+ },
42
+ SimpleNamespace(),
43
+ )
44
+
45
+
21
46
  def test_strip_digest_axes_stash_removes_key(tmp_path):
22
47
  from jarvisplot.agent_digest import strip_digest_axes_stash
23
48
 
@@ -716,6 +716,39 @@ def test_colorbar_manual_y_ticks_override_auto_ticks(axc_name):
716
716
  plt.close(fig.fig)
717
717
 
718
718
 
719
+ def test_main_axis_manual_log_x_ticks_are_applied_and_preserved():
720
+ positions = [0.1, 1.0, 5.0]
721
+ labels = ["0.1", "1", "5"]
722
+
723
+ fig = Figure()
724
+ fig.logger = _logger()
725
+ fig.frame = {
726
+ "figure": {"figsize": (2, 2)},
727
+ "ax": {
728
+ "labels": {"x": "", "y": ""},
729
+ "xlim": [0.1, 5.0],
730
+ "ylim": [0.1, 5.0],
731
+ "xscale": "log",
732
+ "yscale": "linear",
733
+ "ticks": {"x": {"positions": positions, "labels": labels}},
734
+ },
735
+ }
736
+ fig.fig = plt.figure(figsize=(2, 2))
737
+ fig.axes = {}
738
+ fig.ax = {"rect": [0.1, 0.1, 0.8, 0.8]}
739
+
740
+ fig.render()
741
+ fig.fig.canvas.draw()
742
+
743
+ np.testing.assert_allclose(fig.ax.xaxis.get_majorticklocs(), positions)
744
+ assert [label.get_text() for label in fig.ax.get_xticklabels()] == labels
745
+ assert all(
746
+ not tick.label1.get_visible() and not tick.label2.get_visible()
747
+ for tick in fig.ax.xaxis.get_minor_ticks()
748
+ )
749
+ plt.close(fig.fig)
750
+
751
+
719
752
  @pytest.mark.parametrize("ax_type", ["rect", "tri"])
720
753
  def test_render_layer_does_not_mutate_layer_data(monkeypatch, ax_type):
721
754
  original_data = object()
File without changes
File without changes
File without changes