Visual Studio Code Extension for "Developer Experience in Iterative Quantum Software Engineering" (DEQSE)
A tool for quantum computing developed as part of the DEQSE project at the University of Jyväskylä.
Features - Extension Settings - Setup | Known Issues - Release Notes | Contributing | Attribution - Acknowledgements | Contributors - Contact
Features
- Project Creator to easily create projects from the following predefined quantum computing project templates:
qiskit-hello-world
- More to be added...
- Code Runner to run quantum code on the following backends:
- Simulator (Local): quantum-circuit, Qubit Toaster
- More to be added...
- Code Converter for code written in the following quantum computing languages:
- Input: IonQ (JSON), OpenQASM 2.0, Qobj (JSON), Qubit Toaster (JSON), Quil 2.0, quantum-circuit (JSON)
- Output: AQASM, Amazon Braket (Python), Cirq (Python), JavaScript, OpenQASM 2.0, Q#, Qiskit (Python), Qobj (JSON), Qubit Toaster (JSON), QuEST (C/C++), Quil, quantum-circuit (JSON), TensorFlow Quantum (Python), pyAQASM (Python), pyQuil (Python)
- Circuit Designer to create circuits in a visual designer
Extension Settings
deqse.projectCreator.templatesDirectory
: Directory to read/store project template folders.
deqse.projectCreator.usePlaceholders
: Look for and replace placeholders in template (e. g. #{author}).
deqse.projectCreator.placeholderRegExp
: Regular expression for detecting placeholders (e. g. "#{(\w+?)}"). The first capture group dictates the placeholder key.
deqse.projectCreator.placeholders
: List of placeholders, in key-value string pairs.
deqse.codeConverter.input.fromFile
: Specifies whether to use the currently open file as input instead of the input text area.
deqse.circuitDesigner.offlineMode
: Specifies whether the circuit designer should be started in offline mode, without requiring an internet connection. Might not use an up-to-date version of the circuit designer.
Setup
To be able to use the Qubit Toaster quantum simulator, execute the following command to install it:
curl https://quantastica.com/toaster/install | /bin/sh
Known Issues
Please report issues and bugs. The following are currently known:
- The Code Runner menu does not support cloud backends.
- Live Convert for the Code Converter is not functional.
- Qubit Toaster has to be installed manually, but will be shown in the dropdown menu nevertheless.
- The dependency
quantum-circuit
has a vulnerable version of mathjs
as a sub-dependency.
Release Notes
See CHANGELOG.md for more details.
v0.1.0
- Added Project Creator, Code Runner, Code Converter, and Circuit Designer with basic functionalities.
- Note: Not everything might be fully functional as of right now.
Contributing
See CONTRIBUTING.md for more details.
Attribution
The following npm packages are used:
The following additional tools are used or integrated:
- Project Templates: A Visual Studio Code extension that allows to quickly create new projects based on custom templates.
- Quirk-E: A drag-and-drop quantum circuit simulator that runs in the browser and extends the original Quirk simulator.
In addition, some utilities and the general structure are based on examples from the Visual Studio Code Extension Samples and the Webview UI Toolkit for Visual Studio Code Extension Samples.
Licenses are included in the source files where appropriate.
Acknowledgements
This work was supported by the Research Council of Finland [grant number 349945].
Contributors
- Julian Fuchs (@julian-fuchs) - University of Jyväskylä, Hasso Plattner Institute / University of Potsdam
- Majid Haghparast (@MajidHaghparast) - University of Jyväskylä
Majid Haghparast <majid.m.haghparast@jyu.fi>