Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Default sources for dodal devices is outdated

Open Beginner friendly
#1,690 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
backend

Research direction

The issue identifies the outdated sources configuration in values.yaml and gives the replacement kind, deviceManager. First check that file and determine whether the setting comes from this repository or the copier template mentioned in the issue. Update the source kind wherever the default is defined, then verify the generated/default configuration uses deviceManager for dodal beamline modules.

Written by the indexing model from the issue text.

Description

When trying to deploy blueapi for a beamline, I am getting the following error:

Traceback (most recent call last):
  File "/app/.venv/bin/blueapi", line 4, in <module>
    from blueapi.cli import main
  File "/app/.venv/lib/python3.11/site-packages/blueapi/cli/__init__.py", line 1, in <module>
    from .cli import main
  File "/app/.venv/lib/python3.11/site-packages/blueapi/cli/cli.py", line 22, in <module>
    from blueapi import __version__, config
  File "/app/.venv/lib/python3.11/site-packages/blueapi/config.py", line 28, in <module>
    from blueapi.utils import BlueapiBaseModel, InvalidConfigError
  File "/app/.venv/lib/python3.11/site-packages/blueapi/utils/__init__.py", line 6, in <module>
    from .connect_devices import connect_devices, report_successful_devices
  File "/app/.venv/lib/python3.11/site-packages/blueapi/utils/connect_devices.py", line 6, in <module>
    from dodal.utils import (
ImportError: cannot import name 'DeviceInitializationController' from 'dodal.utils' (/workspaces/dodal/src/dodal/utils.py)

This is because the default for the iXX-services in values.yaml is:

      sources:
      - kind: dodal
        module: dodal.beamlines.iXX

This is wrong and outdated. This should be:

      sources:
      - kind: deviceManager
        module: dodal.beamlines.iXX

DeviceManager is now the only supported way to load in devices now into blueapi and has been since dodal release 3.0.0. I am now sure if this issue needs to be here or in copier template.

Dominant language
Python
Stars
13
Forks
14
Avg merge
19h 23m
Merged PRs (30d)
10

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from DiamondLightSource/blueapi

All issues in DiamondLightSource/blueapi

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.