-
Notifications
You must be signed in to change notification settings - Fork 394
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
Document dvcfs API #3927
Comments
Have we considered simplifying API refs and moving the details to auto-generated sites like https://docs.iterative.ai/dvc-task/reference/dvc_task/ ? |
@jorgeorpinel, that’s a “Developer docs”, not a user facing one. It does not make sense to me to redirect to a different site for what is part of dvc’s offering. But I am not against auto-generation if the engine can support. |
We had that discussion for |
We do have docstrings now in But I also think the docs have a different responsibility compared to docstrings, such as introducing the dvcfs to new users, suggesting scenarios that it can solve, etc that @dberenbaum mentioned above. That said, we also need an API reference too in the docs (which could be generated from the docstrings). |
Yes, I was talking specifically about API reference. If you feel that docstring that we have (and plan to have for dvcfs) cover enough of a doc like this https://dvc.org/doc/api-reference/get_url , we should def auto generate. Since docstrings are 100% needed (I would never want to jump into browser also). |
Not sure it's a meaningful distinction @skshetry: The user is a "developer" here (API ref). If the sites in docs.iterative.ai just repeat docstrings, do we even need them? Apparently unrelated, but the idea was: if we do need them, then we could leave all the
It's pretty common to see different apps for technical explanations (example) vs. specifications (example). That said if the engine could incorporate auto-generated content that would be nice indeed. |
Remaining work here is to have all supported methods linked from the docs:
Originally posted by @dberenbaum in #3932 (review) |
Related discussion: iterative/mlem.ai#171 |
Docstrings were added in iterative/dvc#8332. Now how can we publish some docs from them? |
That's THE question 😅 |
Is there a plan with plugins to separate dvcfs from dvc? |
Do you mean to generate something like this? https://docs.iterative.ai/dvc-task/ That could work. We just need to link these sites from DVC docs more, I think. |
Yup @jorgeorpinel! The problem here is that dvcfs is one of the few things we haven't made into a separate package, so there's no obvious way to generate that. |
|
Added a ticket in iterative/dvc#8428. I'd vote to keep this one also to remember to link to whatever gets generated, but if you prefer to close it to reduce noise, no big deal @jorgeorpinel . |
@yathomasi @rogermparent technical question - can we use docstring from an external repo as a gatsby node? |
Yep! Anything that can be accessed with Node.js can be turned into a Gatsby node. I was thinking of making prism commands exported like this to get around our multi-repo command woes. We can also consume that node in any way we want, including having doc pages display the docstring content alongside some optional extra elaboration. |
@rogermparent that sounds cool! and I see that multiple repos need this. It can simplify the docs flow - for certain pages we'll use Python files as a source, not Markdown. Let's create a ticket and discuss during the next call. |
The generated reference docs will have the same content as fsspec's docs. What is our goal with the reference docs? Do we want to expand upon those docs with examples? If so, then example-driven docs might be better than having a reference. I prefer User Guides that help users get things done (and looking at The only issue that I think this will solve is regarding discoverability, and that won't be fixed if we use a separate site for just dvcfs. |
Not a popular decision, though: fastapi/fastapi#804 😅 |
For a popular project like that, someone will be unhappy, and only few people have commented. And |
Well . . .
Yes, in this case, I agree that there is too much overlap with the existing fsspec API ref and that we already cover the differences with examples, so I am ok with not duplicating. |
My main concern is that it's unclear which methods from fsspec are implemented by dvcfs. |
Maybe I am biased here, but I think "Read only filesystem" may be enough here. Most of the API will raise Also, most of the APIs are implemented in fsspec and only the write-operations are not available during runtime. So this may require us to extend some methods to add docs that they are unavailable. Anyway, here is the current state of APIs that are unsupported:
All of the following raises or should raise
|
Good points @skshetry. It looks like auto suggestions and docstrings from within the IDE are working well, and between that, the existings fsspec reference, and the "read only filesystem" description, it should be enough. I'm fine to close this, but if someone else feels more is needed, feel free to reopen. |
Report
Dvcfs can be a useful public api that is more flexible than the methods in the current dvc api. Some use cases for it:
The text was updated successfully, but these errors were encountered: