It's silly that these are separate. Current implementation is that they're ordered so they can align and zip, but there's a lot of code to use one to identify values of the other like:
plot_params = [
param
for decide, param in zip(grid_decisions, grid_params)
if decide == "plot"
]
Proposals:
grid: Collection[TypedDict]
grid: Collection[NamedTuple]
Should we even have plot data? It's saved in
Series data
Series data is difficult to navigate through in code, because (a) which plot/grid axis is which element of the SeriesData list is unclear (b) instead of a named tuple, we have an Annotated tuple of "metrics" and "arg_opts" inside
Grid vals/params/decisions
It's silly that these are separate. Current implementation is that they're ordered so they can align and zip, but there's a lot of code to use one to identify values of the other like:
Proposals:
grid: Collection[TypedDict]
grid: Collection[NamedTuple]
Should we even have plot data? It's saved inSeries data
Series data is difficult to navigate through in code, because (a) which plot/grid axis is which element of the
SeriesData
list is unclear (b) instead of a named tuple, we have anAnnotated
tuple of "metrics" and "arg_opts" inside