Implement Jupyter Extension and Desktop App for Airavata MFT
- Mentors
- SureshMarru
- Organization
- Apache Software Foundation
- Technologies
- python, typescript, jupyter, electron, grpc
- Topics
- desktop, cloud, SDK, Managed File Transfer
Currently, Airavata MFT can be accessed through its command line interface and the gRPC API. However, its accessibility will be really enhanced if a Docker desktop-like application and a JupyterLab-S3-Browser-like Jupyter extension are provided for locally running Airavata MFT.
Some proposed features for the app and the extension are:
- Start / Stop MFT Instance
- Register/ List/ Remove Storage endpoints
- Access data (list, download, delete, upload) in configured storage endpoints
- Move data between storage endpoints
- Search data across multiple storage endpoints
- Analytics - Performance numbers (data transfer rates in each agent)
We will use Electron to develop the desktop app. The Node.js backend of Electron will connect to Airavata MFT using gRPC to perform management operations. We will first develop an Airavata MFT Node SDK similar to the existing Python SDK. The Electron app and the Jupyter extension will then be built on top of this Node SDK. Publishing the SDK as a stand-alone npm package will also open possibilities for building new tools using Airavata MFT in future.