bitnom / colabctl

Google Colaboratory background/task executioner & controller.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Google Colaboratory background/task executioner & controller.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%