GSoC NIU Projects 2025: datashuttle
#
If you are interested in any of these projects, get in touch! Feel free to open a new topic on Zulip and tag the potential mentors. Our working language is English.
Allow Google Drive or AWS as remote storage
In systems neuroscience, a lack of standardisation in data organisation schemes creates a barrier to data-sharing
and collaboration. datashuttle
provides a Python API and terminal user interface (TUI) to allow researchers
to create, validate and transfer folders in a standardised way.
Projects can be transferred between computer systems in datashuttle
via SSH or mounting drives.
We would like to support transfer to Google Drive or and Amazon Web Services (AWS) buckets.
Under the hood datashuttle
uses RClone, which already implements transfer to Google Drive and AWS.
Deliverables
Extend
datashuttle
functionality to permit transfer between a local filesystem and Google Drive or AWS. This will involve exposing new functionality within the Python API as well as the terminal user interface.Tests to cover any added functionality.
Documentation for the new functionality.
Duration
Medium (~175 hours)
Difficulty
This project is well-suited for a beginner contributor to open source.
Required skills Experience with Python
Nice-to-haves Experience with network data transfers (e.g. rsync, rclone, Google Drive, AWS)
Potential mentors
Further reading
datashuttle
and RClone websites.
Extend the functionality of the terminal user interface
In systems neuroscience, a lack of standardisation in data organisation schemes creates a barrier to data-sharing
and collaboration. datashuttle
provides a Python API and terminal user interface (TUI) to allow researchers
to create, validate and transfer folders in a standardised way.
In datashuttle
, there are a number of features which are available in the Python API but not yet exposed in the terminal interface.
datashuttle
uses textual to create the TUI. This project would
involve extending the functionality of the TUI, providing experience in coding for graphical user interfaces,
in particular terminal user interfaces.
Deliverables
A python implementation adding textual widgets that perform and display project validation. This will include buttons, radio-buttons and drop down menus and a log display for validation errors.
Improvements to user experience:
Implement code to allow a responsive user interface while a transfer job is performed.
Add buttons and drop-down list to edit a directory tree.
Tests to cover any added functionality.
Documentation for the new functionality.
Duration
Medium (~175 hours)
Difficulty
This project is well-suited for a student or a beginner contributor to open source. No experience in graphical or terminal user interfaces is required.
Required skills Experience with Python
Potential mentors
Further reading
TheNeuroBlueprint and
datashuttle
websites.