A package for controlling and managing gate voltages in quantum devices.
Project description
Gate Manager
A Python package for controlling and managing gate voltages in quantum devices.
Features
- Easy Voltage Control Set, ramp, and read gate voltages through simple Python calls.
- 1D & 2D Sweeps Automate complex voltage sweeps across multiple gates, logging data for analysis.
- Instrument Agnostic Easily extend or adapt the package to support different hardware backends (e.g., Nanonis, Zurich).
- Integration & Logging Built-in logging of experimental parameters and sweep data for reproducible research.
Installation
You can install gate-manager using pip:
pip install git+https://github.com/chenx820/gate-manager.git
or
pip install gate-manager
Development Installation
Clone the repository and install in editable mode:
git clone https://github.com/chenx820/gate-manager.git
cd gate-manager
pip install -e .
This way, changes to the source code will immediately be reflected in your environment without reinstallation.
Usage
Below is a quick example showing how you might use the package to perform a simple 1D sweep. This is a high-level illustration; adjust names and parameters to match your hardware setup.
from gate_manager.gate import Gate, GatesGroup
from gate_manager.sweeper import Sweeper
# Suppose you have Gate instances connected to your hardware:
output_gate_1 = Gate(...)
output_gate_2 = Gate(...)
input_gate_1 = Gate(...)
# Group them as needed:
outputs = GatesGroup([output_gate_1, output_gate_2])
inputs = GatesGroup([input_gate_1])
# Create a Sweeper instance
sweeper = Sweeper(outputs=outputs, inputs=inputs, temperature="CT", device="QuantumDevice1")
# Prepare an initial state for the outputs
initial_state = [
[output_gate_1, 0.0, 'V'],
[output_gate_2, 0.0, 'V'],
]
# Perform a 1D sweep from 0 V to 1 V in steps of 10 mV
sweeper.sweep1D(
swept_outputs=outputs,
measured_inputs=inputs,
start_voltage=[0.0, 'V'],
end_voltage=[1.0, 'V'],
step=[10, 'mV'],
initial_state=initial_state,
current_unit='nA',
comments="MyFirstSweep",
is_show=True
)
Check out the example/ folder to see more advanced usage.
Contributing
Contributions are welcome! Whether you find a bug, have a feature request, or want to add new hardware support, here are a few ways to get involved:
- Fork & Clone: Fork the repository, then clone it locally.
- Create a Branch: Make a feature or fix branch, e.g. git checkout -b feature/my-new-feature.
- Make Changes: Update the code, add tests, and ensure all tests pass.
- Open a Pull Request: Submit your PR, describing your changes and why they’re needed.
Please folow PEP 8 style guidelines and ensure that all existing tests pass before submitting a pull request.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gate_manager-2.7.6.tar.gz.
File metadata
- Download URL: gate_manager-2.7.6.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1e4b8a927b6cd6a75a8481891502b96d89b93070718aaa71b20f69c6f0f0819
|
|
| MD5 |
96cfa4bc88d28a2ab61a24bd80eaee1e
|
|
| BLAKE2b-256 |
f892c1bf486ead337d131105ecbe14d9863f4e8b48cfc6fc2c527b065e14d5cd
|
File details
Details for the file gate_manager-2.7.6-py3-none-any.whl.
File metadata
- Download URL: gate_manager-2.7.6-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48e3350491903f96add3d8ab8e6e9eaad47ed63e71600d02ef85be48887790b7
|
|
| MD5 |
172818e57d5f860c42bb2a3e30c3e6fc
|
|
| BLAKE2b-256 |
8ca357e6dc0e888def2b4ccd22c98049d485383a6759395df54329316e790994
|