Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Code formatter like nb_black for google colab

I know that for jupyter notebooks and jupyter lab, there are available code formatter extensions such as nb_blackor blackcellmagic. However when I installed them, it doesn't seem to work on google colab.

Do you know if there are any native option in colab or an extension that formats code (pep8 compliant)?

like image 902
Syndo rik Avatar asked Jul 24 '20 14:07

Syndo rik


People also ask

Is there anything like Google Colab?

Kaggle. Kaggle is another Google product with similar functionalities to Colab. Like Colab, Kaggle provides free browser-based Jupyter Notebooks and GPUs. Kaggle also comes with many Python packages preinstalled, lowering the barrier to entry for some users.

What is the file format of Google Colab?

All Colab notebooks are stored in the open source Jupyter notebook format ( . ipynb).

How do I run Aipynb file in Google Colab?

Colab interfaceFrom the tabs at the top of the file explorer, select a source and navigate to the . ipynb file you wish to open. The file explorer can also be accessed from the Colab interface by selecting File > Open notebook or using the Ctrl+O keyboard combination.


Video Answer


2 Answers

I don't think there's an extension directly in Colab.

What you could do, though, is to download your notebook, run

pip install -U nbqa
nbqa black notebook.ipynb

and then reupload your (now formatted) notebook to Colab


disclaimer: I'm the author of nbQA


UPDATE: as of version 21.8b0, black runs directly on notebooks, no third-party tool required

like image 170
ignoring_gravity Avatar answered Oct 17 '22 14:10

ignoring_gravity


I have tried everything, none of the JupyterLab/Notebook backend hack methods seem to work as of February 2022. However, until later here is a relatively simple workaround:

[Run only once, at startup]

  • Connect to your drive

    from google.colab import drive
    drive.mount("/content/drive")

  • Install black for jupyter

    !pip install black[jupyter]

  • Restart kernel

[Then]

  • Place your .ipynb file somewhere on your drive
  • Anytime you want format your code run:
    !black /content/drive/MyDrive/YOUR_PATH/YOUR_NOTEBOOK.ipynb
  • Don't save your notebook, hit F5 to refresh the page
  • Voila!
  • Now save!
like image 23
csaladenes Avatar answered Oct 17 '22 16:10

csaladenes