MetOffice / MetOffice/CDDS

`external_plugin_location` field quote marks behaviour in request files

Open
#663 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
8
Forks
7
Avg merge
1d 15h
Merged PRs (30d)
23

Description

When getting the arise plugin working from an external path, i used quotation marks around the path i provided for `external_plugin_location`. This results in this error that took quite while to work out the cause.
```
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 992, in _find_and_load_unlocked
File "", line 241, in _call_with_frames_removed
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'cdds_arise'
[FAIL] ${CDDS_SETUP_CMD}; cdds_clean.py ${TEST_BASE_DIR} ${REQUEST_CONFIG_PATH} --run-name=${RUN_NAME} --package ${CYLC_TASK_PARAM_package} # return-code=1
2025-10-30T13:18:05Z CRITICAL - failed/ERR
```
It seems to happen during the cdds_clean task, the backtrace starts at `read_request`
Removing the quotes around the external plugin location path fixed it. However, this seems like something that could easily be encountered by users.

A few options me and Jared have thought of. Not sure which to do of them. Or perhaps best to do all:
- update docs to say quotes should not be used in request file.
- raise exception if external plugin location field has quotes.
- Silently remove quotes if a user has added them

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at read_request and follow the cdds_clean task with request files containing quoted and unquoted external_plugin_location values. Review the proposed documentation, validation, and normalization options, then establish the expected behavior and cover it with a regression test; done means the chosen behavior is documented and no longer produces the reported import error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.