diff --git a/docs/changes/newsfragments/7369.improved b/docs/changes/newsfragments/7369.improved new file mode 100644 index 00000000000..44dde0a4d75 --- /dev/null +++ b/docs/changes/newsfragments/7369.improved @@ -0,0 +1,3 @@ +``ParamSpecBase`` is now re-exported from :mod:`qcodes.dataset` so that users +defining custom ``InterDependencies_`` graphs via the public ``qcodes.dataset`` +namespace do not need to reach into :mod:`qcodes.parameters` to obtain it. diff --git a/src/qcodes/dataset/__init__.py b/src/qcodes/dataset/__init__.py index 88e5b43d7f2..072e3bd5a2c 100644 --- a/src/qcodes/dataset/__init__.py +++ b/src/qcodes/dataset/__init__.py @@ -17,6 +17,8 @@ export_datasets_and_create_metadata_db, extract_runs_into_db, ) +from qcodes.parameters import ParamSpecBase + from .descriptions.dependencies import InterDependencies_, ParamSpecTree from .descriptions.param_spec import ParamSpec from .descriptions.rundescriber import RunDescriber @@ -77,6 +79,7 @@ "LogSweep", "Measurement", "ParamSpec", + "ParamSpecBase", "ParamSpecTree", "RunDescriber", "SQLiteSettings", diff --git a/tests/dataset/test_dependencies.py b/tests/dataset/test_dependencies.py index c4deebc3223..1b0ad3fbb18 100644 --- a/tests/dataset/test_dependencies.py +++ b/tests/dataset/test_dependencies.py @@ -17,6 +17,14 @@ from tests.common import error_caused_by +def test_param_spec_base_reexported_from_qcodes_dataset() -> None: + """``ParamSpecBase`` is part of the public :mod:`qcodes.dataset` API.""" + import qcodes.dataset as qdataset + + assert qdataset.ParamSpecBase is ParamSpecBase + assert "ParamSpecBase" in qdataset.__all__ + + def test_wrong_input_raises() -> None: for pspecs in ( ["p1", "p2", "p3"],