Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version RunDescriber, and 5->6 DB upgrade, also reorg run descriptions module structure #1577

Merged
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
d08578a
Make RunDescriber always newest
WilliamHPNielsen May 13, 2019
02e1170
Use the versioning for serialization
WilliamHPNielsen May 13, 2019
cfe885c
Include version number in serialized output
WilliamHPNielsen May 14, 2019
3fc94e9
Add missing newlines
WilliamHPNielsen May 14, 2019
530aae3
Add upgrade function for version 5 -> 6
WilliamHPNielsen May 14, 2019
b7ff0c4
Add comments about versions
WilliamHPNielsen May 14, 2019
edebe0e
Make CI produce version 5 fixtures
WilliamHPNielsen May 14, 2019
190cada
Bump version number in test
WilliamHPNielsen May 15, 2019
91746e0
Make RunDescriber read unversioned JSON too
WilliamHPNielsen May 15, 2019
a56786c
Update a fix function from using now-obsolete attr
WilliamHPNielsen May 15, 2019
eb2e651
Remove missing imports
WilliamHPNielsen May 15, 2019
3cea76b
Fix broken call signature of to_yaml
WilliamHPNielsen May 16, 2019
8bf5e45
Substitute accidentally added import from sqlite_base with proper one
astafan8 May 27, 2019
559f37e
Add basic folder structure
WilliamHPNielsen May 21, 2019
673bbaa
Move files into new folder structure
WilliamHPNielsen May 21, 2019
6ed098d
Split out old version and converters
WilliamHPNielsen May 21, 2019
ea8f5d6
Restructure serialization of RunDescriber
WilliamHPNielsen May 23, 2019
61d0bec
Remove two unused imports
WilliamHPNielsen May 24, 2019
e3f3a60
Merge branch 'master' into dev/reorg_runs_descriptions
astafan8 May 27, 2019
84d27de
Remove unused new import
astafan8 May 27, 2019
31306c6
Get rid of accidental import from sqlite_base
astafan8 May 27, 2019
e21e306
Remove unused imports, and use public imports from qcodes module
astafan8 May 28, 2019
8b23fbc
Use public imports from qcodes module
astafan8 May 28, 2019
7e853f0
Make a sphinx reference to versioning module
astafan8 May 28, 2019
dedbeff
Fix reference to sqlite module in docstring
astafan8 May 28, 2019
55367f1
Minor whitespace formatting fixes
astafan8 May 28, 2019
1e572b6
Add more description to module docstring, and function docstrings
astafan8 May 28, 2019
3429d57
Use public imports from qcodes in example notebooks
astafan8 May 28, 2019
cb317c2
Use public imports from qcodes, make explicit cells for them
astafan8 May 28, 2019
855751c
Use load_by_id from qcodes, not from plotting
astafan8 May 28, 2019
d6df091
Add RunDescriber version log to converters.py
astafan8 May 28, 2019
1abce13
Add clarity to test's name and docstring
astafan8 May 28, 2019
aaf7051
Make RunDescriber.serialize private (in all versions)
astafan8 Jun 2, 2019
c57deb4
Make RunDescriber.deserialize private (in all versions)
astafan8 Jun 3, 2019
e3ffa59
Note usage of RunDescriber _de/_serialize methods in their docstrings
astafan8 Jun 3, 2019
ea42f23
Make serialize of Interdependencies_ private
astafan8 Jun 3, 2019
2774597
Make deserialize of Interdependencies_ private
astafan8 Jun 3, 2019
ef3e6ed
Make serialize of Interdependencies private
astafan8 Jun 3, 2019
4135f5b
Make deserialize of Interdependencies private
astafan8 Jun 3, 2019
d928df2
Make serialize of ParamSpec and ParamSpecBase private
astafan8 Jun 3, 2019
3500858
Make deserialize of ParamSpec and ParamSpecBase private
astafan8 Jun 3, 2019
eae20ba
Rename RunDescriber._serialize to _to_dict (all versions)
astafan8 Jun 3, 2019
c5a5344
Rename RunDescriber._deserialize to _from_dict (all versions)
astafan8 Jun 3, 2019
3b48cf2
Rename InterDependencies_ _serialize to _to_dict
astafan8 Jun 3, 2019
ec9f4d8
Rename InterDependencies_ _deserialize to _from_dict
astafan8 Jun 3, 2019
cea1799
Rename InterDependencies _serialize to _to_dict
astafan8 Jun 3, 2019
48c65a0
Rename InterDependencies _deserialize to _from_dict
astafan8 Jun 3, 2019
022faec
Rename ParamSpecBase/ParamSpec _serialize to _to_dict
astafan8 Jun 3, 2019
79e51c8
Rename ParamSpecBase/ParamSpec _deserialize to _from_dict
astafan8 Jun 3, 2019
bbd0fc9
Merge branch 'master' into dev/reorg_runs_descriptions
astafan8 Jun 3, 2019
c7df9a7
Remove serialize from names of tests in favor of to_dict
astafan8 Jun 3, 2019
952dd77
Remove serialize/deserialize from docstrings, favor dict conversion
astafan8 Jun 3, 2019
7a6c071
Rename test_descriptions.py tests for clarity
astafan8 Jun 3, 2019
3d9be27
Add _update_run_description that doesnt validate description string
astafan8 Jun 3, 2019
22e0bfc
Do not write version field in database fix for version 4a
astafan8 Jun 3, 2019
7938a55
Test run_description structure for fix_version_4a_run_description_bug
astafan8 Jun 3, 2019
cc8465b
Factor out run description fix from fix_version_4a_run_description_bug
astafan8 Jun 3, 2019
acfb5d5
Rename functions of serialization.py to be meaningful and consistent
astafan8 Jun 3, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ script:
python generate_version_3.py
python generate_version_4a.py
python generate_version_4.py
python generate_version_5.py
cd $TRAVIS_BUILD_DIR
pip uninstall -y qcodes
pip install .
Expand Down
1 change: 1 addition & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ jobs:
python generate_version_3.py
python generate_version_4a.py
python generate_version_4.py
python generate_version_5.py
displayName: "Generate db fixtures"
condition: succeededOrFailed()
- script: |
Expand Down
3 changes: 1 addition & 2 deletions docs/examples/DataSet/Benchmarking.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
"%matplotlib notebook\n",
"import matplotlib.pyplot as plt\n",
"import qcodes as qc\n",
"from qcodes import ParamSpec, new_data_set, new_experiment\n",
"from qcodes.dataset.database import initialise_database\n",
"from qcodes import ParamSpec, new_data_set, new_experiment, initialise_database\n",
"import numpy as np"
]
},
Expand Down
14 changes: 2 additions & 12 deletions docs/examples/DataSet/Dataset Context Manager.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,18 @@
],
"source": [
"%matplotlib notebook\n",
"from collections import OrderedDict\n",
"from typing import Dict, Callable\n",
"from inspect import signature\n",
"import numpy.random as rd\n",
"import matplotlib.pyplot as plt\n",
"import json\n",
"from functools import partial\n",
"import numpy as np\n",
"\n",
"from time import sleep, monotonic\n",
"\n",
"import qcodes as qc\n",
"from qcodes import Station\n",
"from qcodes.dataset.experiment_container import (Experiment,\n",
" load_last_experiment,\n",
" load_or_create_experiment)\n",
"from qcodes.dataset.database import initialise_database\n",
"from qcodes import Station, load_or_create_experiment, \\\n",
" initialise_database, Measurement\n",
"from qcodes.tests.instrument_mocks import DummyInstrument\n",
"from qcodes.dataset.param_spec import ParamSpec\n",
"from qcodes.dataset.measurements import Measurement\n",
"from qcodes.dataset.plotting import plot_by_id\n",
"from qcodes.dataset.data_export import get_shaped_data_by_runid\n",
"\n",
"qc.logger.start_all_logging()"
]
Expand Down
5 changes: 2 additions & 3 deletions docs/examples/DataSet/Offline Plotting Tutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,8 @@
"from typing import List, Dict, Tuple, Any\n",
"import matplotlib.pyplot as plt\n",
"import qcodes as qc\n",
"from qcodes import Parameter, new_experiment, Measurement\n",
"from qcodes.dataset.plotting import plot_by_id\n",
"from qcodes.dataset.database import initialise_database"
"from qcodes import Parameter, new_experiment, Measurement, initialise_database\n",
"from qcodes.dataset.plotting import plot_by_id"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,8 @@
"%matplotlib notebook\n",
"import numpy as np\n",
"\n",
"from qcodes import Parameter\n",
"from qcodes.dataset.plotting import plot_by_id, get_data_by_id\n",
"from qcodes.dataset.measurements import Measurement\n",
"from qcodes.dataset.database import initialise_database\n",
"from qcodes.dataset.experiment_container import new_experiment"
"from qcodes import Parameter, Measurement, initialise_database, new_experiment\n",
"from qcodes.dataset.plotting import plot_by_id"
]
},
{
Expand Down
10 changes: 4 additions & 6 deletions docs/examples/DataSet/Paramtypes explained.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,15 @@
"outputs": [],
"source": [
"import os\n",
"import time\n",
"\n",
"import numpy as np\n",
"\n",
"from qcodes import initialise_or_create_database_at, \\\n",
" new_experiment, Measurement, load_by_id\n",
"from qcodes.instrument.parameter import ArrayParameter, Parameter\n",
"from qcodes.dataset.database import initialise_or_create_database_at\n",
"from qcodes.dataset.experiment_container import new_experiment\n",
"from qcodes.dataset.measurements import Measurement\n",
"from qcodes.dataset.data_set import load_by_id\n",
"from qcodes.dataset.data_export import get_data_by_id\n",
"from qcodes.tests.instrument_mocks import DummyInstrument\n",
"import time"
"from qcodes.tests.instrument_mocks import DummyInstrument"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,12 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from qcodes.dataset.database import initialise_database\n",
"from qcodes.dataset.data_set import new_data_set, ParamSpec\n",
"from qcodes.dataset.experiment_container import new_experiment\n",
"import logging\n",
"import warnings\n",
"from qcodes import initialise_database, new_experiment, \\\n",
" new_data_set, ParamSpec\n",
"import numpy as np\n",
"from time import sleep"
]
Expand Down
151 changes: 60 additions & 91 deletions docs/examples/DataSet/The-Experiment-Container.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"outputs": [],
"source": [
"import qcodes as qc\n",
"from qcodes.dataset.database import initialise_database"
"from qcodes import initialise_database"
]
},
{
Expand Down Expand Up @@ -94,74 +94,7 @@
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"CREATE TABLE IF NOT EXISTS experiments (\n",
" -- this will autoncrement by default if\n",
" -- no value is specified on insert\n",
" exp_id INTEGER PRIMARY KEY,\n",
" name TEXT,\n",
" sample_name TEXT,\n",
" start_time INTEGER,\n",
" end_time INTEGER,\n",
" -- this is the last counter registered\n",
" -- 1 based\n",
" run_counter INTEGER,\n",
" -- this is the formatter strin used to cosntruct\n",
" -- the run name\n",
" format_string TEXT\n",
"-- TODO: maybe I had a good reason for this doulbe primary key\n",
"-- PRIMARY KEY (exp_id, start_time, sample_name)\n",
");\n",
"\n",
"CREATE TABLE IF NOT EXISTS runs (\n",
" -- this will autoincrement by default if\n",
" -- no value is specified on insert\n",
" run_id INTEGER PRIMARY KEY,\n",
" exp_id INTEGER,\n",
" -- friendly name for the run\n",
" name TEXT,\n",
" -- the name of the table which stores\n",
" -- the actual results\n",
" result_table_name TEXT,\n",
" -- this is the run counter in its experiment 0 based\n",
" result_counter INTEGER,\n",
" ---\n",
" run_timestamp INTEGER,\n",
" completed_timestamp INTEGER,\n",
" is_completed BOOL,\n",
" parameters TEXT,\n",
" -- metadata fields are added dynamically\n",
" FOREIGN KEY(exp_id)\n",
" REFERENCES\n",
" experiments(exp_id)\n",
");\n",
"\n",
"CREATE TABLE IF NOT EXISTS layouts (\n",
" layout_id INTEGER PRIMARY KEY,\n",
" run_id INTEGER,\n",
" -- name matching column name in result table\n",
" parameter TEXT,\n",
" label TEXT,\n",
" unit TEXT,\n",
" inferred_from TEXT,\n",
" FOREIGN KEY(run_id)\n",
" REFERENCES\n",
" runs(run_id)\n",
");\n",
"\n",
"CREATE TABLE IF NOT EXISTS dependencies (\n",
" dependent INTEGER,\n",
" independent INTEGER,\n",
" axis_num INTEGER\n",
");\n"
]
}
],
"outputs": [],
"source": [
"# point the config system to the new location\n",
"configuration['core']['db_location'] = './exp_container_tutorial.db'\n",
Expand Down Expand Up @@ -189,7 +122,16 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from qcodes import experiments"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
Expand All @@ -198,13 +140,13 @@
"[]"
]
},
"execution_count": 5,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qc.dataset.experiment_container.experiments()"
"experiments()"
]
},
{
Expand All @@ -216,7 +158,16 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from qcodes import new_experiment"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
Expand All @@ -226,20 +177,20 @@
"---------------------------------------------------------"
]
},
"execution_count": 6,
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qc.dataset.experiment_container.new_experiment('first_exp', sample_name='old_sample')\n",
"qc.dataset.experiment_container.new_experiment('second_exp', sample_name='slightly_newer_sample')\n",
"qc.dataset.experiment_container.new_experiment('second_exp', sample_name='brand_new_sample')"
"new_experiment('first_exp', sample_name='old_sample')\n",
"new_experiment('second_exp', sample_name='slightly_newer_sample')\n",
"new_experiment('second_exp', sample_name='brand_new_sample')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 10,
"metadata": {},
"outputs": [
{
Expand All @@ -253,13 +204,13 @@
" ---------------------------------------------------------]"
]
},
"execution_count": 7,
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qc.dataset.experiment_container.experiments()"
"experiments()"
]
},
{
Expand All @@ -273,7 +224,16 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"from qcodes import new_data_set"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
Expand All @@ -283,18 +243,18 @@
"-----------------------------------------"
]
},
"execution_count": 8,
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qc.dataset.data_set.new_data_set('a_good_run', exp_id=2)"
"new_data_set('a_good_run', exp_id=2)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 13,
"metadata": {},
"outputs": [
{
Expand All @@ -304,13 +264,13 @@
"-------------------------------------------"
]
},
"execution_count": 9,
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qc.dataset.data_set.new_data_set('a_nother_run', exp_id=2)"
"new_data_set('a_nother_run', exp_id=2)"
]
},
{
Expand All @@ -322,16 +282,25 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"exp_2 = qc.dataset.experiment_container.load_experiment(2)"
"from qcodes import load_experiment"
]
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"exp_2 = load_experiment(2)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
Expand All @@ -340,8 +309,8 @@
"text": [
"second_exp#slightly_newer_sample#2@./exp_container_tutorial.db\n",
"--------------------------------------------------------------\n",
"1-a_good_run-1-None-0\n",
"2-a_nother_run-2-None-0\n"
"1-a_good_run-1--0\n",
"2-a_nother_run-2--0\n"
]
}
],
Expand Down
Loading