Fix search CLI crash under Python 3.11+ #114
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some of the configuration options in the search CLI use mutable dataclasses as defaults; for some reason, this is only detected by Python 3.11 onwards, therefore our CI running under 3.7 - 3.9 did not flag it, but under Python 3.11 the search CLI crashes with an error. What's worse, one of our environment files (
environment.yml
) did not pin the version of Python, leading to 3.13 being selected, under which the error is present.This PR makes the following changes:
field
constructor instead of mutable defaults to restore proper behaviour under all Python versions.