Open thomass-dev opened 23 hours ago
Without stepping on toes of @anasstarfaoui I would recommend something simple to start. Icon to be refined (used that one).
@rouk1 please explain how this solution caters to the user's needs.
It's a proposal for a first step that is easy to implement in the current design. It allows users to see every version of there item. Obviously it does not provide a way to compare stuffs. Aren't users in need to store and visualize multiple versions of there items ? Maybe I miss something.
We have seen that for new features, such as cross-validation, we want to aggregate metrics over time. We must change the way items are saved. We should now saving items in a "appending" mode rather in "overriding" mode. In this way, we can retain all the values of an item over time.
It will also allow the user to track the evolution of an item through the library or the interface https://github.com/probabl-ai/skore/issues/403.
Proposition: 5 phases
Change the way items are saved without breaking any API (project or UI).
Add a new endpoint (2.1) to retrieve all the values of an item from back-end to front-end. Add a new selection button on widgets allowing to switch from one version to another ( reference @rouk1 ), using this last endpoint.
We should think how to intelligibly represent all the versions of an item in this button: do we display only the date of the item, its content, etc.
(2.1)
/item/<key>?<latest=true|false>
. This new endpoint has a positional<key>
parameter and returns, depending on a optional parameter<latest>
, the latest version of the item, or all its versions.Add a new developer API inside the project one, to browse programmatically all the versions of an item. I propose to add an new
ItemProxy
component, returned byproject.get_item
, which looks something like:Kill
diskcache
to efficiently browse the different versions of an item using SQL-like language.Add a pruning system.