Replies: 1 comment 2 replies
-
Thanks, @skshetry! What about this:
I'd consider machine-readable and greppable (pipeable?) separately, since json for example may not actually be easy to parse with grep/awk/etc. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
So, I am starting a discussion for having a general guideline for DVC's output. There are two schools of thoughts:
grep-parseable
).It feels like we try to opt for 2, but a few commands seem to be going for human-readable first:
Making outputs human-readable by default helps us improve and experiment with different output formats. Machine-readable formats could be through some flags (
--plain
,--show-json
, etc.). Though, you lose the ability to grep things by default. (Humans first, Machine second).On the other hand,
grep-parseable
means that the output will be grepable, so machine readable. And, we should also try to make it human-readable. We lose the ability to change output format here though, every change in the output format is going to backward-incompatible and we won't be able to improve/experiment much. (Machine first, human second?)If I take the example of
git
, Git seems to be also mixed, but generally it seems to follow 1) and tries to provide more hints and current state.Git instead provides a
--short
it parseable.On the other hand, heroku's cli opts for being grep-parseable by default and provides a
--json
additionally.I'd prefer 1, as it is flexible for us, but I do see benefits of 2 for DVC. In the end, what matters is consistency (or, consistency with certain exceptions). Let's discuss and try to fix output formats and try to make it consistent.
@dberenbaum @shcheklein @dmpetrov
Beta Was this translation helpful? Give feedback.
All reactions