{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Example on how to Export\n", "## from a Local SQLite database to an shared SQLite database or netcdf/CSV file" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import os\n", "from qdatalib.tolib import Qdatalib\n", "from qcodes.tests.instrument_mocks import DummyInstrument, DummyInstrumentWithMeasurement\n", "from qcodes import load_or_create_experiment, initialise_or_create_database_at\n", "from qcodes.utils.dataset.doNd import do1d, do2d" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Instantiate Qdatalib\n", "To use Qdatalib you need an instance. If you have not setup Qdatalib yet see the example: setting_up_qdatalib" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "qdatalib = Qdatalib()\n", "local_path_db = qdatalib.db_local" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### To illustrate we run a dummy experiment" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Upgrading database; v0 -> v1: : 0it [00:00, ?it/s]\n", "Upgrading database; v1 -> v2: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 500.99it/s]\n", "Upgrading database; v2 -> v3: : 0it [00:00, ?it/s]\n", "Upgrading database; v3 -> v4: : 0it [00:00, ?it/s]\n", "Upgrading database; v4 -> v5: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.15it/s]\n", "Upgrading database; v5 -> v6: : 0it [00:00, ?it/s]\n", "Upgrading database; v6 -> v7: 100%|██████████████████████████████████████████████████████| 1/1 [00:00<00:00, 90.95it/s]\n", "Upgrading database; v7 -> v8: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.11it/s]\n", "Upgrading database; v8 -> v9: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.05it/s]\n" ] } ], "source": [ "initialise_or_create_database_at(local_path_db)\n", "exp = load_or_create_experiment(experiment_name='qdatalib',\n", " sample_name=\"no sample\")\n", "dac = DummyInstrument('dac', gates=['ch1', 'ch2'])\n", "dmm = DummyInstrumentWithMeasurement('dmm', setter_instr=dac)\n", "\n", "data = do1d(dac.ch1, 0, 10, 10, 0.01, dmm.v1, dmm.v2, do_plot=False)\n", "run_id = data[0].run_id" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Extract to Shared SQLite file\n", "Passing\n", "- run_id = data[0].run_id\n", "- scientist = 'John doe'\n", "- tag = 'double dot',\n", "- note = 'This happened',\n", "- dict_exstra = {'my_field': 'Group A', 'my_Score': 10000}" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Upgrading database; v0 -> v1: : 0it [00:00, ?it/s]\n", "Upgrading database; v1 -> v2: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.13it/s]\n", "Upgrading database; v2 -> v3: : 0it [00:00, ?it/s]\n", "Upgrading database; v3 -> v4: : 0it [00:00, ?it/s]\n", "Upgrading database; v4 -> v5: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.11it/s]\n", "Upgrading database; v5 -> v6: : 0it [00:00, ?it/s]\n", "Upgrading database; v6 -> v7: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 178.75it/s]\n", "Upgrading database; v7 -> v8: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.29it/s]\n", "Upgrading database; v8 -> v9: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 333.99it/s]\n" ] } ], "source": [ "scientist = 'John doe'\n", "tag = 'double dot',\n", "note = 'This happened',\n", "dict_exstra = {'my_field': 'Group NB', 'my_Score': 2, 'Presented':'group meeting June 24, 2021'}\n", "\n", "\n", "qdatalib.extract_run_into_db_and_catalog_by_id(run_id=run_id,\n", " scientist=scientist,\n", " tag=tag,\n", " note=note,\n", " dict_exstra = dict_exstra)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Extract to Shared netcdf file" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "qdatalib.extract_run_into_nc_and_catalog(run_id=run_id,scientist=scientist,\n", " tag=tag, note=note,\n", " dict_exstra = dict_exstra)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now setup and run another experiment, exporting to the same mongodb database " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Upgrading database; v0 -> v1: : 0it [00:00, ?it/s]\n", "Upgrading database; v1 -> v2: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 501.35it/s]\n", "Upgrading database; v2 -> v3: : 0it [00:00, ?it/s]\n", "Upgrading database; v3 -> v4: : 0it [00:00, ?it/s]\n", "Upgrading database; v4 -> v5: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.02it/s]\n", "Upgrading database; v5 -> v6: : 0it [00:00, ?it/s]\n", "Upgrading database; v6 -> v7: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 195.98it/s]\n", "Upgrading database; v7 -> v8: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.05it/s]\n", "Upgrading database; v8 -> v9: 100%|█████████████████████████████████████████████████████| 1/1 [00:00<00:00, 334.29it/s]\n", "Starting experimental run with id: 1. \n" ] } ], "source": [ "db_local = os.path.join(qdatalib.lib_dir, 'qdatalib_localB.db')\n", "db_shared = os.path.join(qdatalib.lib_dir, 'sharedB.db')\n", "qdatalib.set_db_local(db_local)\n", "\n", "initialise_or_create_database_at(db_local)\n", "exp = load_or_create_experiment(experiment_name='qdatalibB',\n", " sample_name=\"no sampleB\")\n", "\n", "\n", "data = do1d(dac.ch1, 0, 10, 10, 0.01, dmm.v1, dmm.v2, do_plot=False)\n", "run_id = data[0].run_id\n", "\n", "scientist = 'Jane doe'\n", "tag = 'sigle dot',\n", "note = 'This happened again',\n", "dict_exstra = {'my_field': 'Group C', 'my_Score': 10, 'Presented':'group meeting July 24, 2021'}\n", "\n", "\n", "qdatalib.extract_run_into_db_and_catalog_by_id(run_id=run_id,\n", " scientist=scientist,\n", " tag=tag,\n", " note=note,\n", " dict_exstra = dict_exstra)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finaly we can also export to csv" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "qdatalib.extract_run_into_csv_and_catalog(run_id=run_id,\n", " scientist=scientist,\n", " tag=tag,\n", " note=note,\n", " dict_exstra = dict_exstra)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Slideshow", "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.7.7" } }, "nbformat": 4, "nbformat_minor": 4 }