Question: exp trackers like ClearML and Comet capt...
# ask-metaflow
l
Question: exp trackers like ClearML and Comet capture uncommitted code. Metaflow does this by packaging all the code at or below the level of the
flow.py
. But if we wanted to add Comet or ClearML, how would we get their SDKs access to all of the git metadata? Is there a way to somehow make a code package include the entire git repo?
1
Here's the metadata about your repo that ClearML grabs. I'd like for ClearML to be able to capture this info when running in a Metaflow DAG in the cloud.
r
I had written some code to do almost precisely what you mentioned - never took it to completion though. It is possible to do it by creating a new decorator with a hook that logs the git diff for your dirty/uncommitted changes as metadata, and then make it available in the metaflow UI. In your case though, just the metadata is good enough since the rendering is being done by ClearML/Comet
this 1
l
Oh wow! Is this a card that you wrote? Like did you implement your own diff renderer?? 🤣
r
Nope, just used this cool tool called diff2html
l
Hahaha, that is so creative
If I were to make a decorator, would I have it copy the
.git
folder into the code package somehow?
r
In my case I just logged the diff - but if you want to make the whole
.git
folder available in the package, then you could probably symlink it in your flow directory, and update
package_suffixes
. That might be a lot of data to package though
l
This is a great lead! I'll give it some more thought.
m
Do you capture the commit sha too @rhythmic-controller-77489?
r
Yeah, I captured the commit id, sha, and a few more git related metadata