Skip to content

Commit

Permalink
Merge branch 'master' into fixb1500measurerangebug
Browse files Browse the repository at this point in the history
  • Loading branch information
astafan8 authored Sep 17, 2020
2 parents 28aded6 + 0e6a2fe commit 0ccd9e7
Show file tree
Hide file tree
Showing 14 changed files with 869 additions and 45 deletions.
21 changes: 6 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,20 @@ branches:

language: python
sudo: required
dist: xenial
dist: bionic
services:
- xvfb
notifications:
email: false

cache: pip

# remember to remove 3.8 related workarounds below once
# 3.8 is released and wheels are available.

addons:
apt_packages:
- pandoc
- libhdf5-dev # remove once h5py is packaged for 3.8
- gcc # remove once h5py is packaged for 3.8
- python-dev # remove once h5py is packaged for 3.8
- libxkbcommon-x11-0 # needed for pyqt > 5.11 to work correctly with xvfb

python:
- "3.6"
- "3.7"
- "3.8"
# whitelist
Expand Down Expand Up @@ -83,17 +77,14 @@ script:
asv machine --machine travis
asv dev --machine travis
- cd ..
# build docs with warnings as errors. We skip the docs for python 3.8 until pyqt5 is available
- |
if [[ $TRAVIS_PYTHON_VERSION != "3.8" ]]; then
cd docs
make SPHINXOPTS="-W -v" htmlapi
fi
cd docs
make SPHINXOPTS="-W -v" htmlapi
# rerun the tests from within a python session to ensure that all fixtures
# are bundled correctly. To save time we only do this from python 3.6
# are bundled correctly. To save time we only do this from python 3.7
- |
cd $HOME
if [[ $TRAVIS_PYTHON_VERSION == "3.6" ]]; then
if [[ $TRAVIS_PYTHON_VERSION == "3.7" ]]; then
python -c "import sys; import qcodes; ec = qcodes.test(); sys.exit(ec)"
fi
Expand Down
Binary file added docs/_static/experiments_widget.webp
Binary file not shown.
1 change: 1 addition & 0 deletions docs/community/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ This is the guide for you, the developer that wants to maintain/expand QCoDes.

install
contributing
related_projects
objects
87 changes: 87 additions & 0 deletions docs/community/related_projects.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
.. _relatedprojects :

Related Projects
================

On this page we list a number of projects that are
affiliated with or makes use of QCoDeS in some way or another.

If you would like to get your project featured here please submit a
pull request adding your project to this page.
The page is located at ``docs\community\related_projects.rst`` within the QCoDeS
repository.


QCoDeS contrib drivers
----------------------

QCoDeS contrib drivers is a collection of drivers for many
different instruments developed by the community. If you have
developed a driver that your wish to share with the community
this is the ideal place for it.

Broadbean can be installed with pip from PyPi
with ``pip install qcodes_contrib_drivers``
The source code is hosted on Github
`here <https://github.com/qcodes/qcodes_contrib_drivers>`__
and the documentation can be found
`here <https://qcodes.github.io/Qcodes_contrib_drivers/>`__


Broadbean
---------

Broadbean is a library for making pulses. Intended to be used
with QCoDeS (and in particular its Tektronix AWG 5014 driver)

Broadbean can be installed with pip from PyPi
with ``pip install broadbean``
The source code is hosted on Github
`here <https://github.com/qcodes/broadbean>`__
and the documentation can be found
`here <https://qcodes.github.io/broadbean/>`__


Plottr
------

Plottr is a framework for inspecting data, based on flowcharts from pyqtgraph.
plottr's main aim is to allow the user to define custom data processing
flows and plotting. A particular use case is data filtering and plotting.
Plottr has dedicated support for plotting QCoDeS datasets.


Plottr can be installed with pip from PyPi
with ``pip install plottr``
The source code is hosted on Github
`here <https://github.com/toolsforexperiments/plottr/>`__
and the documentation can be found
`here <https://plottr.readthedocs.io/en/latest/>`__

zhinst-qcodes
-------------

The Zurich Instruments drivers for QCoDeS (zhinst-qcodes) is a package of
instrument drivers for devices produced by Zurich Instruments for QCoDeS.
The QCoDeS instrument drivers are based on the Zurich Instruments Toolkit.

zhinst-qcodes can be installed with pip from PyPi
with ``pip install zhinst-qcodes``
The source code is hosted on Github
`here <https://docs.zhinst.com/zhinst-qcodes/en/latest/>`__
and the documentation can be found
`here <https://github.com/zhinst/zhinst-qcodes/>`__


qtt (Qunatum Technology Toolbox)
--------------------------------

Quantum Technology Toolbox (QTT) is a Python-based framework
for the tuning and calibration of quantum dots and spin qubits.
QTT is the framework on which you can base your measurement
and analysis scripts. QTT is based on Qcodes and the SciPy ecosystem.

`GitHub page with the repository <https://github.com/QuTech-Delft/qtt>`__

`Docs: <https://qtt.readthedocs.io>`__

49 changes: 48 additions & 1 deletion docs/examples/15_minutes_to_QCoDeS.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1289,6 +1289,53 @@
"We refer to [example notebook on working with pandas](DataSet/Working-With-Pandas-and-XArray.ipynb) and [Accessing data in DataSet notebook](DataSet/Accessing-data-in-DataSet.ipynb) for further information."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Explore the data using an interactive widget"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Experiments widget presents the most important information at a glance, has buttons to plot the dataset and easily explore a snapshot, enabled users to add a note to a dataset.\n",
"\n",
"It is only available in the Jupyter notebook because it uses [`ipywidgets`](https://ipywidgets.readthedocs.io/) to display an interactive elements.\n",
"\n",
"Use it in the following ways:\n",
"```python\n",
"# import it first\n",
"from qcodes.interactive_widget import experiments_widget\n",
"\n",
"# and then just run it\n",
"experiments_widget() \n",
"\n",
"# you can pass a specific database path\n",
"experiments_widget(db=\"path_of_db.db\")\n",
"\n",
"# you can also pass a specific list of DataSets:\n",
"# say, you're only interested in datasets of a particular experiment\n",
"experiments = qcodes.experiments()\n",
"data_sets = experiments[2].data_sets()\n",
"experiments_widget(data_sets=data_sets)\n",
"\n",
"# you can change the sorting of the datasets\n",
"# by passing None, \"run_id\", \"timestamp\" as sort_by argument:\n",
"experiments_widget(sort_by=\"timestamp\")\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's a short video that summarizes the looks and the features:\n",
"\n",
"![video demo about experiments widget should show here](../_static/experiments_widget.webp)"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down Expand Up @@ -1343,7 +1390,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"version": "3.7.9"
},
"toc": {
"base_numbering": 1,
Expand Down
22 changes: 11 additions & 11 deletions docs_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
sphinx==3.2.1
sphinx_rtd_theme
sphinx-jsonschema
nbsphinx
nbconvert==5.6.1
ipython
jupyter
scipy
pandas
xarray
packaging
sphinx~=3.2.1
sphinx_rtd_theme~=0.5.0
sphinx-jsonschema~=1.16.2
nbsphinx~=0.7.1
nbconvert~=6.0.3
ipython~=7.18.1
jupyter~=1.0.0
scipy~=1.5.2
pandas~=1.1.2
xarray~=0.16.0
packaging~=20.4
3 changes: 3 additions & 0 deletions mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,6 @@ disallow_untyped_defs = True

[mypy-qcodes.instrument_drivers.Keysight.Keysight_34480A_submodules.*]
disallow_untyped_defs = True

[mypy-qcodes.interactive_widget.*]
disallow_untyped_defs = True
4 changes: 4 additions & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,7 @@ addopts =
--dist=loadfile

markers = serial
; Filter warning from Hypothesis that we are using function scope fixtures
; It would be very hard to rewrite them as module scope as they
; are using in other tests where they must be function scope
filterwarnings = ignore:.*which is reset between function calls but not between test cases generated by
Loading

0 comments on commit 0ccd9e7

Please sign in to comment.