Skip to content

Support Open Science Foundation? #4176

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

Closed
haberdashPI opened this issue Jul 7, 2020 · 6 comments
Closed

Support Open Science Foundation? #4176

haberdashPI opened this issue Jul 7, 2020 · 6 comments
Labels
feature request Requesting a new feature help wanted p3-nice-to-have It should be done this or next sprint

Comments

@haberdashPI
Copy link

Hi there; I love this project! What a great tool.

I'm wondering if you could add support for an open science framework project as a remote. It is for hosting data as part of a published research report. They have a python api for sending and retrieving files, so I'm guessing it would be pretty easy to add this feature. If it's not too difficult for someone new to this project, I would be happy to help out with adding this feature myself, if you could provide me some pointers on where to get started.

@ghost ghost added the triage Needs to be triaged label Jul 7, 2020
@efiop
Copy link
Contributor

efiop commented Jul 7, 2020

Hi @haberdashPI !

That looks very promising!

Just wanted to make sure you are aware that our remotes are not really human-readable and they are more like a content-based storage, so you usually need to use dvc to access your data by human readable name. 🙁

As to implementation, it would indeed pretty simple on dvc side. Here is an example of the whole code needed for azure https://github.com/iterative/dvc/blob/master/dvc/remote/azure.py . For osf the key points would be:

  1. create dvc/remote/osf.py
  2. add osf to
    "azure": {"connection_string": str, **REMOTE_COMMON},

there might be some other tiny adjustments along the way.

Regarding the url format for osf, seems like osf://myproject/path should do the trick. Plus username(email) for the config. Note that I'm not too familiar with osf, so might be wrong here, so please let me know if I'm missing something here. 🙂

If you decide to take a shot implementing it, please don't hesitate to submit a WIP PR, we'll try to help with everything we can 🙂 Also, feel free to join our discord chat dvc.org/chat , we have #dev-talk channel there.

@efiop efiop added feature request Requesting a new feature good first issue help wanted p3-nice-to-have It should be done this or next sprint labels Jul 7, 2020
@ghost ghost removed triage Needs to be triaged labels Jul 7, 2020
@efiop efiop added the awaiting response we are waiting for your reply, please respond! :) label Jul 7, 2020
@haberdashPI
Copy link
Author

Great thank you for the pointers!

Yes, I understand the data I stored in OSF using dvc would not be very human readable. However, you've done a good job documenting the format the data is stored in, so I think as long as I copy the documentation to my OSF repository that it would work pretty well for my purposes.

I am a bit busy at the moment, but hope to get to working on and submitting a PR in the next week or so. (But we'll see...)

@efiop efiop removed the awaiting response we are waiting for your reply, please respond! :) label Jul 14, 2020
@aerubanov
Copy link
Contributor

I would like to try to implement this function

@haberdashPI
Copy link
Author

Go for it! I started an attempt a while back but it looks like a bit has changed with the internals, and I won't have a chance to take a crack at it for at least another few months.

@efiop
Copy link
Contributor

efiop commented Oct 26, 2020

For the record: the only difference is that the example used to be in dvc/remote/ but now it is in dvc/tree 🙂

@efiop
Copy link
Contributor

efiop commented Dec 8, 2023

Doesn't seem like there is a lot of demand for this. If someone would be interested in having support for this, first step these days is to implemented fsspec fs for it (e.g. see https://github.com/fsspec/s3fs). Dvc core team is likely not going to support this officialy at all, but only as a third-party plugin. Closing for now.

@efiop efiop closed this as not planned Won't fix, can't repro, duplicate, stale Dec 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Requesting a new feature help wanted p3-nice-to-have It should be done this or next sprint
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants