prodigy.web.requests

Analysis requests of the web GUI (JSON in, JSON out).

A request looks like:

{
  "source": "nat x; ...",
  "input_distribution": "x^3",          # optional, default: all variables 0
  "engine": "sympy" | "ginac" | "symengine",
  "normalize": true,                     # condition on observations
  "simplification": true,
  "decisions": {"0": {"strategy": "unroll", "params": {"iterations": 50}}, "*": ...},
  "coefficients": 30,                    # coefficients per marginal in the result
  "record_steps": false,
  "synthesis_strategy": "default",       # for EVT invariant synthesis
  "solver": "sympy" | "z3"
}
validate_request(request)[source]

Problems that can be found without running the analysis.

Parameters:

request (Dict[str, Any])

Return type:

List[str]

make_config(request)[source]
Parameters:

request (Dict[str, Any])

run_analysis(request, *, output=None, progress=None)[source]

Runs one analysis request and returns the JSON result (never raises for analysis errors).

Parameters:
Return type:

Dict[str, Any]