`external_plugin_location` field quote marks behaviour in request files
- 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