I am a universe for a WireWorker that sets up its own remote Evaluator and computes the SSE of parameter values.

Once setup is done, the communication over the wire is very efficient, with just a sequence of values going one way and a single float value returning the other.

Method setup After sending an analysis.param.Setups object via pickle chunks, call this once via a WireWorker.update to setup my Evaluator object ev.
Method send_chunk Call this as many times as needed with chunks of a pickled analysis.param.Setups object to build up my pickleString, in preparation for a call to setup.
Method shutdown Call this to shut down my Evaluator and then stop my WireServer.
Method evaluate Call this with a sequence of alterable values, a setup ID, and a target SSE xSSE to obtain the SSE of that setup for those values.
def setup(self, cfg, N_cores=1, skipIDs=[]):

After sending an analysis.param.Setups object via pickle chunks, call this once via a WireWorker.update to setup my Evaluator object ev.

Returns a Deferred that fires when ev has been setup.

See AlsoSolver.setup.
def send_chunk(self, chunk):

Call this as many times as needed with chunks of a pickled analysis.param.Setups object to build up my pickleString, in preparation for a call to setup.

See AlsoSolver.setup.
def shutdown(self):

Call this to shut down my Evaluator and then stop my WireServer.

See AlsoSolver.shutdown.
def evaluate(self, values, ID, xSSE):

Call this with a sequence of alterable values, a setup ID, and a target SSE xSSE to obtain the SSE of that setup for those values.

If xSSE is not None, an SSE greater than xSSE will only be accurate to the extent that it exceeds xSSE and thus a challenge based on the evaluation would fail.

API Documentation for pingspice, generated by pydoctor at 2021-09-18 08:41:11.