Spaces:
Sleeping
Sleeping
Deminiko commited on
Commit ·
d5dcd16
1
Parent(s): 572c89a
refactor: Reorganize simulation results layout - Gates JSON open in col 1, Probabilities closed below, Q-Sphere open in col 2, Bloch closed, Statevector open in col 3, Raw Data closed
Browse files- README.md +5 -1
- frontend/tabs/tab_circuit_builder.py +17 -16
- requirements.txt +3 -3
README.md
CHANGED
|
@@ -4,11 +4,15 @@ emoji: ⚛️
|
|
| 4 |
colorFrom: indigo
|
| 5 |
colorTo: purple
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version: 6.0.
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mit
|
| 11 |
short_description: Quantum Circuit Architect & MCP Server for AI Agents
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
---
|
| 13 |
|
| 14 |
# QuantumArchitect-MCP 🔬⚛️
|
|
|
|
| 4 |
colorFrom: indigo
|
| 5 |
colorTo: purple
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: 6.0.1
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mit
|
| 11 |
short_description: Quantum Circuit Architect & MCP Server for AI Agents
|
| 12 |
+
tags:
|
| 13 |
+
- building-mcp-track-enterprise
|
| 14 |
+
- building-mcp-track-consumer
|
| 15 |
+
- building-mcp-track-creative
|
| 16 |
---
|
| 17 |
|
| 18 |
# QuantumArchitect-MCP 🔬⚛️
|
frontend/tabs/tab_circuit_builder.py
CHANGED
|
@@ -121,44 +121,45 @@ def add_circuit_builder_tab():
|
|
| 121 |
clear_circuit_btn = gr.Button("🗑️ Clear", variant="secondary")
|
| 122 |
undo_btn = gr.Button("↩️ Undo", variant="secondary")
|
| 123 |
|
| 124 |
-
builder_gates_json = gr.Code(
|
| 125 |
-
value="[]",
|
| 126 |
-
language="json",
|
| 127 |
-
label="Gates JSON",
|
| 128 |
-
lines=1,
|
| 129 |
-
visible=True,
|
| 130 |
-
elem_classes=["compact-code"]
|
| 131 |
-
)
|
| 132 |
-
|
| 133 |
# Results section - compact 3-column grid layout
|
| 134 |
gr.Markdown("### 📊 Simulation Results")
|
| 135 |
|
| 136 |
with gr.Row(equal_height=True):
|
| 137 |
-
# Column 1:
|
| 138 |
with gr.Column(scale=1, min_width=300):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 139 |
with gr.Accordion("📊 Probabilities", open=True):
|
| 140 |
simulation_results = gr.HTML(
|
| 141 |
value="<div class='results-placeholder'>Run simulation to see probability distribution</div>",
|
| 142 |
elem_id="simulation-results",
|
| 143 |
elem_classes=["result-compact"]
|
| 144 |
)
|
| 145 |
-
|
|
|
|
|
|
|
| 146 |
with gr.Accordion("🌐 Q-Sphere", open=True):
|
| 147 |
qsphere_display = gr.HTML(
|
| 148 |
value="<div class='results-placeholder'>Q-Sphere visualization</div>",
|
| 149 |
elem_id="qsphere-display",
|
| 150 |
elem_classes=["result-compact"]
|
| 151 |
)
|
| 152 |
-
|
| 153 |
-
# Column 2: Bloch Sphere (single qubit)
|
| 154 |
-
with gr.Column(scale=1, min_width=300):
|
| 155 |
with gr.Accordion("🔮 Bloch Sphere (1q)", open=True):
|
| 156 |
bloch_display = gr.Plot(
|
| 157 |
elem_id="bloch-display",
|
| 158 |
elem_classes=["result-compact"]
|
| 159 |
)
|
| 160 |
|
| 161 |
-
# Column 3: Statevector + Raw
|
| 162 |
with gr.Column(scale=1, min_width=300):
|
| 163 |
with gr.Accordion("📐 Statevector", open=True):
|
| 164 |
statevector_display = gr.HTML(
|
|
@@ -167,7 +168,7 @@ def add_circuit_builder_tab():
|
|
| 167 |
elem_classes=["result-compact"]
|
| 168 |
)
|
| 169 |
|
| 170 |
-
with gr.Accordion("📈 Raw Data", open=
|
| 171 |
raw_results = gr.JSON(
|
| 172 |
elem_id="raw-results",
|
| 173 |
elem_classes=["result-compact"]
|
|
|
|
| 121 |
clear_circuit_btn = gr.Button("🗑️ Clear", variant="secondary")
|
| 122 |
undo_btn = gr.Button("↩️ Undo", variant="secondary")
|
| 123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
# Results section - compact 3-column grid layout
|
| 125 |
gr.Markdown("### 📊 Simulation Results")
|
| 126 |
|
| 127 |
with gr.Row(equal_height=True):
|
| 128 |
+
# Column 1: Gates JSON (open) + Probabilities (closed)
|
| 129 |
with gr.Column(scale=1, min_width=300):
|
| 130 |
+
with gr.Accordion("📋 Gates JSON", open=True):
|
| 131 |
+
builder_gates_json = gr.Code(
|
| 132 |
+
value="[]",
|
| 133 |
+
language="json",
|
| 134 |
+
label="Gates JSON",
|
| 135 |
+
lines=1,
|
| 136 |
+
visible=True,
|
| 137 |
+
elem_classes=["compact-code"]
|
| 138 |
+
)
|
| 139 |
+
|
| 140 |
with gr.Accordion("📊 Probabilities", open=True):
|
| 141 |
simulation_results = gr.HTML(
|
| 142 |
value="<div class='results-placeholder'>Run simulation to see probability distribution</div>",
|
| 143 |
elem_id="simulation-results",
|
| 144 |
elem_classes=["result-compact"]
|
| 145 |
)
|
| 146 |
+
|
| 147 |
+
# Column 2: Q-Sphere (open) + Bloch Sphere (opens on data)
|
| 148 |
+
with gr.Column(scale=1, min_width=300):
|
| 149 |
with gr.Accordion("🌐 Q-Sphere", open=True):
|
| 150 |
qsphere_display = gr.HTML(
|
| 151 |
value="<div class='results-placeholder'>Q-Sphere visualization</div>",
|
| 152 |
elem_id="qsphere-display",
|
| 153 |
elem_classes=["result-compact"]
|
| 154 |
)
|
| 155 |
+
|
|
|
|
|
|
|
| 156 |
with gr.Accordion("🔮 Bloch Sphere (1q)", open=True):
|
| 157 |
bloch_display = gr.Plot(
|
| 158 |
elem_id="bloch-display",
|
| 159 |
elem_classes=["result-compact"]
|
| 160 |
)
|
| 161 |
|
| 162 |
+
# Column 3: Statevector + Raw Data
|
| 163 |
with gr.Column(scale=1, min_width=300):
|
| 164 |
with gr.Accordion("📐 Statevector", open=True):
|
| 165 |
statevector_display = gr.HTML(
|
|
|
|
| 168 |
elem_classes=["result-compact"]
|
| 169 |
)
|
| 170 |
|
| 171 |
+
with gr.Accordion("📈 Raw Data", open=True):
|
| 172 |
raw_results = gr.JSON(
|
| 173 |
elem_id="raw-results",
|
| 174 |
elem_classes=["result-compact"]
|
requirements.txt
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
# Core dependencies
|
| 2 |
-
|
| 3 |
-
|
| 4 |
|
| 5 |
-
# Quantum computing
|
| 6 |
qiskit>=1.0.0
|
| 7 |
qiskit-aer>=0.14.0
|
| 8 |
|
|
|
|
| 1 |
# Core dependencies
|
| 2 |
+
gradio[mcp]~=6.0.0
|
| 3 |
+
huggingface_hub>=0.33.5,<2.0
|
| 4 |
|
| 5 |
+
# Quantum computing
|
| 6 |
qiskit>=1.0.0
|
| 7 |
qiskit-aer>=0.14.0
|
| 8 |
|