Skip to content

A git-annex special remote implementation to interface with the Open Science Framework file storage

License

Notifications You must be signed in to change notification settings

adswa/git-annex-remote-osf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OHBM BrainHack project: git-annex-remote-osf

All Contributors

Documentation Status

Hey there 👋

Welcome to our project. This repository was a place to develop a new git-annex special remote for the Open Science Framework data storage, conducted during the OHBM Brainhack 2020.

Current state of things

We have used this repository for coordination and issue tracking. The concrete development has happened in the form of a datalad extension in https://github.com/datalad/datalad-osf. Please head over to this repository for documentation and code.

This project wouldn't have been possible without all of the wonderful contributors:

  • Michael Hanke
  • Benjamin Poldrack
  • Dorien Huijser
  • Simon Steinkamp
  • Ashish Sahoo
  • Nick
  • Nikita Belyi

Previous README

Project description and aims

The Open Science Framework (OSF) is an amazing infrastructure for open science. In this project, we attempt to create a git-annex special remote implementation to leverage OSF filestorage and make the data storing that OSF provides even more useful. The git-annex OFS special remote would allow to transform OSF storage into git-annex repositories. Files in OSF storage could thus be consumed or exported fast and easily via git-annex or datalad, and published to repository-hosting services (GitHub, GitLab, Bitbucket, ...) as lightweight repositories that constitute an alternative access to the data stored on the OSF - that is: you can git clone a repository from for example GitHub and get the data from the OSF from the command line or in your scripts.

During the Brainhack, we want to...

  • Familiarize ourselves with git-annex's concept of special remotes
  • Explore the OSF API and OSF's waterbutler to interact with OSF's various supported file storage services
  • Get started with a Python-based special-remote implementation
  • Short term goal: export and import data from public OSF projects from and into git-annex repositories
  • Nice-to-have's/Long(er) term development goals: Extend functionality to private repositories (requires token-based authentication)

EDIT: Technical development takes place in https://github.com/datalad/datalad-osf as a DataLad extension, this repository is used for coordination. 👍

How can you help?

There are many ways in which you can help. If you haven't yet heard of git-annex or special-remotes, don't be discouraged. You can use or develop your skills in many other ways. Here are a few "good first issues":

  • Set up the allcontributors-bot in the project repository to acknowledge contributions
  • Create a public and a private project on the Open Science Framework for us to play with. The more comprehensive this task is carried out, the better. Here's a sketch: Add (any) data (honestly, any - cat content, your favorite recipe, a funny video, ...) to different storage providers (OSFStorage, GDrive, Dropbox, ...) to a public and a private repository on the OSF. Make sure that some data exists in a single version, but also take data and update it with a modified version, using the OSF's version control features.

Beyond these concrete actions, feel free to just join our discussions in this repository or via our communication channels. Here is a non-exhaustive list of skills that can be helpful:

  • Technical writing: Good user documentation is essential. Depending on what you are interested to do this could take the form of a README, a readthedocs or Mkdocs-based technical documentation, tutorials, a usecase in the DataLad handbook, or anything else that you can think of.
  • Experience with the Open Science Framework: If you are a user of the Open Science Framework, let us know how you use it, walk us through a public project of yours, provide us with projects to use for testing, your ideas and needs, ... If you have used the OSF then you will be a great help!
  • Python programming: We aim for a special remote implementation in Python. There are good templates and many examples that we will use and learn from along the way.
  • Interest in git-annex or experience with it: We are looking for git-annex experts and novices alike - and everything in between. If you saw "git-annex" and thought "uuhhhh, interesting 🤔" then come get on board!
  • Knowledge about HTTP requests/authentication

But beyond this, if you have any additional idea or skill, just approach us! We look forward to hacking with you. 😊

Software setup: What do you need to install?

Here is a list of software that could be helpful to have installed for this project:

Code of conduct

As part of the Brainhack, this project adheres to the OHBM's Code of Conduct. We ask all team members to respect and adhere to it, and to report code of conduct violations you encounter via the general channels detailed in the CoC. Feel free to contact Adina ([email protected], @adswa) as the project lead of this brainhack project if there is something CoC-related you want to discuss with her first.

Get in touch!

If you want to become a part of this project, we're super happy to welcome you here. Get in touch via our Mattermost channel, meet up with others in our video chat, or create an issue to introduce yourself.

Where to find TODOs?

Let's try to create an issue for any TODO there is, and for any task a project team member is working on. Hopefully, we can avoid misunderstandings or duplication of work in this way.

This means:

  • if you see that something needs to be done, first create an issue about it!
  • if you are working on something, comment on the issue that you are working on it. Reach out to others if you need help by tagging them or chatting them up in the Mattermost channel. Try to keep communication public, else it will be hard for others to join in and help.
  • if you have solved an issue (e.g., with a Pull Request), close the issue to mark this TODO as resolved

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Adina Wagner

📆 🚧 💻 📖

Dorien Huijser

📖 📆 🤔 📓 🚧

Ashish Sahoo

📖 🚧

This project follows the all-contributors specification. Contributions of any kind welcome!

About

A git-annex special remote implementation to interface with the Open Science Framework file storage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published