HOPS
HOPS class reference
Namespaces
MHO_PythonSubprocessContract.hh File Reference

Versioned JSON contract shared by the C++ subprocess backends and the Python entry points they spawn. This is the stability surface that replaces the compiled-module ABI for the no-embed (subprocess) path: the C++ and Python halves agree on these field names and on a schema_version so they can evolve across the supported CPython minors. More...

#include <string>

Go to the source code of this file.

Namespaces

 hops
 
 hops::python_subprocess
 
 hops::python_subprocess::control
 
 hops::python_subprocess::plot
 

Detailed Description

Versioned JSON contract shared by the C++ subprocess backends and the Python entry points they spawn. This is the stability surface that replaces the compiled-module ABI for the no-embed (subprocess) path: the C++ and Python halves agree on these field names and on a schema_version so they can evolve across the supported CPython minors.

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du

Control evaluation (module: hops_control)

request : { "schema_version": <int>, "pass_info": <dict>, // MHO_ControlEvaluatorSupport::BuildPassInfoDict "config": <dict>, // canonical control-format dict "script_path": <string> } // path to the user's .py control file response : { "schema_version": <int>, "ok": <bool>, "statements": <array>, // raw config.to_json() (pre condition-filter) "error": <string> } // present iff ok == false

Plot rendering (module: hops_visualization.fourfit_plot)

request : { "schema_version": <int>, "plot_dict": <dict>, // MHO_FringeData::GetPlotData() "show_plot": <bool>, // optional (/cmdline/show_plot) "disk_file": <string> } // optional output filename (/cmdline/disk_file) response : { "schema_version": <int>, "ok": <bool>, "output_file": <string>, // path actually written (if any) "error": <string> } // present iff ok == false