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.
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. :slightly_frowning_face:
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 https://github.com/iterative/dvc/blob/253a0eae1374ff0bc81046507714353af977d8f3/dvc/config.py#L179
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. :slightly_smiling_face:
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 :slightly_smiling_face: Also, feel free to join our discord chat dvc.org/chat , we have #dev-talk channel there.
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...)
I would like to try to implement this function
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.
For the record: the only difference is that the example used to be in dvc/remote/ but now it is in dvc/tree :slightly_smiling_face: