Avoid parse errors of datetime.isoformat
strings
#4025
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.
Motivation
@nzw0301 found that CI failed due to the error of
JournalStorage
. They said the dumped strings ofdatetime_start
(ordatetime_complete
) could lack microseconds butdatetime_from_isoformat
function always expects them.optuna/optuna/storages/_journal/storage.py
Lines 48 to 50 in 31da4d0
@hvy suggested workarounds in https://bugs.python.org/issue40076, and this PR employs the
timespec
argument ofdatetime.isoformat
to always show microseconds.Description of the changes
timespec="microseconds"
todatetime.isoformat()
datetime_start
/datetime_complete
whosemicroseconds
values are zero.