Skip to content

Commit bf6d53a

Browse files
committed
add examples
1 parent ede7a5e commit bf6d53a

3 files changed

Lines changed: 557 additions & 253 deletions

File tree

docs/example_notebooks/export_to_sqlite_netcdf.ipynb

Lines changed: 111 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"source": [
1111
"# Example on how to Export\n",
12-
"## from a Local SQLite database to an shared SQLite database or netcdf file"
12+
"## from a Local SQLite database to an shared SQLite database or netcdf/CSV file"
1313
]
1414
},
1515
{
@@ -22,161 +22,76 @@
2222
},
2323
"outputs": [],
2424
"source": [
25-
"import pymongo\n",
26-
"import tempfile\n",
2725
"import os\n",
28-
"import time\n",
29-
"import pandas as pd\n",
3026
"from qdatalib.tolib import Qdatalib\n",
3127
"from qcodes.tests.instrument_mocks import DummyInstrument, DummyInstrumentWithMeasurement\n",
3228
"from qcodes import load_or_create_experiment, initialise_or_create_database_at\n",
33-
"from qcodes.utils.dataset.doNd import do1d, do2d\n",
34-
"from qcodes.dataset.plotting import plot_dataset"
35-
]
36-
},
37-
{
38-
"cell_type": "code",
39-
"execution_count": 2,
40-
"metadata": {
41-
"slideshow": {
42-
"slide_type": "skip"
43-
}
44-
},
45-
"outputs": [
46-
{
47-
"name": "stdout",
48-
"output_type": "stream",
49-
"text": [
50-
"[WinError 183] Cannot create a file when that file already exists: 'C:\\\\Users\\\\rbcma\\\\AppData\\\\Local\\\\Temp\\\\qdatalib'\n"
51-
]
52-
}
53-
],
54-
"source": [
55-
"# Can be ignored, Setting up temporary files and folder to be used in the example\n",
56-
"TEMP_PATH = tempfile.gettempdir()\n",
57-
"my_path = os.path.join(TEMP_PATH,'qdatalib')\n",
58-
"try:\n",
59-
" os.mkdir(my_path)\n",
60-
"except Exception as e:\n",
61-
" print(e)\n",
62-
" \n",
63-
"\n",
64-
"\n"
29+
"from qcodes.utils.dataset.doNd import do1d, do2d"
6530
]
6631
},
6732
{
6833
"cell_type": "markdown",
69-
"metadata": {
70-
"slideshow": {
71-
"slide_type": "slide"
72-
}
73-
},
34+
"metadata": {},
7435
"source": [
75-
"## To use QDataLib we first need a conextion to a MongoDB database"
36+
"### Instantiate Qdatalib\n",
37+
"To use Qdatalib you need an instance. If you have not setup Qdatalib yet see the example: setting_up_qdatalib"
7638
]
7739
},
7840
{
7941
"cell_type": "code",
80-
"execution_count": 3,
42+
"execution_count": 2,
8143
"metadata": {
8244
"slideshow": {
8345
"slide_type": "-"
8446
}
8547
},
8648
"outputs": [],
8749
"source": [
88-
"client = pymongo.MongoClient(\"mongodb+srv://rbch:test4RBCH@test.2smqf.mongodb.net/testdb?retryWrites=true&w=majority\")\n",
89-
"db = client['testdb']\n",
90-
"collection = db[\"testcol\"]"
50+
"qdatalib = Qdatalib()\n",
51+
"local_path_db = qdatalib.db_local"
9152
]
9253
},
9354
{
9455
"cell_type": "markdown",
95-
"metadata": {
96-
"slideshow": {
97-
"slide_type": "slide"
98-
}
99-
},
100-
"source": [
101-
"## Then we need a and instace of the class Qdatalib\n",
102-
"\n",
103-
"### Passing\n",
104-
"- collection: The collection used to keep track of your data files\n",
105-
"- db_local: The SQLite database to export from\n",
106-
"- db_shared: The SQLite database to export to\n",
107-
"- shared_dir: The Directory where other dataformats should be stored \n"
108-
]
109-
},
110-
{
111-
"cell_type": "code",
112-
"execution_count": 4,
113-
"metadata": {
114-
"slideshow": {
115-
"slide_type": "-"
116-
}
117-
},
118-
"outputs": [],
56+
"metadata": {},
11957
"source": [
120-
"shared_dir = \"C:\\\\Users\\\\rbcma\\\\Spin Qubit Dropbox\\\\qdatalib QDev\\\\Test\"\n",
121-
"shared_path_db = os.path.join(shared_dir,'shared.db')\n",
122-
"local_path_db = os.path.join(my_path, 'qdatalib_tutorial.db')\n",
123-
"\n",
124-
"qdatalib = Qdatalib(collection,\n",
125-
" local_path_db,\n",
126-
" shared_path_db,\n",
127-
" shared_dir)"
58+
"#### To illustrate we run a dummy experiment"
12859
]
12960
},
13061
{
13162
"cell_type": "code",
132-
"execution_count": 5,
133-
"metadata": {
134-
"slideshow": {
135-
"slide_type": "slide"
136-
}
137-
},
138-
"outputs": [],
139-
"source": [
140-
"#Setting up a Dummy experiment\n",
141-
"\n",
142-
"initialise_or_create_database_at(local_path_db)\n",
143-
"exp = load_or_create_experiment(experiment_name='qdatalib',\n",
144-
" sample_name=\"no sample\")\n",
145-
"dac = DummyInstrument('dac', gates=['ch1', 'ch2'])\n",
146-
"dmm = DummyInstrumentWithMeasurement('dmm', setter_instr=dac)"
147-
]
148-
},
149-
{
150-
"cell_type": "markdown",
63+
"execution_count": 3,
15164
"metadata": {
15265
"slideshow": {
15366
"slide_type": "slide"
15467
}
15568
},
156-
"source": [
157-
"#### To illustrate we run a dummy experiment\n"
158-
]
159-
},
160-
{
161-
"cell_type": "code",
162-
"execution_count": 6,
163-
"metadata": {
164-
"slideshow": {
165-
"slide_type": "-"
166-
}
167-
},
16869
"outputs": [
16970
{
17071
"name": "stdout",
17172
"output_type": "stream",
17273
"text": [
173-
"Starting experimental run with id: 13. \n"
74+
"Upgrading database; v0 -> v1: : 0it [00:00, ?it/s]\n",
75+
"Upgrading database; v1 -> v2: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 500.99it/s]\n",
76+
"Upgrading database; v2 -> v3: : 0it [00:00, ?it/s]\n",
77+
"Upgrading database; v3 -> v4: : 0it [00:00, ?it/s]\n",
78+
"Upgrading database; v4 -> v5: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.15it/s]\n",
79+
"Upgrading database; v5 -> v6: : 0it [00:00, ?it/s]\n",
80+
"Upgrading database; v6 -> v7: 100%|██████████████████████████████████████████████████████| 1/1 [00:00<00:00, 90.95it/s]\n",
81+
"Upgrading database; v7 -> v8: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.11it/s]\n",
82+
"Upgrading database; v8 -> v9: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.05it/s]\n"
17483
]
17584
}
17685
],
17786
"source": [
87+
"initialise_or_create_database_at(local_path_db)\n",
88+
"exp = load_or_create_experiment(experiment_name='qdatalib',\n",
89+
" sample_name=\"no sample\")\n",
90+
"dac = DummyInstrument('dac', gates=['ch1', 'ch2'])\n",
91+
"dmm = DummyInstrumentWithMeasurement('dmm', setter_instr=dac)\n",
92+
"\n",
17893
"data = do1d(dac.ch1, 0, 10, 10, 0.01, dmm.v1, dmm.v2, do_plot=False)\n",
179-
"run_id = data[0].run_id\n"
94+
"run_id = data[0].run_id"
18095
]
18196
},
18297
{
@@ -198,7 +113,7 @@
198113
},
199114
{
200115
"cell_type": "code",
201-
"execution_count": 7,
116+
"execution_count": 5,
202117
"metadata": {
203118
"slideshow": {
204119
"slide_type": "-"
@@ -210,29 +125,29 @@
210125
"output_type": "stream",
211126
"text": [
212127
"Upgrading database; v0 -> v1: : 0it [00:00, ?it/s]\n",
213-
"Upgrading database; v1 -> v2: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 251.10it/s]\n",
128+
"Upgrading database; v1 -> v2: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.13it/s]\n",
214129
"Upgrading database; v2 -> v3: : 0it [00:00, ?it/s]\n",
215130
"Upgrading database; v3 -> v4: : 0it [00:00, ?it/s]\n",
216-
"Upgrading database; v4 -> v5: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 200.44it/s]\n",
131+
"Upgrading database; v4 -> v5: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.11it/s]\n",
217132
"Upgrading database; v5 -> v6: : 0it [00:00, ?it/s]\n",
218-
"Upgrading database; v6 -> v7: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 143.24it/s]\n",
219-
"Upgrading database; v7 -> v8: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 250.56it/s]\n",
220-
"Upgrading database; v8 -> v9: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 200.59it/s]\n"
133+
"Upgrading database; v6 -> v7: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 178.75it/s]\n",
134+
"Upgrading database; v7 -> v8: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.29it/s]\n",
135+
"Upgrading database; v8 -> v9: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 333.99it/s]\n"
221136
]
222137
}
223138
],
224139
"source": [
225140
"scientist = 'John doe'\n",
226141
"tag = 'double dot',\n",
227142
"note = 'This happened',\n",
228-
"dict_exstra = {'my_field': 'Group K', 'my_Score': 2, 'Presented':'group meeting June 24, 2021'}\n",
143+
"dict_exstra = {'my_field': 'Group NB', 'my_Score': 2, 'Presented':'group meeting June 24, 2021'}\n",
229144
"\n",
230145
"\n",
231146
"qdatalib.extract_run_into_db_and_catalog_by_id(run_id=run_id,\n",
232147
" scientist=scientist,\n",
233148
" tag=tag,\n",
234149
" note=note,\n",
235-
" dict_exstra = {'my_field': 'Group DD', 'my_Score': 2, 'Presented':'group meeting June 24, 2021'})"
150+
" dict_exstra = dict_exstra)"
236151
]
237152
},
238153
{
@@ -248,7 +163,7 @@
248163
},
249164
{
250165
"cell_type": "code",
251-
"execution_count": 8,
166+
"execution_count": 6,
252167
"metadata": {
253168
"slideshow": {
254169
"slide_type": "-"
@@ -261,6 +176,81 @@
261176
" dict_exstra = dict_exstra)"
262177
]
263178
},
179+
{
180+
"cell_type": "markdown",
181+
"metadata": {},
182+
"source": [
183+
"We can now setup and run another experiment, exporting to the same mongodb database "
184+
]
185+
},
186+
{
187+
"cell_type": "code",
188+
"execution_count": 7,
189+
"metadata": {},
190+
"outputs": [
191+
{
192+
"name": "stdout",
193+
"output_type": "stream",
194+
"text": [
195+
"Upgrading database; v0 -> v1: : 0it [00:00, ?it/s]\n",
196+
"Upgrading database; v1 -> v2: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.35it/s]\n",
197+
"Upgrading database; v2 -> v3: : 0it [00:00, ?it/s]\n",
198+
"Upgrading database; v3 -> v4: : 0it [00:00, ?it/s]\n",
199+
"Upgrading database; v4 -> v5: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.02it/s]\n",
200+
"Upgrading database; v5 -> v6: : 0it [00:00, ?it/s]\n",
201+
"Upgrading database; v6 -> v7: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 195.98it/s]\n",
202+
"Upgrading database; v7 -> v8: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.05it/s]\n",
203+
"Upgrading database; v8 -> v9: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.29it/s]\n",
204+
"Starting experimental run with id: 1. \n"
205+
]
206+
}
207+
],
208+
"source": [
209+
"db_local = os.path.join(qdatalib.lib_dir, 'qdatalib_localB.db')\n",
210+
"db_shared = os.path.join(qdatalib.lib_dir, 'sharedB.db')\n",
211+
"qdatalib.set_db_local(db_local)\n",
212+
"\n",
213+
"initialise_or_create_database_at(db_local)\n",
214+
"exp = load_or_create_experiment(experiment_name='qdatalibB',\n",
215+
" sample_name=\"no sampleB\")\n",
216+
"\n",
217+
"\n",
218+
"data = do1d(dac.ch1, 0, 10, 10, 0.01, dmm.v1, dmm.v2, do_plot=False)\n",
219+
"run_id = data[0].run_id\n",
220+
"\n",
221+
"scientist = 'Jane doe'\n",
222+
"tag = 'sigle dot',\n",
223+
"note = 'This happened again',\n",
224+
"dict_exstra = {'my_field': 'Group C', 'my_Score': 10, 'Presented':'group meeting July 24, 2021'}\n",
225+
"\n",
226+
"\n",
227+
"qdatalib.extract_run_into_db_and_catalog_by_id(run_id=run_id,\n",
228+
" scientist=scientist,\n",
229+
" tag=tag,\n",
230+
" note=note,\n",
231+
" dict_exstra = dict_exstra)"
232+
]
233+
},
234+
{
235+
"cell_type": "markdown",
236+
"metadata": {},
237+
"source": [
238+
"Finaly we can also export to csv"
239+
]
240+
},
241+
{
242+
"cell_type": "code",
243+
"execution_count": 8,
244+
"metadata": {},
245+
"outputs": [],
246+
"source": [
247+
"qdatalib.extract_run_into_csv_and_catalog(run_id=run_id,\n",
248+
" scientist=scientist,\n",
249+
" tag=tag,\n",
250+
" note=note,\n",
251+
" dict_exstra = dict_exstra)"
252+
]
253+
},
264254
{
265255
"cell_type": "code",
266256
"execution_count": null,

0 commit comments

Comments
 (0)