jarvisplot 2.0.2__tar.gz → 2.0.3__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.
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/JarvisPLOT.egg-info/PKG-INFO +1 -1
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/PKG-INFO +1 -1
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/capabilities.py +35 -1
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/workflow.yaml +2 -1
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/templates_catalog.py +3 -8
- jarvisplot-2.0.3/jarvisplot/verbs/cap.py +629 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/config_cmd.py +1 -1
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/explain.py +2 -3
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/suggest.py +2 -3
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/validate.py +2 -8
- jarvisplot-2.0.3/jarvisplot/yaml_io.py +154 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/pyproject.toml +1 -1
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_capabilities.py +85 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_config_edit.py +45 -0
- jarvisplot-2.0.2/jarvisplot/verbs/cap.py +0 -189
- jarvisplot-2.0.2/jarvisplot/yaml_io.py +0 -64
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/JarvisPLOT.egg-info/SOURCES.txt +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/JarvisPLOT.egg-info/dependency_links.txt +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/JarvisPLOT.egg-info/entry_points.txt +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/JarvisPLOT.egg-info/requires.txt +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/JarvisPLOT.egg-info/top_level.txt +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/README.md +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/__init__.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/adapters_rect.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/adapters_ternary.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/cards/std_axes_adapter_config.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/colorbar_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/config_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/data_pipelines.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/density_cell_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/design_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/dynesty_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/figure.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/figure_types.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/helper.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/interp_2d_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/interp_natural_neighbor.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/interp_natural_neighbor_exact.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/layer_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/layout_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/method_registry.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/posterior_density_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/posterior_hpd.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/posterior_mesh.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/preprocessor.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/preprocessor_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/profile_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/Figure/style_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/__init__.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/agent_digest.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/agent_io.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cache_store.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/1x1/ternary.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/2x1/dynesty_runplot.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/2x1/rect.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/2x1/rect5x1.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/2x1/rect_cmap.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/2x1/ternary.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/2x1/ternary_cmap.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/4x1/rect.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/4x1/rect_cmap.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/4x1/ternary.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/a4paper/4x1/ternary_cmap.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/args.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/colors/colormaps.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/default/output.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/flowchart/default.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/gambit/1x1/ternary.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/gambit/2x1/rect_cmap.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/gambit/2x1/ternary.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/gambit/2x1/ternary_cmap.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/JarvisHEP.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/flowchart/JarvisHEP.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/flowchart/calculator.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/flowchart/inputfile.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/flowchart/opera.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/flowchart/outputfile.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/flowchart/sampler.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/gambit.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/icons/gambit_small.png +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cards/style_preference.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cli.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/cli_help.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/client.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/column_demand.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/column_probe.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/config.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/config_address.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/core.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/core_assets.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/core_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/data_access.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/data_loader.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/data_loader_hdf5.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/data_loader_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/data_loader_summary.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/diagnostic_guidance.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/diagnostics.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/dryrun_runtime.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/expr_names.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/fix_apply.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/flowchart.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/inner_func.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/man_catalog.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/man_methods.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/man_render_agent.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/man_render_human.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/man_transforms.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/agent-output.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/cli-map.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/data-columns.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/diagnostics.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/dryrun-viz.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/layer-method.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/manifest.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/method_notes.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/style-axes.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/type-posterior-2d.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/type-profile-2d.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/validate.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/manual_cards/yaml-root.yaml +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/memtrace.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/method_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/render_health.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/core/common.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/core/dataset.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/core/figure.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/core/layer.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/core/transform.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/manifest.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/bar.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/barh.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/contour.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/contourf.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/dynesty_runplot.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/errorbar.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/fill.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/fill_between.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/fill_betweenx.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/hist.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/imshow.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/jpcontour.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/jpcontourf.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/jpfield.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/pcolor.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/pcolormesh.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/plot.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/quiver.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/scatter.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/step.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/tricontour.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/tricontourf.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/tripcolor.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/tripcolor_axes.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/triplot.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/voronoi.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/methods/voronoif.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema/plot-config.json +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema_catalog.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/schema_diagnostics.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/transform_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/utils/__init__.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/utils/cmaps.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/utils/dataframes.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/utils/expression.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/utils/interpolator.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/utils/pathing.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/validation.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/__init__.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/data.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/doctor.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/dryrun.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/man.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/jarvisplot/verbs/template.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/setup.cfg +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_agent_digest.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_agent_envelope.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_axis_title.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_cli_help.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_cli_verbs.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_cmaps.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_column_existence.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_config_addressing.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_config_expand.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_data_access.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_data_describe.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_data_head_eval.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_data_loader_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_data_pipelines.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_density_cell_transform.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_diagnostic_guidance.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_docs_status_labels.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_doctor_partial.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_explain.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_figure_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_figure_type_expander.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_fix_application.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_flowchart_renderer.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_interp_2d_transform.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_interp_natural_neighbor.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_interpolator_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_jpcontour_methods.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_man_cli.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_method_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_parse_data_metadata.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_pathing_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_posterior_hpd.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_render_health.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_row_ledger.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_schema_catalog.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_suggest.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_suggest_axes.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_template_catalog.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_template_json.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_transform_contracts.py +0 -0
- {jarvisplot-2.0.2 → jarvisplot-2.0.3}/tests/test_validate_no_matplotlib.py +0 -0
|
@@ -15,7 +15,8 @@ Two rules keep this honest:
|
|
|
15
15
|
derived from the registry, card directory or schema that the runtime actually
|
|
16
16
|
consults, and ``tests/test_capabilities.py`` fails if the two drift apart.
|
|
17
17
|
- **Stay cheap.** Agents call this constantly, so the collectors read JSON and
|
|
18
|
-
module-level dicts
|
|
18
|
+
module-level dicts. The cmap collector also inspects Matplotlib's live
|
|
19
|
+
registry because agents may need the complete built-in cmap vocabulary.
|
|
19
20
|
"""
|
|
20
21
|
|
|
21
22
|
from __future__ import annotations
|
|
@@ -226,9 +227,42 @@ def _cmaps() -> dict[str, Any]:
|
|
|
226
227
|
for entry in entries
|
|
227
228
|
if isinstance(entry, dict) and entry.get("name")
|
|
228
229
|
)
|
|
230
|
+
jarvis_and_reversed = set(names) | {f"{name}_r" for name in names}
|
|
231
|
+
matplotlib_entries: list[dict[str, Any]] = []
|
|
232
|
+
try:
|
|
233
|
+
from matplotlib import colormaps
|
|
234
|
+
|
|
235
|
+
matplotlib_names = sorted(
|
|
236
|
+
str(name) for name in colormaps if str(name) not in jarvis_and_reversed
|
|
237
|
+
)
|
|
238
|
+
matplotlib_registry = set(str(name) for name in colormaps)
|
|
239
|
+
for name in matplotlib_names:
|
|
240
|
+
cmap = colormaps[name]
|
|
241
|
+
if name.endswith("_r") and name[:-2] in matplotlib_registry:
|
|
242
|
+
reverse = name[:-2]
|
|
243
|
+
elif f"{name}_r" in matplotlib_registry:
|
|
244
|
+
reverse = f"{name}_r"
|
|
245
|
+
else:
|
|
246
|
+
reverse = None
|
|
247
|
+
samples = getattr(cmap, "N", None)
|
|
248
|
+
matplotlib_entries.append(
|
|
249
|
+
{
|
|
250
|
+
"name": name,
|
|
251
|
+
"type": type(cmap).__name__,
|
|
252
|
+
"N": int(samples) if isinstance(samples, int) else samples,
|
|
253
|
+
"reverse": reverse,
|
|
254
|
+
}
|
|
255
|
+
)
|
|
256
|
+
matplotlib_note = (
|
|
257
|
+
"Matplotlib registry entries include the normal and _r reverse names."
|
|
258
|
+
)
|
|
259
|
+
except Exception as exc:
|
|
260
|
+
matplotlib_note = f"Matplotlib registry unavailable: {exc}"
|
|
229
261
|
return {
|
|
230
262
|
"jarvis": names,
|
|
231
263
|
"jarvis_reversed": [f"{name}_r" for name in names],
|
|
264
|
+
"matplotlib": matplotlib_entries,
|
|
265
|
+
"matplotlib_note": matplotlib_note,
|
|
232
266
|
"note": (
|
|
233
267
|
"Every matplotlib colormap is also available. Jarvis colormaps are "
|
|
234
268
|
"registered from cards/colors/colormaps.json; each has an _r reverse."
|
|
@@ -65,6 +65,7 @@ human:
|
|
|
65
65
|
title: Rules
|
|
66
66
|
items:
|
|
67
67
|
- Never invent method, style, or cmap strings — use jplot cap.
|
|
68
|
+
- 'Write scalar-only leaf lists/maps in compact flow style: xlim: [0.1, 5.0] and labels: {x: $x$, y: $y$}; keep complex parent structures expanded.'
|
|
68
69
|
- Bare path renders: jplot plot.yaml (there is no jplot run).
|
|
69
70
|
- Optional tools: suggest, config set/expand — not the main author path.
|
|
70
71
|
- Need layers control: jplot config expand plot.yaml --figure NAME --write
|
|
@@ -72,7 +73,7 @@ agent:
|
|
|
72
73
|
body_markdown: |
|
|
73
74
|
## Full agent playbook
|
|
74
75
|
1. **Discover** — `data describe` + `cap` subsets.
|
|
75
|
-
2. **Author** — edit `*.yaml` in the workspace (type macros preferred).
|
|
76
|
+
2. **Author** — edit `*.yaml` in the workspace (type macros preferred); write scalar-only leaf lists/maps in compact flow style, e.g. `xlim: [0.1, 5.0]` and `labels: {x: $x$, y: $y$}`.
|
|
76
77
|
3. **Judge (light only)** — `validate` / `doctor --json`. No heavy re-run; partial on type: is OK.
|
|
77
78
|
4. **Execute once** — `jplot <file>` for PNG/PDF + agent_output digest.
|
|
78
79
|
5. **Learn** — `explain JP-*` or `man diagnostics`; figure content from digest, not doctor mesh.
|
|
@@ -7,6 +7,8 @@ from __future__ import annotations
|
|
|
7
7
|
from copy import deepcopy
|
|
8
8
|
from typing import Any
|
|
9
9
|
|
|
10
|
+
from .yaml_io import dump_yaml_doc
|
|
11
|
+
|
|
10
12
|
__all__ = [
|
|
11
13
|
"TEMPLATE_KINDS",
|
|
12
14
|
"get_template",
|
|
@@ -42,20 +44,13 @@ def get_template(kind: str) -> dict[str, Any]:
|
|
|
42
44
|
|
|
43
45
|
def render_template_yaml(kind: str, *, values: dict[str, Any] | None = None) -> str:
|
|
44
46
|
"""Fill slot defaults with ``values`` and return YAML text."""
|
|
45
|
-
import yaml
|
|
46
|
-
|
|
47
47
|
spec = get_template(kind)
|
|
48
48
|
slots = {s["name"]: s.get("default") for s in spec.get("slots") or []}
|
|
49
49
|
if values:
|
|
50
50
|
slots.update({k: v for k, v in values.items() if v is not None})
|
|
51
51
|
body = deepcopy(spec["skeleton"])
|
|
52
52
|
_apply_slots(body, slots)
|
|
53
|
-
return
|
|
54
|
-
body,
|
|
55
|
-
sort_keys=False,
|
|
56
|
-
allow_unicode=True,
|
|
57
|
-
default_flow_style=False,
|
|
58
|
-
)
|
|
53
|
+
return dump_yaml_doc(body, meta={"engine": "pyyaml"})
|
|
59
54
|
|
|
60
55
|
|
|
61
56
|
def _apply_slots(node: Any, slots: dict[str, Any]) -> None:
|