Package: qttpte
WelcomeWelcome to the QTT framework. This README will shortly introduce the framework, and it will guide you through the structure, installation process and how to contribute. We look forward to working with you!Quantum Technology ToolboxQuantum Technology Toolbox (QTT) is a Python-based framework developed initially by QuTech for the tuning and calibration of
quantum dots and spin qubits.QuTechis an advanced research center based in Delft, the Netherlands, for quantum
computing and quantum internet, a collaboration founded by theUniversity of Technology Delft(TU Delft) and
the Netherlands Organisation for Applied Scientific Research (TNO).For usage of QTT see the detaileddocumentationon readthedocs.io.QTT is the framework on which you can base your measurement and analysis scripts. QTT is based
onQCoDeS(basic framework such as instrument drivers, DataSet) and theSciPyecosystem.InstallationQTT is compatible with Python 3.7+. QTT can be installed as a pip package to be used in a (virtual) Python environment.
We assume that software packages likegitandpythonare already installed on your system.Note: when running Ubuntu Linux, installing these packages is done via:sudo apt install git gcc python3.7 python3.7-venv python3.7-devfor Python 3.7.x. Other Linux distributions require similar steps.Setting up a virtual environmentTo create a clean virtual Python environment for your QTT development do:mkdir qtt
cd qttNow activate the virtual environment. On Linux do:python3 -m venv env
. ./env/bin/activateorsource ./env/bin/activateOn Windows do:python -m pip install virtualenv
python -m virtualenv --copies env
env\Scripts\activate.batNow we are ready to install QTT.Installation from PyPITo use QTT, install it as a pip package:pip install qttor install QTT from source.Installing from sourceThe source for QTT can be found at Github.
For the default installation from the QTT source directory execute:git clone https://github.com/QuTech-Delft/qtt.git
cd qtt
pip install wheelFor QTT development install QTT in editable mode:pip install -e .For non-editable mode do:pip install .When (encountered on Linux) PyQt5 gives an error when installing try upgrading pippip install --upgrade pipand rerun the respective install command.When incompatibility problems ariseSometimes the default installation does not work because of incompatible dependencies between the used packages
on your system. To be sure you use all the right versions of the packages used by QTT and its dependencies do:pip install . -r requirements_lock.txtor for developmentpip install -e . -r requirements_lock.txtThis will install a tested set of all the packages QTT depends on.TestingTests for the QTT packages are contained in the subdirectorytests. To run the tests run the following command:pytestWhen integration tests fail because of errors in plotting try downgrading opencv-python to 4.2.0.34:pip install opencv-python==4.2.0.34Installing for generating documentationTo install the necessary packages to perform documentation activities for QTT do:pip install -e .[rtd]The documentation generation process is dependent on pandoc. When you want to generate the
documentation and pandoc is not yet installed on your system navigate
toPandocand follow the instructions found there to install pandoc.
To build the 'readthedocs' documentation do:cd docs
make htmlVandersypen research groupFor the Vandersypen research group there are more detailed instructions, read the file INSTALL.md in the spin-projects
repository.Updating QTTTo update QTT do:pip install . --upgradeUsageSee thedocumentationand the example notebooks in thedocs/notebooksdirectory.For a general introduction also seeIntroduction to GithubScientific python lecturesIf you useSpyderthen use the following settings:Use aIPythonconsole and inTools->Preferences->IPython console->Graphicsset the IPython backend graphics option toQt5. This ensures correctly displaying theParameterViewerandDataBrowserInTools->Preferences->Console->Advanced settingsuncheck the boxEnable UMRContributingSeeContributingfor information about bug/issue reports, contributing code, style, and testingLicenseSeeLicense