Is there a Google Colab API? I'm looking to accomplish things like:
As pointed out in the other answer, Colab Notebooks are files on your Google Drive. Hence, sharing them or retrieving their contents can be done via the Google Drive API (from what I understand you can use the webContentLink to download it).
However, your first question is:
For anyone coming here from Google trying to find the official Google Colab API (because it's one of the top results when googling for now), here is the answer:
[As of summer 2020] Since this is merely a research project, there is no official API documentation and thus certain information might be hard to come by.
Your best bet would be going to the Official Github Repository:
google.colab
google.colab.drive
google.colab.drive.mount
(used in quite a few snippets)google.colab.files
(provides download
and upload
utilities)google.colab.snippets
(add snippets to the snippets list programmatically; FYI: you can find all snippets by going to Insert
-> Snippets
)all packages
The FAQ explains some of the internal mechanics. Highlights include:
It’s a Jupyter notebook environment that requires no setup to use.
Convinient!
I heartly recommend checking out the Official Feature Demo; it's how I found out that it even supports LaTeX and MathJax! (but then again that might not come as news to someone with experience in Jupyter) 😄
The FAQ also mentions...
Code is executed in a virtual machine dedicated to your account. Virtual machines are recycled when idle for a while, and have a maximum lifetime enforced by the system.
That is why you can execute all kinds of the usual system calls (e.g. !pip install
, open
etc.) and it just works.
However that is also why when you come back the next day...
drive.mount
asks for your permission again