doctor: should dvc doctor show remote-required dependency versions
See original GitHub issueSomething that we’ve been experiencing lately is asking for an extra question regarding the version of their used remote dependency. We could try to annotate the dvc doctor’s output with the stuff that we can get (optional). Something like this
$ dvc doctor
DVC version: 2.4.2+f1bf10.mod
---------------------------------
Platform: Python 3.8.5+ on Linux-5.4.0-77-generic-x86_64-with-glibc2.29
...
Remotes: gs (gcsfs == 2021.06.01, ... == 1.0.2)
...
Issue Analytics
- State:
- Created 2 years ago
- Reactions:4
- Comments:6 (5 by maintainers)
Top Results From Across the Web
remote | Data Version Control - DVC
A set of commands to set up and manage data remotes: add, default, list, ... as remote storage, you might need to install...
Read more >metrics diff --show-md master: 'NoneType' object is ... - GitHub
Bug Report Within master branch: dvc metrics diff --show-md master ERROR: unexpected error - 'NoneType' object is not subscriptable Having any troubles?
Read more >How to Version Gigabyte-Sized Datasets Just Like Code with ...
This section will show the basics of how Git and DVC work together. To add DVC tracking to your project, we need to...
Read more >Learning DVC by trial and error - A Peck of Pickled POJOs
“Yes, DVC is technically even not a version control system! .dvc files content defines data file versions. Git itself serves as the version ......
Read more >Using DVC to create an efficient version control system for ...
We also concede that versioning these files using git wasn't efficient ... At some point, we need to re-compute evaluation metrics for ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

One thing that is a bit problematic is when the all remotes are installed. Normally instead of listing everything, DVC only prints All remotes;
Though this is probably going to be problematic for us in the future, when we introduce the plugin system the definition of ‘All remotes’ will probably change. There are 3 changes that we can do;
dvc[all], nothing is going to change)dvc doctor -vordvc doctor -vv(??, seems like a bad choice)or perhaps something like this (much better IMHO);
I don’t think that it is going to affect performance that much, an
importlib.metadata.version()call is+/- 1 msec, so at total it will be at most 50-60 msec change (including the import ofimportlib.metadata) to retrieve all the versions we need which is waaay lover compared to importing each module so I don’t think it is even noticable.I am not sure about what is the remote update stuff, but I doubt they will completely eliminate the need for checking remote dependency versions. At least not until we stabilize everything on the fsspec side.
Though, it will probably overflow and it is not easy to locate a single dependency bound to a single remote (e.g pyarrow for example).
We could potentially create a list of always installed remotes, or just skip the ones that have no
REQUIRES(e.g http/https in this case)Makes sense, or
supported remote types:/supported file systems:(a bit too internal terminology?) but yea I think they are all better than regular bareSupports:.