quvis
v0.27.1
Published
Quvis Web Interface - Interactive quantum circuit visualization
Maintainers
Readme
Quvis - Quantum Circuit Visualization Platform
Quvis is a quantum circuit visualization platform that provides interactive 3D visualization of logical and compiled circuits.
🚀 Quick Start
Interactive Playground (Web App)
Run the interactive web playground locally:
git clone https://github.com/alejandrogonzalvo/quvis-web.git
cd quvis-web
pip install poetry
poetry install
npm install
# Option 1: Start both backend and frontend automatically
./scripts/start-dev.sh
# Option 2: Start manually (2 terminals)
# Terminal 1: FastAPI backend
./scripts/start-backend.sh
# Terminal 2: Vite frontend
npm run devOpen http://localhost:5173 in your browser.
Installation
Option 1: Install from PyPI (Recommended)
# Install the latest stable version
pip install quvisOption 2: Install from Source (Development)
# Clone the repository
git clone https://github.com/your-repo/quvis.git
cd quvis
# Install in development mode
pip install -e .
# Or using Poetry
poetry installPrerequisites
- Python 3.12+
- Node.js 16+ (for web interface)
- npm or yarn (for frontend dependencies)
Running Examples
After installation, you can run the examples directly:
# Run the main examples
python examples/library_usage.py
Usage
Basic Usage
from quvis import Visualizer
from qiskit import QuantumCircuit
# Create visualizer
quvis = Visualizer()
# Add any quantum circuit
circuit = QuantumCircuit(4)
circuit.h(0)
circuit.cx(0, 1)
circuit.cx(1, 2)
circuit.cx(2, 3)
# Add and visualize - opens your browser with interactive 3D view!
quvis.add_circuit(circuit, algorithm_name="Bell State Chain")
quvis.visualize()Multi-Circuit Comparison
from quvis import Visualizer
from qiskit.circuit.library import QFT
from qiskit import transpile
quvis = Visualizer()
# Add logical circuit
logical_qft = QFT(4)
quvis.add_circuit(logical_qft, algorithm_name="QFT (Logical)")
# Add compiled circuit with hardware constraints
coupling_map = [[0, 1], [1, 2], [2, 3]]
compiled_qft = transpile(logical_qft, coupling_map=coupling_map, optimization_level=2)
quvis.add_circuit(
compiled_qft,
coupling_map={"coupling_map": coupling_map, "num_qubits": 4, "topology_type": "line"},
algorithm_name="QFT (Compiled)"
)
# Visualize both circuits with tabs - logical (green) vs compiled (orange)
quvis.visualize()🤝 Contributing
See CONTRIBUTING.md for guidelines.
📄 License
This project is licensed under the MIT License.
