How to version artifacts?

I am trying to create new version of an artifact that tracks data. Specifically I have an artifact for each data split (these should be v0) and I wanted to update them after filtering out some data.

What I tried is basically reference the logged artifact as data_artifact = run.use_artifact(f"{split}:latest"), and then I tried several approaches:

  • overwrite the new filtered data in the same location and then run.log_artifact(data_artifact)
  • overwrite new data and create new draft of the artifact
new_split = data_artifact.new_draft()
new_split.remove(filepath)
new_split.add_file(filepath)
run.log_artifact(new_split)
  • try to create new artifact with same name and local_path as v0

However none of these seem to produce any change in the version from the UI, even if I try to explicitely specify the aliases. I just noticed that if I delete the runs and artifacts from the UI and then re-run my code the version increases.

You can fine the project here: Weights & Biases

Any help would be great, thanks in advance :slight_smile: