azure-quantum-python
azure-quantum-python copied to clipboard
Understanding the Python package hierarchy around qdk-python
I'm new to this set of packages, and from looking at the README it wasn't entirely obvious to me how they work together, so I thought it might be useful if I report here what I understood about the package hierarchy (with the goal of then updating the README to make it easier to grok for noobs like me):
azure-quantumprovides functionality for submitting quantum circuits and problem definitions written in Python. It is independent of the other packages mentioned here.qdkcontains (only)qdk.chemistry, which provides tools for converting input formats between quantum chemistry codes and those needed by the simulators. It depends onqsharp.qsharpis a metapackage that installsqsharp-coreandqsharp-chemistryqsharp-coreprovides capability to simulate Q# operations from within Pythonqsharp-chemistryprovidesqsharp.chemistry, which contains convenience classes for interacting with themicrosoft.quantum.chemistryqsharp package
@guenp Does that sound about right?
If yes, I will then create a follow-up PR to update some of the READMEs.
Some things that confused me
- The readme mentions qsharp coming soon but it's already here (+ probably no need to mention it in this repository as it's developed elsewhere?)
- The only use of the
azure.quantumpackage in the example notebook appears to be to get the QDK version. Am I understanding correctly that there are currently two routes to submit simulations - one going throughazure.quantumand one going throughmicrosoft.quantum.chemistry? When should one use which? - The installation instructions for qdk say to simply
pip install qdkand then mention to try the example jupyter notebook but that one requires the additional dependencies from theenvironment.yml(not just for rdkit but also for thejupyter_jsmolwidget etc.)