From f25bded26d36e3192eb010dd4465c9be16da876f Mon Sep 17 00:00:00 2001 From: saipavanc Date: Fri, 1 Mar 2024 16:46:09 -0600 Subject: [PATCH 1/2] updating workflow requirements and pytests --- .github/workflows/pytests.yml | 9 ++----- examples/demo_gui.ipynb | 48 +++++++++++++++++------------------ workflow-requirements.info | 15 +++++------ 3 files changed, 32 insertions(+), 40 deletions(-) diff --git a/.github/workflows/pytests.yml b/.github/workflows/pytests.yml index 857f23a..a655e85 100644 --- a/.github/workflows/pytests.yml +++ b/.github/workflows/pytests.yml @@ -22,14 +22,9 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install Cython - pip install numpy - pip install scipy - pip install ipywidgets - pip install -r workflow-requirements.info python -m pip install git+https://github.com/scqubits/scqubits.git + python -m pip install -r workflow-requirements.info - name: Test notebooks with py.test --nbval-lax run: | - pip install pytest - pip install nbval + pip install pytest nbval py.test --nbval-lax diff --git a/examples/demo_gui.ipynb b/examples/demo_gui.ipynb index fd1c6b3..5db2d75 100644 --- a/examples/demo_gui.ipynb +++ b/examples/demo_gui.ipynb @@ -19,7 +19,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c01d959e70af44d4befe9643eb086ece", + "model_id": "ed8224a0f83c4b04ba7ed75234ea65d4", "version_major": 2, "version_minor": 0 }, @@ -53,13 +53,13 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "fcdc5bb1", "metadata": {}, "outputs": [ { "data": { - "application/pdf": "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ZSAwIC9TdGVtViAwIC9NYXhXaWR0aCAxMzUwID4+CmVuZG9iagoxMyAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzUwIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjggNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjE3IDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTcgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4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MjcxIDIwNTIgMTA1NyBdIC9Gb250TWF0cml4IFsgMC4wMDEgMCAwIDAuMDAxIDAgMCBdCi9DaGFyUHJvY3MgMjIgMCBSCi9FbmNvZGluZyA8PCAvVHlwZSAvRW5jb2RpbmcKL0RpZmZlcmVuY2VzIFsgNDYgL3VuaTAwMDAwMDEzIDQ4IC91bmkwMDAwMDAxNSAvdW5pMDAwMDAwMTYgL3VuaTAwMDAwMDE3IDUyCi91bmkwMDAwMDAxOSAvdW5pMDAwMDAwMWEgL3VuaTAwMDAwMDFiIDU2IC91bmkwMDAwMDAxZCBdCj4+Ci9XaWR0aHMgMTkgMCBSID4+CmVuZG9iagoyMCAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0ZvbnROYW1lIC9GTUFTWVQrUm9ib3RvLU1lZGl1bSAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsgLTkwNyAtMjcxIDIwNTIgMTA1NyBdIC9Bc2NlbnQgMTA0OCAvRGVzY2VudCAtMjcxIC9DYXBIZWlnaHQgMAovWEhlaWdodCAwIC9JdGFsaWNBbmdsZSAwIC9TdGVtViAwIC9NYXhXaWR0aCA5NjMgPj4KZW5kb2JqCjE5IDAgb2JqClsgMCA0NDMgMCA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyAyNDkgNDQzIDQ0MyA0NDMgMjQ5IDQ0MyA0NDMgNDQzIDQ0MyA0NDMKNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDI0OSAyNjggMzI0IDYxMCA1NjggNzM0CjYzOSAxNjkgMzQ5IDM1MyA0NDIgNTU3IDIyMCAzMjggMjc5IDM5NiA1NjggNTY4IDU2OCA1NjggNTY4IDU2OCA1NjggNTY4IDU2OAo1NjggMjY1IDIzOCA1MDggNTYwIDUyMSA0ODYgODk1IDY2NiA2MzEgNjUzIDY1MyA1NjUgNTQ5IDY4MSA3MTAgMjgyIDU1NSA2MzAKNTQxIDg3NSA3MTAgNjkwIDYzOSA2OTAgNjI0IDYwNCA2MDcgNjUyIDY0NyA4ODAgNjMzIDYwOSA2MDIgMjc0IDQxOCAyNzQgNDI3CjQ1MSAzMjIgNTQxIDU2MyA1MjMgNTY0IDUzNyAzNTQgNTY3IDU1NSAyNTUgMjUwIDUyMiAyNTUgODcwIDU1NiA1NjkgNTYzIDU2OAozNTIgNTE2IDMzMyA1NTYgNDk1IDc0MyA1MDMgNDg3IDUwMyAzMzUgMjUxIDMzNSA2NjUgNDQzIDU2OCA0NDMgMjI2IDM1MiAzNzkKNzA2IDU0NSA1NzUgNDg3IDk1NyA2MDQgMzA2IDk2MyA0NDMgNjAyIDQ0MyA0NDMgMjE5IDIxNyAzODUgMzg4IDM0OSA2NDUgNzczCjQ4MCA2MjkgNTE2IDMwMSA5MDMgNDQzIDUwMyA2MDkgMjQ5IDI2NSA1NjEgNTg4IDcwMiA1MzEgMjQ4IDYyMSA0NDAgNzgzIDQ0Ngo0ODUgNTUzIDMyOCA3ODMgNDgyIDM4MCA1MzYgMzcwIDM3MCAzMjYgNTkxIDQ5MSAyODIgMjU4IDM3MCA0NTcgNDg1IDcyNyA3NzEKNzkyIDQ4NiA2NjYgNjY2IDY2NiA2NjYgNjY2IDY2NiA5NDAgNjUzIDU2NSA1NjUgNTY1IDU2NSAyODIgMjgyIDI4MiAyODIgNjY4CjcxMCA2OTAgNjkwIDY5MCA2OTAgNjkwIDUzMyA2ODkgNjUyIDY1MiA2NTIgNjUyIDYwOSA1OTkgNjEzIDU0MSA1NDEgNTQxIDU0MQo1NDEgNTQxIDg0NCA1MjMgNTM3IDUzNyA1MzcgNTM3IDI2MyAyNjMgMjYzIDI2MyA1ODIgNTU2IDU2OSA1NjkgNTY5IDU2OSA1NjkKNTcxIDU2NiA1NTYgNTU2IDU1NiA1NTYgNDg3IDU3NCA0ODcgXQplbmRvYmoKMjIgMCBvYmoKPDwgL3VuaTAwMDAwMDEzIDIzIDAgUiAvdW5pMDAwMDAwMTUgMjQgMCBSIC91bmkwMDAwMDAxNiAyNSAwIFIKL3VuaTAwMDAwMDE3IDI2IDAgUiAvdW5pMDAwMDAwMTkgMjcgMCBSIC91bmkwMDAwMDAxYSAyOCAwIFIKL3VuaTAwMDAwMDFiIDI5IDAgUiAvdW5pMDAwMDAwMWQgMzAgMCBSID4+CmVuZG9iagozNSAwIG9iago8PCAvTGVuZ3RoIDE4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4nDMysVAwgMMUQ640AB4HA1QKZW5kc3RyZWFtCmVuZG9iagozNiAwIG9iago8PCAvTGVuZ3Ro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WVQrUm9ib3RvLVJlZ3VsYXIKL0ZvbnRCQm94IFsgLTg5MiAtMjcxIDIwNDUgMTA1NyBdIC9Gb250TWF0cml4IFsgMC4wMDEgMCAwIDAuMDAxIDAgMCBdCi9DaGFyUHJvY3MgMzQgMCBSCi9FbmNvZGluZyA8PCAvVHlwZSAvRW5jb2RpbmcKL0RpZmZlcmVuY2VzIFsgMzIgL3VuaTAwMDAwMDA1IDcxIC91bmkwMDAwMDAyYyAvdW5pMDAwMDAwMmQgOTEgL3VuaTAwMDAwMDQwIDkzCi91bmkwMDAwMDA0MiA5NyAvdW5pMDAwMDAwNDYgOTkgL3VuaTAwMDAwMDQ4IDEwMSAvdW5pMDAwMDAwNGEgL3VuaTAwMDAwMDRiCi91bmkwMDAwMDA0YyAvdW5pMDAwMDAwNGQgMTEwIC91bmkwMDAwMDA1MyAvdW5pMDAwMDAwNTQgMTE0IC91bmkwMDAwMDA1NwovdW5pMDAwMDAwNTggL3VuaTAwMDAwMDU5IDEyMSAvdW5pMDAwMDAwNWUgL3VuaTAwMDAwMDVmIF0KPj4KL1dpZHRocyAzMSAwIFIgPj4KZW5kb2JqCjMyIDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL0ZNQVNZVCtSb2JvdG8tUmVndWxhciAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsgLTg5MiAtMjcxIDIwNDUgMTA1NyBdIC9Bc2NlbnQgMTA0OCAvRGVzY2VudCAtMjcxIC9DYXBIZWlnaHQgMAovWEhlaWdodCAwIC9JdGFsaWNBbmdsZSAwIC9TdGVtViAwIC9NYXhXaWR0aCA5NTggPj4KZW5kb2JqCjMxIDAgb2JqClsgMCA0NDMgMCA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyAyNDggNDQzIDQ0MyA0NDMgMjQ4IDQ0MyA0NDMgNDQzIDQ0MyA0NDMKNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDI0OCAyNTcgMzIwIDYxNiA1NjIgNzMyCjYyMiAxNzQgMzQyIDM0OCA0MzEgNTY3IDE5NiAyNzYgMjYzIDQxMiA1NjIgNTYyIDU2MiA1NjIgNTYyIDU2MiA1NjIgNTYyIDU2Mgo1NjIgMjQyIDIxMSA1MDggNTQ5IDUyMiA0NzIgODk4IDY1MiA2MjMgNjUxIDY1NiA1NjggNTUzIDY4MSA3MTMgMjcyIDU1MiA2MjcKNTM4IDg3MyA3MTMgNjg4IDYzMSA2ODggNjE2IDU5MyA1OTcgNjQ4IDYzNiA4ODcgNjI3IDYwMSA1OTkgMjY1IDQxMCAyNjUgNDE4CjQ1MSAzMDkgNTQ0IDU2MSA1MjMgNTY0IDUzMCAzNDcgNTYxIDU1MSAyNDMgMjM5IDUwNyAyNDMgODc2IDU1MiA1NzAgNTYxIDU2OAozMzggNTE2IDMyNyA1NTEgNDg0IDc1MSA0OTYgNDczIDQ5NiAzMzggMjQ0IDMzOCA2ODAgNDQzIDU2MiA0NDMgMTk5IDM0MCAzNDQKNjY5IDU1MSA1NzAgNDcxIDk1OCA1OTMgMzAwIDk1NCA0NDMgNTk5IDQ0MyA0NDMgMjAwIDIwMCAzNTQgMzU3IDMzNyA2NTYgNzgxCjQ3MiA2MjUgNTE2IDMwMCA5MDggNDQzIDQ5NiA2MDEgMjQ4IDI0NCA1NDcgNTgxIDcxMyA1MjUgMjQwIDYxMyA0MTggNzg2IDQ0Nwo0NjkgNTU0IDI3NiA3ODYgNDU4IDM3NCA1MzQgMzY3IDM2NyAzMTMgNTY2IDQ4OSAyNjEgMjQ4IDM2NyA0NTUgNDY5IDczMiA3NzYKNzc4IDQ3MyA2NTIgNjUyIDY1MiA2NTIgNjUyIDY1MiA5MzUgNjUxIDU2OCA1NjggNTY4IDU2OCAyNzIgMjcyIDI3MiAyNzIgNjcwCjcxMyA2ODggNjg4IDY4OCA2ODggNjg4IDUzMyA2ODggNjQ4IDY0OCA2NDggNjQ4IDYwMSA1OTEgNTk1IDU0NCA1NDQgNTQ0IDU0NAo1NDQgNTQ0IDg0NCA1MjMgNTMwIDUzMCA1MzAgNTMwIDI0NyAyNDcgMjQ3IDI0NyA1ODYgNTUyIDU3MCA1NzAgNTcwIDU3MCA1NzAKNTcxIDU2NiA1NTEgNTUxIDU1MSA1NTEgNDczIDU3NiA0NzMgXQplbmRvYmoKMzQgMCBvYmoKPDwgL3VuaTAwMDAwMDA1IDM1IDAgUiAvdW5pMDAwMDAwMmMgMzYgMCBSIC91bmkwMDAwMDAyZCAzNyAwIFIKL3VuaTAwMDAwMDQwIDM4IDAgUiAvdW5pMDAwMDAwNDIgMzkgMCBSIC91bmkwMDAwMDA0NiA0MCAwIFIKL3VuaTAwMDAwMDQ4IDQxIDAgUiAvdW5pMDAwMDAwNGEgNDIgMCBSIC91bmkwMDAwMDA0YiA0MyAwIFIKL3VuaTAwMDAwMDRjIDQ0IDAgUiAvdW5pMDAwMDAwNGQgNDUgMCBSIC91bmkwMDAwMDA1MyA0NiAwIFIKL3VuaTAwMDAwMDU0IDQ3IDAgUiAvdW5pMDAwMDAwNTcgNDggMCBSIC91bmkwMDAwMDA1OCA0OSAwIFIKL3VuaTAwMDAwMDU5IDUwIDAgUiAvdW5pMDAwMDAwNWUgNTEgMCBSIC91bmkwMDAwMDA1ZiA1MiAwIFIgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YzIDE1IDAgUiAvRjEgMjEgMCBSIC9GMiAzMyAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9UeXBlIC9FeHRHU3RhdGUgL0NBIDAgL2NhIDEgPj4KL0EyIDw8IC9UeXBlIC9FeHRHU3RhdGUgL0NBIDEgL2NhIDEgPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsgMTEgMCBSIF0gL0NvdW50IDEgPj4KZW5kb2JqCjUzIDAgb2JqCjw8IC9DcmVhdG9yIChNYXRwbG90bGliIHYzLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjguMikKL0NyZWF0aW9uRGF0ZSAoRDoyMDI0MDMwMTE0MTkwNS0wNScwMCcpID4+CmVuZG9iagp4cmVmCjAgNTQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMTQ4OTYgMDAwMDAgbiAKMDAwMDAxNDY4MCAwMDAwMCBuIAowMDAwMDE0NzM0IDAwMDAwIG4gCjAwMDAwMTQ4MzMgMDAwMDAgbiAKMDAwMDAxNDg1NCAwMDAwMCBuIAowMDAwMDE0ODc1IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDM0MiAwMDAwMCBuIAowMDAwMDAxNDAwIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTM4MCAwMDAwMCBuIAowMDAwMDAyNzM4IDAwMDAwIG4gCjAwMDAwMDI1MjMgMDAwMDAgbiAKMDAwMDAwMjE4NiAwMDAwMCBuIAowMDAwMDAzNzkxIDAwMDAwIG4gCjAwMDAwMDE0MjAgMDAwMDAgbiAKMDAwMDAwMTg5NyAwMDAwMCBuIAowMDAwMDA2NzY5IDAwMDAwIG4gCjAwMDAwMDY1NjAgMDAwMDAgbiAKMDAwMDAwNjEzMiAwMDAwMCBuIAowMDAwMDA3ODA5IDAwMDAwIG4gCjAwMDAwMDM4MzMgMDAwMDAgbiAKMDAwMDAwNDAzMCAwMDAwMCBuIAowMDAwMDA0MzU3IDAwMDAwIG4gCjAwMDAwMDQ1MDEgMDAwMDAgbiAKMDAwMDAwNDc5NiAwMDAwMCBuIAowMDAwMDA0OTY2IDAwMDAwIG4gCjAwMDAwMDUyODYgMDAwMDAgbiAKMDAwMDAwNTY0OCAwMDAwMCBuIAowMDAwMDEzMjU4IDAwMDAwIG4gCjAwMDAwMTMwNDggMDAwMDAgbiAKMDAwMDAxMjQ2NiAwMDAwMCBuIAowMDAwMDE0Mjk4IDAwMDAwIG4gCjAwMDAwMDc5OTEgMDAwMDAgbiAKMDAwMDAwODA4MSAwMDAwMCBuIAowMDAwMDA4NDEyIDAwMDAwIG4gCjAwMDAwMDg1NjQgMDAwMDAgbiAKMDAwMDAwODcxMSAwMDAwMCBuIAowMDAwMDA4ODUwIDAwMDAwIG4gCjAwMDAwMDkyNDMgMDAwMDAgbiAKMDAwMDAwOTU4NCAwMDAwMCBuIAowMDAwMDA5OTEyIDAwMDAwIG4gCjAwMDAwMTAxMzggMDAwMDAgbiAKMDAwMDAxMDUwNSAwMDAwMCBuIAowMDAwMDEwNzIyIDAwMDAwIG4gCjAwMDAwMTA5NDEgMDAwMDAgbiAKMDAwMDAxMTI3MiAwMDAwMCBuIAowMDAwMDExNDU5IDAwMDAwIG4gCjAwMDAwMTE4OTAgMDAwMDAgbiAKMDAwMDAxMjExMCAwMDAwMCBuIAowMDAwMDEyMzE1IDAwMDAwIG4gCjAwMDAwMTQ5NTYgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSA1NCAvUm9vdCAxIDAgUiAvSW5mbyA1MyAwIFIgPj4Kc3RhcnR4cmVmCjE1MTEzCiUlRU9GCg==", + "application/pdf": "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ZSAwIC9TdGVtViAwIC9NYXhXaWR0aCAxMzUwID4+CmVuZG9iagoxMyAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzUwIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjggNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjE3IDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTcgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4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MjcxIDIwNTIgMTA1NyBdIC9Gb250TWF0cml4IFsgMC4wMDEgMCAwIDAuMDAxIDAgMCBdCi9DaGFyUHJvY3MgMjIgMCBSCi9FbmNvZGluZyA8PCAvVHlwZSAvRW5jb2RpbmcKL0RpZmZlcmVuY2VzIFsgNDYgL3VuaTAwMDAwMDEzIDQ4IC91bmkwMDAwMDAxNSAvdW5pMDAwMDAwMTYgL3VuaTAwMDAwMDE3IDUyCi91bmkwMDAwMDAxOSAvdW5pMDAwMDAwMWEgL3VuaTAwMDAwMDFiIDU2IC91bmkwMDAwMDAxZCBdCj4+Ci9XaWR0aHMgMTkgMCBSID4+CmVuZG9iagoyMCAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0ZvbnROYW1lIC9GTUFTWVQrUm9ib3RvLU1lZGl1bSAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsgLTkwNyAtMjcxIDIwNTIgMTA1NyBdIC9Bc2NlbnQgMTA0OCAvRGVzY2VudCAtMjcxIC9DYXBIZWlnaHQgMAovWEhlaWdodCAwIC9JdGFsaWNBbmdsZSAwIC9TdGVtViAwIC9NYXhXaWR0aCA5NjMgPj4KZW5kb2JqCjE5IDAgb2JqClsgMCA0NDMgMCA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyAyNDkgNDQzIDQ0MyA0NDMgMjQ5IDQ0MyA0NDMgNDQzIDQ0MyA0NDMKNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDI0OSAyNjggMzI0IDYxMCA1NjggNzM0CjYzOSAxNjkgMzQ5IDM1MyA0NDIgNTU3IDIyMCAzMjggMjc5IDM5NiA1NjggNTY4IDU2OCA1NjggNTY4IDU2OCA1NjggNTY4IDU2OAo1NjggMjY1IDIzOCA1MDggNTYwIDUyMSA0ODYgODk1IDY2NiA2MzEgNjUzIDY1MyA1NjUgNTQ5IDY4MSA3MTAgMjgyIDU1NSA2MzAKNTQxIDg3NSA3MTAgNjkwIDYzOSA2OTAgNjI0IDYwNCA2MDcgNjUyIDY0NyA4ODAgNjMzIDYwOSA2MDIgMjc0IDQxOCAyNzQgNDI3CjQ1MSAzMjIgNTQxIDU2MyA1MjMgNTY0IDUzNyAzNTQgNTY3IDU1NSAyNTUgMjUwIDUyMiAyNTUgODcwIDU1NiA1NjkgNTYzIDU2OAozNTIgNTE2IDMzMyA1NTYgNDk1IDc0MyA1MDMgNDg3IDUwMyAzMzUgMjUxIDMzNSA2NjUgNDQzIDU2OCA0NDMgMjI2IDM1MiAzNzkKNzA2IDU0NSA1NzUgNDg3IDk1NyA2MDQgMzA2IDk2MyA0NDMgNjAyIDQ0MyA0NDMgMjE5IDIxNyAzODUgMzg4IDM0OSA2NDUgNzczCjQ4MCA2MjkgNTE2IDMwMSA5MDMgNDQzIDUwMyA2MDkgMjQ5IDI2NSA1NjEgNTg4IDcwMiA1MzEgMjQ4IDYyMSA0NDAgNzgzIDQ0Ngo0ODUgNTUzIDMyOCA3ODMgNDgyIDM4MCA1MzYgMzcwIDM3MCAzMjYgNTkxIDQ5MSAyODIgMjU4IDM3MCA0NTcgNDg1IDcyNyA3NzEKNzkyIDQ4NiA2NjYgNjY2IDY2NiA2NjYgNjY2IDY2NiA5NDAgNjUzIDU2NSA1NjUgNTY1IDU2NSAyODIgMjgyIDI4MiAyODIgNjY4CjcxMCA2OTAgNjkwIDY5MCA2OTAgNjkwIDUzMyA2ODkgNjUyIDY1MiA2NTIgNjUyIDYwOSA1OTkgNjEzIDU0MSA1NDEgNTQxIDU0MQo1NDEgNTQxIDg0NCA1MjMgNTM3IDUzNyA1MzcgNTM3IDI2MyAyNjMgMjYzIDI2MyA1ODIgNTU2IDU2OSA1NjkgNTY5IDU2OSA1NjkKNTcxIDU2NiA1NTYgNTU2IDU1NiA1NTYgNDg3IDU3NCA0ODcgXQplbmRvYmoKMjIgMCBvYmoKPDwgL3VuaTAwMDAwMDEzIDIzIDAgUiAvdW5pMDAwMDAwMTUgMjQgMCBSIC91bmkwMDAwMDAxNiAyNSAwIFIKL3VuaTAwMDAwMDE3IDI2IDAgUiAvdW5pMDAwMDAwMTkgMjcgMCBSIC91bmkwMDAwMDAxYSAyOCAwIFIKL3VuaTAwMDAwMDFiIDI5IDAgUiAvdW5pMDAwMDAwMWQgMzAgMCBSID4+CmVuZG9iagozNSAwIG9iago8PCAvTGVuZ3RoIDE4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4nDMysVAwgMMUQ640AB4HA1QKZW5kc3RyZWFtCmVuZG9iagozNiAwIG9iago8PCAvTGVuZ3Ro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WVQrUm9ib3RvLVJlZ3VsYXIKL0ZvbnRCQm94IFsgLTg5MiAtMjcxIDIwNDUgMTA1NyBdIC9Gb250TWF0cml4IFsgMC4wMDEgMCAwIDAuMDAxIDAgMCBdCi9DaGFyUHJvY3MgMzQgMCBSCi9FbmNvZGluZyA8PCAvVHlwZSAvRW5jb2RpbmcKL0RpZmZlcmVuY2VzIFsgMzIgL3VuaTAwMDAwMDA1IDcxIC91bmkwMDAwMDAyYyAvdW5pMDAwMDAwMmQgOTEgL3VuaTAwMDAwMDQwIDkzCi91bmkwMDAwMDA0MiA5NyAvdW5pMDAwMDAwNDYgOTkgL3VuaTAwMDAwMDQ4IDEwMSAvdW5pMDAwMDAwNGEgL3VuaTAwMDAwMDRiCi91bmkwMDAwMDA0YyAvdW5pMDAwMDAwNGQgMTEwIC91bmkwMDAwMDA1MyAvdW5pMDAwMDAwNTQgMTE0IC91bmkwMDAwMDA1NwovdW5pMDAwMDAwNTggL3VuaTAwMDAwMDU5IDEyMSAvdW5pMDAwMDAwNWUgL3VuaTAwMDAwMDVmIF0KPj4KL1dpZHRocyAzMSAwIFIgPj4KZW5kb2JqCjMyIDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL0ZNQVNZVCtSb2JvdG8tUmVndWxhciAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsgLTg5MiAtMjcxIDIwNDUgMTA1NyBdIC9Bc2NlbnQgMTA0OCAvRGVzY2VudCAtMjcxIC9DYXBIZWlnaHQgMAovWEhlaWdodCAwIC9JdGFsaWNBbmdsZSAwIC9TdGVtViAwIC9NYXhXaWR0aCA5NTggPj4KZW5kb2JqCjMxIDAgb2JqClsgMCA0NDMgMCA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyAyNDggNDQzIDQ0MyA0NDMgMjQ4IDQ0MyA0NDMgNDQzIDQ0MyA0NDMKNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDQ0MyA0NDMgNDQzIDI0OCAyNTcgMzIwIDYxNiA1NjIgNzMyCjYyMiAxNzQgMzQyIDM0OCA0MzEgNTY3IDE5NiAyNzYgMjYzIDQxMiA1NjIgNTYyIDU2MiA1NjIgNTYyIDU2MiA1NjIgNTYyIDU2Mgo1NjIgMjQyIDIxMSA1MDggNTQ5IDUyMiA0NzIgODk4IDY1MiA2MjMgNjUxIDY1NiA1NjggNTUzIDY4MSA3MTMgMjcyIDU1MiA2MjcKNTM4IDg3MyA3MTMgNjg4IDYzMSA2ODggNjE2IDU5MyA1OTcgNjQ4IDYzNiA4ODcgNjI3IDYwMSA1OTkgMjY1IDQxMCAyNjUgNDE4CjQ1MSAzMDkgNTQ0IDU2MSA1MjMgNTY0IDUzMCAzNDcgNTYxIDU1MSAyNDMgMjM5IDUwNyAyNDMgODc2IDU1MiA1NzAgNTYxIDU2OAozMzggNTE2IDMyNyA1NTEgNDg0IDc1MSA0OTYgNDczIDQ5NiAzMzggMjQ0IDMzOCA2ODAgNDQzIDU2MiA0NDMgMTk5IDM0MCAzNDQKNjY5IDU1MSA1NzAgNDcxIDk1OCA1OTMgMzAwIDk1NCA0NDMgNTk5IDQ0MyA0NDMgMjAwIDIwMCAzNTQgMzU3IDMzNyA2NTYgNzgxCjQ3MiA2MjUgNTE2IDMwMCA5MDggNDQzIDQ5NiA2MDEgMjQ4IDI0NCA1NDcgNTgxIDcxMyA1MjUgMjQwIDYxMyA0MTggNzg2IDQ0Nwo0NjkgNTU0IDI3NiA3ODYgNDU4IDM3NCA1MzQgMzY3IDM2NyAzMTMgNTY2IDQ4OSAyNjEgMjQ4IDM2NyA0NTUgNDY5IDczMiA3NzYKNzc4IDQ3MyA2NTIgNjUyIDY1MiA2NTIgNjUyIDY1MiA5MzUgNjUxIDU2OCA1NjggNTY4IDU2OCAyNzIgMjcyIDI3MiAyNzIgNjcwCjcxMyA2ODggNjg4IDY4OCA2ODggNjg4IDUzMyA2ODggNjQ4IDY0OCA2NDggNjQ4IDYwMSA1OTEgNTk1IDU0NCA1NDQgNTQ0IDU0NAo1NDQgNTQ0IDg0NCA1MjMgNTMwIDUzMCA1MzAgNTMwIDI0NyAyNDcgMjQ3IDI0NyA1ODYgNTUyIDU3MCA1NzAgNTcwIDU3MCA1NzAKNTcxIDU2NiA1NTEgNTUxIDU1MSA1NTEgNDczIDU3NiA0NzMgXQplbmRvYmoKMzQgMCBvYmoKPDwgL3VuaTAwMDAwMDA1IDM1IDAgUiAvdW5pMDAwMDAwMmMgMzYgMCBSIC91bmkwMDAwMDAyZCAzNyAwIFIKL3VuaTAwMDAwMDQwIDM4IDAgUiAvdW5pMDAwMDAwNDIgMzkgMCBSIC91bmkwMDAwMDA0NiA0MCAwIFIKL3VuaTAwMDAwMDQ4IDQxIDAgUiAvdW5pMDAwMDAwNGEgNDIgMCBSIC91bmkwMDAwMDA0YiA0MyAwIFIKL3VuaTAwMDAwMDRjIDQ0IDAgUiAvdW5pMDAwMDAwNGQgNDUgMCBSIC91bmkwMDAwMDA1MyA0NiAwIFIKL3VuaTAwMDAwMDU0IDQ3IDAgUiAvdW5pMDAwMDAwNTcgNDggMCBSIC91bmkwMDAwMDA1OCA0OSAwIFIKL3VuaTAwMDAwMDU5IDUwIDAgUiAvdW5pMDAwMDAwNWUgNTEgMCBSIC91bmkwMDAwMDA1ZiA1MiAwIFIgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YzIDE1IDAgUiAvRjEgMjEgMCBSIC9GMiAzMyAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9UeXBlIC9FeHRHU3RhdGUgL0NBIDAgL2NhIDEgPj4KL0EyIDw8IC9UeXBlIC9FeHRHU3RhdGUgL0NBIDEgL2NhIDEgPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsgMTEgMCBSIF0gL0NvdW50IDEgPj4KZW5kb2JqCjUzIDAgb2JqCjw8IC9DcmVhdG9yIChNYXRwbG90bGliIHYzLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjguMikKL0NyZWF0aW9uRGF0ZSAoRDoyMDI0MDMwMTE1MzczNy0wNScwMCcpID4+CmVuZG9iagp4cmVmCjAgNTQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMTQ4OTYgMDAwMDAgbiAKMDAwMDAxNDY4MCAwMDAwMCBuIAowMDAwMDE0NzM0IDAwMDAwIG4gCjAwMDAwMTQ4MzMgMDAwMDAgbiAKMDAwMDAxNDg1NCAwMDAwMCBuIAowMDAwMDE0ODc1IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDM0MiAwMDAwMCBuIAowMDAwMDAxNDAwIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTM4MCAwMDAwMCBuIAowMDAwMDAyNzM4IDAwMDAwIG4gCjAwMDAwMDI1MjMgMDAwMDAgbiAKMDAwMDAwMjE4NiAwMDAwMCBuIAowMDAwMDAzNzkxIDAwMDAwIG4gCjAwMDAwMDE0MjAgMDAwMDAgbiAKMDAwMDAwMTg5NyAwMDAwMCBuIAowMDAwMDA2NzY5IDAwMDAwIG4gCjAwMDAwMDY1NjAgMDAwMDAgbiAKMDAwMDAwNjEzMiAwMDAwMCBuIAowMDAwMDA3ODA5IDAwMDAwIG4gCjAwMDAwMDM4MzMgMDAwMDAgbiAKMDAwMDAwNDAzMCAwMDAwMCBuIAowMDAwMDA0MzU3IDAwMDAwIG4gCjAwMDAwMDQ1MDEgMDAwMDAgbiAKMDAwMDAwNDc5NiAwMDAwMCBuIAowMDAwMDA0OTY2IDAwMDAwIG4gCjAwMDAwMDUyODYgMDAwMDAgbiAKMDAwMDAwNTY0OCAwMDAwMCBuIAowMDAwMDEzMjU4IDAwMDAwIG4gCjAwMDAwMTMwNDggMDAwMDAgbiAKMDAwMDAxMjQ2NiAwMDAwMCBuIAowMDAwMDE0Mjk4IDAwMDAwIG4gCjAwMDAwMDc5OTEgMDAwMDAgbiAKMDAwMDAwODA4MSAwMDAwMCBuIAowMDAwMDA4NDEyIDAwMDAwIG4gCjAwMDAwMDg1NjQgMDAwMDAgbiAKMDAwMDAwODcxMSAwMDAwMCBuIAowMDAwMDA4ODUwIDAwMDAwIG4gCjAwMDAwMDkyNDMgMDAwMDAgbiAKMDAwMDAwOTU4NCAwMDAwMCBuIAowMDAwMDA5OTEyIDAwMDAwIG4gCjAwMDAwMTAxMzggMDAwMDAgbiAKMDAwMDAxMDUwNSAwMDAwMCBuIAowMDAwMDEwNzIyIDAwMDAwIG4gCjAwMDAwMTA5NDEgMDAwMDAgbiAKMDAwMDAxMTI3MiAwMDAwMCBuIAowMDAwMDExNDU5IDAwMDAwIG4gCjAwMDAwMTE4OTAgMDAwMDAgbiAKMDAwMDAxMjExMCAwMDAwMCBuIAowMDAwMDEyMzE1IDAwMDAwIG4gCjAwMDAwMTQ5NTYgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSA1NCAvUm9vdCAxIDAgUiAvSW5mbyA1MyAwIFIgPj4Kc3RhcnR4cmVmCjE1MTEzCiUlRU9GCg==", "image/svg+xml": [ "\n", "\n", " \n", " \n", - " 2024-03-01T14:19:05.764549\n", + " 2024-03-01T15:37:37.139068\n", " image/svg+xml\n", " \n", " \n", @@ -104,12 +104,12 @@ " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -162,7 +162,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -202,7 +202,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -239,7 +239,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -285,7 +285,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -341,7 +341,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -700,12 +700,12 @@ " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -718,7 +718,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -758,7 +758,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -772,7 +772,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -786,7 +786,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -932,25 +932,25 @@ " \n", + "\" clip-path=\"url(#p31546723fe)\" style=\"fill: none; stroke: #016e82; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p31546723fe)\" style=\"fill: none; stroke: #333795; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p31546723fe)\" style=\"fill: none; stroke: #2e5eac; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p31546723fe)\" style=\"fill: none; stroke: #4498d3; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p31546723fe)\" style=\"fill: none; stroke: #cd85b9; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -987,7 +987,7 @@ "
" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } diff --git a/workflow-requirements.info b/workflow-requirements.info index c36e166..058df37 100644 --- a/workflow-requirements.info +++ b/workflow-requirements.info @@ -1,10 +1,7 @@ -cycler -cython>=0.29.20,<3.0.0 -matplotlib>=3.5 -numpy>=1.14.2 -qutip>=4.3.1 -scipy>=1.5 -dill -sympy -tqdm +h5py>=2.10 +pytest +ipywidgets +ipyvuetify +pathos>=0.3.0 +traitlets typing_extensions From b08d23c055301c55259b6b051ee09249547c3d9f Mon Sep 17 00:00:00 2001 From: saipavanc Date: Fri, 1 Mar 2024 17:04:58 -0600 Subject: [PATCH 2/2] Remove testing.ipynb --- examples/testing.ipynb | 1066 ---------------------------------------- 1 file changed, 1066 deletions(-) delete mode 100644 examples/testing.ipynb diff --git a/examples/testing.ipynb b/examples/testing.ipynb deleted file mode 100644 index ee61524..0000000 --- a/examples/testing.ipynb +++ /dev/null @@ -1,1066 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# scqubits: running the pytest suite\n", - "J. Koch and P. Groszkowski\n", - "\n", - "For further documentation of scqubits see https://scqubits.readthedocs.io/en/latest/.\n", - "\n", - "---\n", - "\n", - "
Note: The `pytest` package must be installed for this to work.
" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "================================================= test session starts =================================================\n", - "platform win32 -- Python 3.8.5, pytest-6.2.1, py-1.10.0, pluggy-0.13.1 -- C:\\Users\\drjen\\miniconda3\\python.exe\n", - "cachedir: .pytest_cache\n", - "rootdir: c:\\users\\drjen\\onedrive\\coding\\pycharmprojects\\scqubits\n", - "collecting ... collected 77 items\n", - "\n", - "..\\..\\scqubits\\scqubits\\tests\\test_explorer.py::test_explorer " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Bare spectra'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Dressed spectrum'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='data sweep'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='data sweep'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='data sweep'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='data sweep'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "70df487e724b43bfb7c5dbda947130a2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(FloatSlider(value=0.0, continuous_update=False, description='$\\\\Phi_{ext}/\\\\Phi_…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d04915448b1047ed8d8fecf1aebec43b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 1%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_file_io " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8954b43aa9e24378b5c67cf77722ca26", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ [GHz]'), FloatText(value=8.9, layout=Layout(width…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c58aff49131d450f844afca920b158a7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 2%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_hamiltonian_is_hermitean PASSED [ 3%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_eigenvals PASSED [ 5%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_eigenvecs PASSED [ 6%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_plot_wavefunction PASSED [ 7%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_plot_evals_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 9%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_get_spectrum_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=51.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 10%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_matrixelement_table PASSED [ 11%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_plot_matrixelements PASSED [ 12%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_print_matrixelements PASSED [ 14%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_plot_matelem_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 15%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxonium.py::TestFluxonium::test_plot_potential SKIPPED (This is expecte...) [ 16%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_file_io " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "977905b16a854ec8a64ce16ca1d149bd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ1 [GHz]'), FloatText(value=1.0, layout=Layout(widt…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "29d4b068f6a6484b99b0083f3a44d31e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 18%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_hamiltonian_is_hermitean PASSED [ 19%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_eigenvals PASSED [ 20%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_eigenvecs PASSED [ 22%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_plot_wavefunction PASSED [ 23%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_plot_evals_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 24%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_get_spectrum_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 25%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_matrixelement_table PASSED [ 27%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_plot_matrixelements PASSED [ 28%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_print_matrixelements PASSED [ 29%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_plot_matelem_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 31%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fluxqubit.py::TestFluxQubit::test_plot_potential PASSED [ 32%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fullzeropi.py::TestFullZeroPi::test_file_io " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5e636fae590249a8a492b493ab8be7ea", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ [GHz]'), FloatText(value=10.0, layout=Layout(widt…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "15a3e1abb4694dadb597286821673602", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "23e377f96602466c97b90e17fafc950d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ [GHz]'), FloatText(value=10.0, layout=Layout(widt…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "90692ce9783849f48307b34cedfe27ee", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 33%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fullzeropi.py::TestFullZeroPi::test_hamiltonian_is_hermitean PASSED [ 35%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_fullzeropi.py::TestFullZeroPi::test_eigenvals PASSED [ 36%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestHilbertSpace::test_HilbertSpace_init PASSED [ 37%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestHilbertSpace::test_HilbertSpace_hamiltonian_is_hermitean PASSED [ 38%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestHilbertSpace::test_HilbertSpace_diagonalize_hamiltonian PASSED [ 40%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestHilbertSpace::test_HilbertSpace_get_spectrum_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 41%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestHilbertSpace::test_HilbertSpace_eigenenergies PASSED [ 42%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestHilbertSpace::test_HilbertSpace_fileIO " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4a8bbf4b4fa64b94b7d359f7434e234e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ [GHz]'), FloatText(value=8.9, layout=Layout(width…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d335df7d71be429d8ad581902e581953", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "39685af519db4aefab7ffb90bed256e2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ [GHz]'), FloatText(value=10.0, layout=Layout(widt…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c81754d9f4a84d08863b5f41abe67cb4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 44%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestParameterSweep::test_ParameterSweep " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Bare spectra'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Dressed spectrum'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='difference spectrum'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 45%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_hilbertspace.py::TestParameterSweep::test_ParameterSweep_fileIO " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Bare spectra'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Dressed spectrum'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 46%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_noise.py::TestNoise::test_Transmon PASSED [ 48%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_noise.py::TestNoise::test_TunableTransmon PASSED [ 49%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_noise.py::TestNoise::test_Fluxonium PASSED [ 50%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_noise.py::TestNoise::test_FluxQubit PASSED [ 51%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_noise.py::TestNoise::test_ZeroPi PASSED [ 53%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_spectrumlookup.py::TestSpectrumLookup::test_hilbertspace_generate_lookup PASSED [ 54%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_spectrumlookup.py::TestSpectrumLookup::test_hilbertspace_lookup_bare_eigenenergies PASSED [ 55%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_spectrumlookup.py::TestSpectrumLookup::test_hilbertspace_lookup_bare_index PASSED [ 57%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_spectrumlookup.py::TestSpectrumLookup::test_hilbertspace_lookup_dressed_index PASSED [ 58%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_spectrumlookup.py::TestSpectrumLookup::test_hilbertspace_lookup_bare_eigenstates PASSED [ 59%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_spectrumlookup.py::TestParameterSweep::test_sweep_bare_eigenenergies " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Bare spectra'), FloatProgress(value=0.0, max=300.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Dressed spectrum'), FloatProgress(value=0.0, max=300.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 61%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_spectrumlookup.py::TestParameterSweep::test_sweep_bare_eigenstates " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Bare spectra'), FloatProgress(value=0.0, max=300.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Dressed spectrum'), FloatProgress(value=0.0, max=300.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 62%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_file_io " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e88660f62db3426b9b72243b0af5860f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ [GHz]'), FloatText(value=15.0, layout=Layout(widt…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "468545342a9b491f8186b301ba33f4bf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 63%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_hamiltonian_is_hermitean PASSED [ 64%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_eigenvals PASSED [ 66%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_eigenvecs PASSED [ 67%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_plot_wavefunction PASSED [ 68%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_plot_evals_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 70%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_get_spectrum_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=50.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 71%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_matrixelement_table PASSED [ 72%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_plot_matrixelements PASSED [ 74%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_print_matrixelements PASSED [ 75%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_plot_matelem_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value=''), FloatProgress(value=0.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 76%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_plot_potential SKIPPED (This is expected,...) [ 77%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_transmon.py::TestTransmon::test_plot_n_wavefunction PASSED [ 79%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_units.py::TestUnits::test_get_units PASSED [ 80%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_units.py::TestUnits::test_set_units PASSED [ 81%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_units.py::TestUnits::test_units_warning PASSED [ 83%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_units.py::TestUnits::test_units_auxiliary PASSED [ 84%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_file_io " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7f93f46e9ec54c44805444f74bfd8c50", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(VBox(children=(HBox(children=(Label(value='EJ [kHz]'), FloatText(value=10.0, layout=Layout(widt…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3202899145ad46c98a3e3d6f659c52a0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 85%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_hamiltonian_is_hermitean PASSED [ 87%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_eigenvals PASSED [ 88%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_eigenvecs PASSED [ 89%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_plot_wavefunction PASSED [ 90%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_plot_evals_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=15.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 92%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_get_spectrum_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=3.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 93%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_matrixelement_table PASSED [ 94%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_plot_matrixelements PASSED [ 96%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_print_matrixelements PASSED [ 97%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_plot_matelem_vs_paramvals " - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value='Spectral data'), FloatProgress(value=0.0, max=15.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=15.0), HTML(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PASSED [ 98%]\n", - "..\\..\\scqubits\\scqubits\\tests\\test_zeropi.py::TestZeroPi::test_plot_potential PASSED [100%]\n", - "\n", - "================================================== warnings summary ===================================================\n", - "..\\..\\..\\..\\..\\miniconda3\\lib\\site-packages\\pyreadline\\py3k_compat.py:8\n", - " DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working\n", - " C:\\Users\\drjen\\miniconda3\\lib\\site-packages\\pyreadline\\py3k_compat.py: 8\n", - "\n", - "scqubits/tests/test_units.py::TestUnits::test_set_units\n", - "scqubits/tests/test_units.py::TestUnits::test_units_warning\n", - "scqubits/tests/test_units.py::TestUnits::test_units_warning\n", - " UserWarning: Changing units (by calling set_units()) after initializing qubit instances is likely to cause unintended inconsistencies.\n", - " c:\\users\\drjen\\onedrive\\coding\\pycharmprojects\\scqubits\\scqubits\\core\\units.py: 46\n", - "\n", - "-- Docs: https://docs.pytest.org/en/stable/warnings.html\n", - "=============================== 75 passed, 2 skipped, 4 warnings in 3048.60s (0:50:48) ================================\n" - ] - } - ], - "source": [ - "%matplotlib inline\n", - "%config InlineBackend.figure_format = 'svg'\n", - "\n", - "import scqubits.testing as tst\n", - "tst.run()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.5" - }, - "toc": { - "base_numbering": 1, - "nav_menu": {}, - "number_sections": false, - "sideBar": true, - "skip_h1_title": true, - "title_cell": "Table of Contents", - "title_sidebar": "Contents", - "toc_cell": false, - "toc_position": {}, - "toc_section_display": true, - "toc_window_display": true - }, - "varInspector": { - "cols": { - "lenName": 16, - "lenType": 16, - "lenVar": 40 - }, - "kernels_config": { - "python": { - "delete_cmd_postfix": "", - "delete_cmd_prefix": "del ", - "library": "var_list.py", - "varRefreshCmd": "print(var_dic_list())" - }, - "r": { - "delete_cmd_postfix": ") ", - "delete_cmd_prefix": "rm(", - "library": "var_list.r", - "varRefreshCmd": "cat(var_dic_list()) " - } - }, - "types_to_exclude": [ - "module", - "function", - "builtin_function_or_method", - "instance", - "_Feature" - ], - "window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}