Google Colab - Magics



Magics is a set of system commands that provide a mini extensive command language.

Magics are of two types −

  • Line magics

  • Cell magics

The line magics as the name indicates that it consists of a single line of command, while the cell magic covers the entire body of the code cell.

In case of line magics, the command is prepended with a single % character and in the case of cell magics, it is prepended with two % characters (%%).

Let us look into some examples of both to illustrate these.

Line Magics

Type the following code in your code cell −

%ldir

You will see the contents of your local directory, something like this -

drwxr-xr-x 3 root 4096 Jun 20 10:05 drive/
drwxr-xr-x 1 root 4096 May 31 16:17 sample_data/

Try the following command −

%history

This presents the complete history of commands that you have previously executed.

Cell Magics

Type in the following code in your code cell −

%%html
<marquee style='width: 50%; color: Green;'>Welcome to Tutorialspoint!</marquee>

Now, if you run the code and you will see the scrolling welcome message on the screen as shown here −

Cell Magics

The following code will add SVG to your document.

%%html
<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 600 400" width="400" height="400">
   <rect x="10" y="00" width="300" height="100" rx="0" style="fill:orange; stroke:black; fill-opacity:1.0" />
   <rect x="10" y="100" width="300" height="100" rx="0" style="fill:white; stroke:black; fill-opacity:1.0;" />
   <rect x="10" y="200" width="300" height="100" rx="0" style="fill:green; stroke:black; fill-opacity:1.0;" />
</svg>

If you run the code, you would see the following output −

Cell Magics Output

Magics List

To get a complete list of supported magics, execute the following command −

%lsmagic

You will see the following output −

Available line magics:
%alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear
%colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit
%env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext
%loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro
%magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef
%pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %profile %prun
%psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall
%rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save
%sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit
%unalias %unload_ext %who %who_ls %whos %xdel %xmode

Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript
%%js %%latex %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script
%%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

Next, you will learn another powerful feature in Colab to set the program variables at runtime.

Advertisements