From 4832aa3c65824337ee84fa05b446e5887d9c486c Mon Sep 17 00:00:00 2001 From: Abigail Emery Date: Tue, 20 Jan 2026 10:06:54 +0000 Subject: [PATCH 1/3] Update system tests to use dodal device manager --- tests/system_tests/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system_tests/config.yaml b/tests/system_tests/config.yaml index d25323a9ea..11dcf5f059 100644 --- a/tests/system_tests/config.yaml +++ b/tests/system_tests/config.yaml @@ -4,7 +4,7 @@ env: metadata: instrument: adsim sources: - - kind: dodal + - kind: deviceManager module: dodal.beamlines.adsim - kind: planFunctions module: dodal.plans From 076e73fd3d3945efa1529b922544cec5bbbbab7f Mon Sep 17 00:00:00 2001 From: Abigail Emery Date: Tue, 20 Jan 2026 10:16:44 +0000 Subject: [PATCH 2/3] Update dodal pin --- pyproject.toml | 2 +- uv.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index bc63ec9210..ea922c7c7c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ dependencies = [ "fastapi>=0.112.0", "uvicorn", "requests", - "dls-dodal>=1.64.0", + "dls-dodal>=1.69.0", "super-state-machine", # https://github.com/DiamondLightSource/blueapi/issues/553 "GitPython", "event-model==1.23.1", # https://github.com/DiamondLightSource/blueapi/issues/684 diff --git a/uv.lock b/uv.lock index efbb556aa6..b8d15cd21b 100644 --- a/uv.lock +++ b/uv.lock @@ -490,7 +490,7 @@ requires-dist = [ { name = "bluesky", extras = ["plotting"], specifier = ">=1.14.0" }, { name = "bluesky-stomp", specifier = ">=0.1.6" }, { name = "click", specifier = ">=8.2.0" }, - { name = "dls-dodal", specifier = ">=1.64.0" }, + { name = "dls-dodal", specifier = ">=1.69.0" }, { name = "event-model", specifier = "==1.23.1" }, { name = "fastapi", specifier = ">=0.112.0" }, { name = "gitpython" }, @@ -1179,7 +1179,7 @@ wheels = [ [[package]] name = "dls-dodal" -version = "1.68.0" +version = "1.69.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiofiles" }, @@ -1202,9 +1202,9 @@ dependencies = [ { name = "scanspec" }, { name = "zocalo" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8f/a2/5e9b52b7e9c33a49d7ed498de811a10cf50f9d3e78414c9cea234ed8c98a/dls_dodal-1.68.0.tar.gz", hash = "sha256:e24b1c555c0e02e90fab327ed1024480555eecc0ca74f90389d6ac8519f97794", size = 1345787, upload-time = "2025-12-18T10:49:23.995Z" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/20/98438b7b9bf9b81ae7b1454b090020e86977fde5796d236596838c98d166/dls_dodal-1.69.0.tar.gz", hash = "sha256:5181bf4e0fd9a818fec169ba060a8865cc53e5c28b5ead15824271a529c18682", size = 1587248, upload-time = "2026-01-19T14:50:52.909Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/69/d16626e7cb65d6baa8022abb13acbdf1655cc03886f77fb00215646f35b0/dls_dodal-1.68.0-py3-none-any.whl", hash = "sha256:7a20c9b0140ea5363f906d67e762d1f24f382b4738682022a962b390446dabd5", size = 337957, upload-time = "2025-12-18T10:49:22.527Z" }, + { url = "https://files.pythonhosted.org/packages/8c/39/f781c83cfae7a62a5009dbe1cc656000097575c93ef23271d2096cf9aefe/dls_dodal-1.69.0-py3-none-any.whl", hash = "sha256:99d0aa3c4b9e94ec981e3690babaeb0b6a389183cddf5cf0544073944ae1e9a3", size = 345661, upload-time = "2026-01-19T14:50:51.65Z" }, ] [[package]] From d737f13568d2f9a8e21d550f8d880bc2b8125f8a Mon Sep 17 00:00:00 2001 From: Abigail Emery Date: Tue, 20 Jan 2026 10:46:52 +0000 Subject: [PATCH 3/3] Sort plan device enum --- src/blueapi/core/context.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/blueapi/core/context.py b/src/blueapi/core/context.py index 6816600764..c22a96d862 100644 --- a/src/blueapi/core/context.py +++ b/src/blueapi/core/context.py @@ -416,11 +416,13 @@ def __get_pydantic_json_schema__( json_schema = handler(core_schema) json_schema = handler.resolve_ref_schema(json_schema) json_schema["type"] = qualified_name(target) - json_schema["enum"] = [ - name - for name, device in self.devices.items() - if isinstance(device, cls.origin or target) - ] + json_schema["enum"] = sorted( + [ + name + for name, device in self.devices.items() + if isinstance(device, cls.origin or target) + ] + ) if cls.args: json_schema["types"] = [qualified_name(arg) for arg in cls.args] return json_schema