Develop a Github Repo Script Runner

Audience: Users that want to develop interactive applications which runs Github Repo in the cloud at any scale for multiple users.

Prerequisite: Reach level 16+ and read the docstring of of TracerPythonScript component.


Our Goal

Create a simple Lightning App (App) where users can enter information in a UI to run a given PyTorch Lightning Script from a given Github Repo with some optional extra Python requirements and arguments.

Users should be able to monitor their training progress in real-time, view the logs, and get the best monitored metric and associated checkpoint for their models.


Completed App

Here is a recording of the final application built in this example. The example is around 200 lines in total and should give you a great foundation to build your own Lightning App.


App Design

In order to develop the App, we need to build several components:

  • A GithubRepoRunner Component that clones a repo, runs a specific script with provided arguments and collect logs.

  • A PyTorch Lightning GithubRepoRunner Component that augments the GithubRepoRunner component to track PyTorch Lightning Trainer.

  • A UI for the users to provide to trigger dynamically a new execution.

  • A Flow to dynamically create GithubRepoRunner once a user submits information from the UI.


Tutorial