# Superconducting Circuit Builder
This is a GUI for designing superconducting circuits in the lumped-element limit intended to accompany the Python package scQubits.
## Installation
`pip install sccircuitbuilder`
## Usage
Run `import sccircuitbuilder as sc`, then `sc.GUI()`. The elements used to build a circuit are
1) Capacitor
2) Inductor
3) Josephson Junction
Drag the icons from the toolbox onto the canvas to place down an element. Drag nodes together to connect them. Left-click on wires to add anchor points and drag
the anchor points to guide the wires. Export the circuit to scqubits to diagonalize and simulate the circuit!
### Keyboard
* `Shift + Right Click` - add to selection
* `Shift + Right Drag` - add box to selection
* `Enter` on property entry box - change property
### Mouse
* `Left Button Drag` on whitespace - pan
* `Scroll Wheel` - zoom
* `Left Button Drag` on element/selected group - move selection
* `Right Button Drag` - box selection
* `Left Button Click` on element - rotate
* `Right Button Click` on element - select and show properties
![Screenshot showing usage](./demo/screenshot.png "screenshot")
## Features
* Split (reverse-join) nodes
* Delete elements
* Wire anchor points
* Undo / Redo
* Save / Open
* Export to scQubits circuit format
* Pre-made circuit library
## Future plans
* Offset charge / external flux
* Further integration with scqubits
* Accompanying tutorials
## Known issues
* Right click has no activation distance, so using a mouse will result in some dropped right clicks
* Sometime import/undo/redo (the memento-based functionalities) crash, but usually they seem to work
* File save is not very inteligent and adds `.circuit` to the end of the filename regardless of whether it is already there
Raw data
{
"_id": null,
"home_page": "",
"name": "sccircuitbuilder",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "cQED,circuit QED,quantum,quantum computing,superconducting circuits",
"author": "",
"author_email": "Ben McDonough <ben.mcdonough@yale.edu>",
"download_url": "https://files.pythonhosted.org/packages/56/80/dde5d8342eadfcd565b9cf7c96bc2164ab9cb5fa3399f80a82648894cc0d/sccircuitbuilder-0.0.3.tar.gz",
"platform": null,
"description": "# Superconducting Circuit Builder\nThis is a GUI for designing superconducting circuits in the lumped-element limit intended to accompany the Python package scQubits.\n\n## Installation\n`pip install sccircuitbuilder`\n\n## Usage\nRun `import sccircuitbuilder as sc`, then `sc.GUI()`. The elements used to build a circuit are\n1) Capacitor\n2) Inductor\n3) Josephson Junction\n\nDrag the icons from the toolbox onto the canvas to place down an element. Drag nodes together to connect them. Left-click on wires to add anchor points and drag \nthe anchor points to guide the wires. Export the circuit to scqubits to diagonalize and simulate the circuit!\n\n### Keyboard\n* `Shift + Right Click` - add to selection\n* `Shift + Right Drag` - add box to selection\n* `Enter` on property entry box - change property\n\n### Mouse\n* `Left Button Drag` on whitespace - pan\n* `Scroll Wheel` - zoom\n* `Left Button Drag` on element/selected group - move selection\n* `Right Button Drag` - box selection\n* `Left Button Click` on element - rotate\n* `Right Button Click` on element - select and show properties\n\n![Screenshot showing usage](./demo/screenshot.png \"screenshot\")\n\n## Features\n* Split (reverse-join) nodes\n* Delete elements\n* Wire anchor points\n* Undo / Redo\n* Save / Open\n* Export to scQubits circuit format\n* Pre-made circuit library\n\n## Future plans\n* Offset charge / external flux\n* Further integration with scqubits\n* Accompanying tutorials\n\n## Known issues\n* Right click has no activation distance, so using a mouse will result in some dropped right clicks\n* Sometime import/undo/redo (the memento-based functionalities) crash, but usually they seem to work \n* File save is not very inteligent and adds `.circuit` to the end of the filename regardless of whether it is already there\n",
"bugtrack_url": null,
"license": "",
"summary": "A graphical user interface to create superconducting circuits intended to accompany scQubits",
"version": "0.0.3",
"project_urls": {
"Homepage": "https://github.com/benmcdonough20/SuperconductingCircuitBuilder",
"Tracker": "https://github.com/benmcdonough20/SuperconductingCircuitBuilder/issues"
},
"split_keywords": [
"cqed",
"circuit qed",
"quantum",
"quantum computing",
"superconducting circuits"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fb852085843412947d253d83f50d535099b929feeea8e61257de7e368f770d57",
"md5": "a101a1f4b9620770ed34d5d09257cda5",
"sha256": "08b36b8f1f903ce6b03916df0b9e958dd010b0411de27bd5d8e9306484134a18"
},
"downloads": -1,
"filename": "sccircuitbuilder-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a101a1f4b9620770ed34d5d09257cda5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 33963,
"upload_time": "2023-08-08T03:41:12",
"upload_time_iso_8601": "2023-08-08T03:41:12.099130Z",
"url": "https://files.pythonhosted.org/packages/fb/85/2085843412947d253d83f50d535099b929feeea8e61257de7e368f770d57/sccircuitbuilder-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5680dde5d8342eadfcd565b9cf7c96bc2164ab9cb5fa3399f80a82648894cc0d",
"md5": "0d11d90867deb0be8e2018b012204107",
"sha256": "6e6be4983486441895d000e7c6f29f4cd972d0295831a670f7f6f0057c6c8408"
},
"downloads": -1,
"filename": "sccircuitbuilder-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "0d11d90867deb0be8e2018b012204107",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 155463,
"upload_time": "2023-08-08T03:41:13",
"upload_time_iso_8601": "2023-08-08T03:41:13.771461Z",
"url": "https://files.pythonhosted.org/packages/56/80/dde5d8342eadfcd565b9cf7c96bc2164ab9cb5fa3399f80a82648894cc0d/sccircuitbuilder-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-08 03:41:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "benmcdonough20",
"github_project": "SuperconductingCircuitBuilder",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "sccircuitbuilder"
}