Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

example-gto: remove annotate and move artifacts to dvc.yaml #192

Merged
merged 4 commits into from
May 24, 2023

Conversation

aguschin
Copy link
Contributor

@aguschin aguschin commented Mar 31, 2023

  • the repo can be re-generated already, although CI will fail
  • we need to update GTO action to v2 to make it work in CI
  • test repo for Studio BE should have a monorepo. Given example-gto, one can ~generate monorepo with simply
$ cp -r * example-gto example-gto/subrepo
$ cd example-gto

Now you'll have a very simple monorepo 🙌🏻

cc @jellebouwman and @amritghimire re https://github.com/iterative/studio/issues/5504 - I'm not sure demo-bank-customer-churn is a monorepo, so if you need one, we can do this ^

@amritghimire
Copy link

the repo can be re-generated already, although CI will fail

For studio, this wont be an issue since we use the frozen repo for tests. We can take care of the test cases in upgrade of GTO. I agree we can add mono repo for the test cases. But I think even with upgrade, the repo with the old artifacts.yaml and the information in dvc.yaml should both work. Or at the very least, when doing some action like registration and so on, it should migrate the data accordingly. WDYT?

@jellebouwman
Copy link

I'm not sure demo-bank-customer-churn is a monorepo, so if you need one, we can do this ^

I don't think it is, it's adding different types of models on different branches, but everything is added to the root of the repository!

@shcheklein shcheklein added the A: example-gto GTO examples label Mar 31, 2023
@shcheklein shcheklein changed the title Remove annotate and move artifacts to dvc.yaml example-gto: remove annotate and move artifacts to dvc.yaml Mar 31, 2023
@aguschin
Copy link
Contributor Author

aguschin commented Apr 3, 2023

But I think even with upgrade, the repo with the old artifacts.yaml and the information in dvc.yaml should both work.

To smoothen migration, we can implement if-else, supporting both old-format GTO repo and new format. Something like:

artifacts = dvc.repo.Repo(".").artifacts
if not artifacts:
  artifacts = gto.api.show(".")

Or at the very least, when doing some action like registration and so on, it should migrate the data accordingly. WDYT?

GTO API will not change regarding registrations/assignments, but annotation will be removed, so we'll need to use internal DVC API for that, or update dvc.yaml manually.

So, what should be done in Studio (I'm surely missing something though):

  1. Updating DVC version used (we're yet to release it in DVC though)
  2. Supporting old (artifacts.yaml, GTO API) / new(dvc.yaml, DVC API) formats for reading (this try..except ^)
  3. Supporting new format for annotation, removing old format for annotation
  4. Adding new test repo (re-generated example-gto)
  5. Showing a warning for old format users, telling them they should migrate

@amritghimire - I'm happy to start drafting this in BE, let's have a call so you can point me towards right modules/scripts? Thanks!

@aguschin
Copy link
Contributor Author

@omesser can you please approve and merge? Thanks!

@aguschin aguschin merged commit b27dc73 into master May 24, 2023
@aguschin aguschin deleted the update-example-gto branch May 24, 2023 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: example-gto GTO examples
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants