Skip to content

bitnom/colabctl

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

colabctl v0.2.1

Task executioner & controller for Google Colaboratory notebooks. Google Colaboratory is a game-changing innovation. It allows anyone to access powerful hardware for machine learning, for free. Unfortunately, it's not possible to run colab notebooks programmatically or otherwise in the background unless you leave your browser running. Colabctl is a sort of shim that solves this problem by using headless Selenium.

BROKEN NOTICE

After realizing a few issues being submitted, I reran the code and saw that there are a few new issues due to Google changing their code. I'm now working to correct them. It shouldn't take too long, depending on what exactly they've done.

TODOs

  • Resolve issues #1 #2 #3 #4
  • Async execution of tasks.
  • Proper module structure for user command install via pip.
  • Better args parsing.
  • Revise & refactor the Seleium code.
  • Proper logging.

Pull requests welcomed.

Usage

First, add your Colaboratory URLs to notebooks.csv.

In colab, go to tools -> keyboard shortcuts and set "Clear all outputs" to CTRL + SHIFT + Q

In colab, go to tools -> keyboard shortcuts and set "Reset all runtimes" to CTRL + SHIFT + k

At the end of your notebook, add: print("forkin"+"me")

Now you're ready:

python colabctl.py <end-string> <sleep-seconds>

Example:

python colabctl.py forkinme 1800

Important!!!

Notice that the example delay is 1,800 seconds (30 minutes). Please DO NOT poll Google Colaboratory frequently. We're very lucky to have these notebooks and even luckier that this ctl is even possible. Please don't push them to block us from doing this.

Thank you

Releases

No releases published

Packages

No packages published

Languages