rigetti / pyquil

A Python library for quantum programming using Quil.
http://docs.rigetti.com
Apache License 2.0
1.39k stars 341 forks source link

Make `QAMExecutionResult` serializable #1719

Open MarquessV opened 7 months ago

MarquessV commented 7 months ago

Due to using non-picklable members from qcs-sdk-python, QAMExecutionResult is not itself serializable. We should add a way to pickle it, either by supporting pickling upstream or implementing it for QAMExecutionResult specifically.

jselig-rigetti commented 1 day ago

This would also be useful for pyquil.api._qpu.QPUExecuteResponse so that programs can be submitted and retrieved in separate programs.

petergthatsme commented 17 hours ago

Yes this would be great. Also, instead of the program data/results disappearing after it's been retrieved by the user (as happens now, from what i understand), it would be great, if it stays available for some (even short) time after, say a day or two. That would allow users to handle potential intermittent retrieval/network/whatever issues (e.g. users tries to retrieve job data, rigetti server sends it over and marks as retrieved, removing relevant data, then something happens along the way and users does not see it... they then can't try to retrieve again, as server thinks that's been done and potentially got rid of it).