Tracking experiments and programs is known problem in scientific community. This project is aimed to create simple general interface to track quantum experiments, store and search them in an easy way.
- Quickstart
- Documentation
- Guides
- How to Give Feedback
- Contribution Guidelines
- References and Acknowledgements
- License
pip install purplecaffeine
from qiskit.circuit.random import random_circuit
from qiskit.quantum_info.random import random_pauli
from qiskit.primitives import Estimator
from purplecaffeine.core import Trial, LocalStorage
from purplecaffeine.widget import Widget
n_qubits = 4
depth = 3
shots = 2000
circuit = random_circuit(n_qubits, depth)
obs = random_pauli(n_qubits)
local_storage = LocalStorage("./trials")
with Trial("Example trial", storage=local_storage) as trial:
# track some parameters
trial.add_parameter("estimator", "qiskit.primitives.Estimator")
trial.add_parameter("depth", depth)
trial.add_parameter("n_qubits", n_qubits)
trial.add_parameter("shots", shots)
# track objects of interest
trial.add_circuit("circuit", circuit)
trial.add_operator("obs", obs)
# run
exp_value = Estimator().run(circuit, obs, shots=shots).result().values.item()
# track results of run
trial.add_metric("exp_value", exp_value)
Widget(local_storage).show()
Documentation for project is hosted at https://icekhan13.github.io/purplecaffeine/
We encourage your feedback! You can share your thoughts with us by:
- Opening an issue in the repository
For information on how to contribute to this project, please take a look at our contribution guidelines.
[1] Qiskit is an open-source SDK for working with quantum computers at the level of circuits, algorithms, and application modules.
https://github.com/Qiskit/qiskit