Skip to main content

quantum-viz.js Python tools

Project description

quantum-viz

quantum-viz is the Python package companion of quantum-viz.js, a JavaScript package that supports visualizing any arbitrary quantum gate, classical control logic and collapsed grouped blocks of gates using JSON-formatted input data. quantum-viz contains a Jupyter widget and will also include support for translating quantum circuits written in common quantum programming libraries to JSON using the quantum-viz.js JSON schema.

quantum-viz screenshot

Installation

You can install the quantum-viz.js widget via pip from PyPI:

pip install quantum-viz

Example

To use the quantum-viz widget, run the below example code in a Jupyter notebook cell:

from quantum_viz import Viewer

# Create a quantum circuit that prepares a Bell state
circuit = {
    "qubits": [{ "id": 0 }, { "id": 1, "numChildren": 1 }],
    "operations": [
        {
            "gate": 'H',
            "targets": [{ "qId": 0 }],
        },
        {
            "gate": 'X',
            "isControlled": "True",
            "controls": [{ "qId": 0 }],
            "targets": [{ "qId": 1 }],
        },
        {
            "gate": 'Measure',
            "isMeasurement": "True",
            "controls": [{ "qId": 1 }],
            "targets": [{ "type": 1, "qId": 1, "cId": 0 }],
        },
    ],
}

widget = Viewer(circuit)
widget # Display the widget

quantum-viz example

Qiskit Integration

By installing the optional [qiskit] dependency, you can leverage Qiskit's QuantumCircuit APIs to define the circuit and render it using the Viewer widget on Jupyter, for example:

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from quantum_viz import Viewer

qr = QuantumRegister(3, 'q')
anc = QuantumRegister(1, 'ancilla')
cr = ClassicalRegister(3, 'c')
qc = QuantumCircuit(qr, anc, cr)


qc.h(qr[0:3])
qc.x(anc[0])
qc.h(anc[0])
qc.cx(qr[0:3], anc[0])
qc.h(qr[0:3])
qc.barrier(qr)
qc.measure(qr, cr)

Viewer(qc)

Optionally, you can also import the display method from quantum_viz.utils to render the circuit on a new browser window:

from quantum_viz.utils import display
display(qc)

Contributing

Check out our contributing guidelines to find out how you can contribute to quantum-viz.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantum-viz-1.0.4.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

quantum_viz-1.0.4-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file quantum-viz-1.0.4.tar.gz.

File metadata

  • Download URL: quantum-viz-1.0.4.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.8

File hashes

Hashes for quantum-viz-1.0.4.tar.gz
Algorithm Hash digest
SHA256 7577acfbca0a10ad247ecebba1f3fc91f22bb868528dc461b9982c2ba150e44b
MD5 967bbb5e2011ad9a522fe2a7d0880afb
BLAKE2b-256 c0e5c218b23d605bf8a6cc99c840e8bce406124c17639888808b9ed0c3413cbf

See more details on using hashes here.

File details

Details for the file quantum_viz-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: quantum_viz-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.8

File hashes

Hashes for quantum_viz-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 88301f523167f0ba622a03524885741c729313357556881ef61cca07b631d993
MD5 101b70f4b81007b3816c8e828294bea7
BLAKE2b-256 f7c916e01a710fba2cccff51a650d49ec34d3bc20b8dc85a1e012adcaedf859b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page