Q1LensSee how a Qblox schedule becomes pulses and Q1ASM without leaving VS Code. Q1Lens connects three views of the same program:
Select an operation to keep its schedule, pulse, and Q1ASM context together.
You can also open standalone Created by Ik Kyeong Jin. Requirements
Q1Lens imports and runs schedule code during analysis, so a separate Q1Lens-only environment will not see your project dependencies. Start from a Jupyter notebook
Q1Lens never runs the installer or bootstraps pip. If pip is missing, setup explains this and offers uv pip; uv must already be available on your PATH. You can also manage Q1Lens through your project's existing dependency workflow and then check again. The suggested commands do not modify project dependency or lock files. Windows commands use PowerShell; Linux and macOS commands use POSIX sh syntax. Insert into Terminal opens a new terminal using that shell and fills in the command without executing it. If you copy a command, use the shell indicated in the setup screen. A changed notebook kernel updates the setup before a command can be copied or inserted. Notebook analysis uses the selected kernel's Python automatically; no
This supports kernels on the same host as the VS Code extension, including a shared Remote SSH/WSL host. A separate remote Jupyter server is not supported. Analysis reruns the selected setup and schedule cells in a separate process; it uses the kernel's installed packages, not its live variables. Python for standalone filesFor Python schedule projects and standalone Q1ASM files, Q1Lens uses the Microsoft Python extension's selected interpreter for the analysis target's project. Select it with Python: Select Interpreter. This works on Windows, Linux and macOS, including an extension running in a Remote SSH or WSL workspace. Explicit Q1Lens Python paths and launcher arguments remain manual overrides,
including legacy settings and Q1ASM-specific settings. Notebook workflows
continue to use their selected kernel. Follow VS Code Selection in the
environment screen switches this project to VS Code without deleting saved
launchers. Set The Q1Lens Python status item shows the environment and whether it came from VS Code, a manual setting, or a notebook kernel. Click it, or run Q1Lens: Show Python Environment, to see the executable, selection source and analysis target. Refresh resolves that same target again; another active editor does not redirect the environment. View changes and playback use the analyzed environment. If no usable interpreter is selected, Q1Lens explains how to choose one. It does not silently fall back to Python on PATH. Missing packages and import errors use the same user-managed Show Setup / Check Again flow as notebooks. Install the Python packageWith uv:
Select the project's virtual environment with Python: Select Interpreter. Alternatively, explicitly configure the extension to launch through uv:
Or install it in an activated virtual environment with pip:
Select that environment with Python: Select Interpreter. A manual
Run Q1Lens: Check Python Environment, also available in the sidebar, to
inspect the selected paths and their sources, Python versions, package locations,
and Q1ASM bridge availability.
Q1Lens: Select Python Environment lets you select a workspace Selection saves shared and Q1ASM Python settings in the workspace, or in user settings when no folder is open. Explicit Q1ASM overrides take precedence over shared settings. The check imports Q1Lens without executing a schedule; it checks schedule dependencies when you analyze the project. A failed timeline offers an environment check and a retry. Use a schedule projectCreate
Your
Generated analysis files are kept in Refresh reanalyzes the currently displayed project and preserves its view. Changing the automatic-refresh setting takes effect without restarting VS Code. Opening analysis artifacts before a first analysis offers Analyze and Open. Inspect standalone Q1ASM
Q1Lens uses a nearby The collapsible Parameters panel shows the effective analysis values and temporary override count. Use Edit and Apply (or Enter) to try a JSON value, Cancel to discard input, and Reset to restore an individual file value. Invalid input or failed analysis keeps the previous result and shows the error. Q1Lens: Set Analysis Parameter... and Q1Lens: Clear Analysis Parameter Overrides provide the same session-only workflow from the Command Palette. Overrides do not modify project files and reset when the project changes or VS Code restarts. These controls require the matching Q1Lens 0.2.0 Python package. Compare runs and inspect executionQ1Lens: Save Timeline Comparison Baseline stores the current successful analysis in
The Hardware view follows the cursor through register writes, simulated signal stages, acquisitions, and feedback. Execution replay can prepare a bounded concrete or simulated trace. These views show the declared software model; they do not represent measurements from connected hardware.
In the schedule view, the Provenance Coverage legend selects matching pulses and exposes Compiler, Inferred, or Unmapped evidence with linked Q1ASM context. Diagnostic quick fixesSet Main commands
Project statusQ1Lens is an early-stage independent project. It was conceived and originally developed by Ik Kyeong Jin while employed by Qblox B.V.. It is not an official Qblox product and is not sponsored, endorsed, or maintained by Qblox B.V. Q1Lens is licensed under the Apache License 2.0. OpenAI Codex was used as an AI-assisted development tool; all released changes are reviewed and accepted by the project maintainer. |