Skip to main content

Linting and formatting Python code in Google Colab.

Project description

colablinter

PyPI version License: MIT

Overview

colablinter is an IPython magic command extension for Jupyter and Google Colab environments.

It integrates the high-speed linter ruff and import sorter isort to perform cell-by-cell code quality and formatting checks.

Magic Commands

Command Role Description
%%check Quality Check Displays a linting report.
%%format Format, Sort Displays a formatting preview (for copy/paste)

After executing a magic command, the original code of the cell is executed (if applicable to the command).

Terminal Command

Command Description
colablinter check Displays a linting report for entire notebook.

Installation

Requires Python 3.12 or newer.

pip install colablinter

Usage

The extension must be explicitly loaded in the notebook session before use.

%load_ext colablinter
  1. Check Code Quality

    Use %%check to see linting reports.

    %%check
    
    def invalid_code(x):
        return x + y # 'y' is not defined
    

    Output examples:

    ---- Code Quality & Style Check Report ----
    F821 Undefined name `y`
    --> notebook_cell.py:3:16
    |
    2 | def invalid_code(x):
    3 |     return x + y # 'y' is not defined
    |                  ^
    |
    
    Found 1 error.
    -------------------------------------------
    
  2. Format code preview

    %%format will display the formatted code, but the cell executes the original code.

    %%format
    import sys
    import os
    def calculate_long_sum(a,b,c,d,e,f):
        return (a+b+c)*(d+e+f)  # messy
    

    Output examples:

    # Formatted Code
    import os
    import sys
    from datetime import datetime
    
    
    def calculate_long_sum(a, b, c, d, e, f):
        return (a + b + c) * (d + e + f)  # messy
    
  3. Full notebook check

    Use colablinter check command to see linting reports for entire notebook.

    !colablinter check
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colablinter-0.0.4.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

colablinter-0.0.4-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file colablinter-0.0.4.tar.gz.

File metadata

  • Download URL: colablinter-0.0.4.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for colablinter-0.0.4.tar.gz
Algorithm Hash digest
SHA256 ffa962e48a43ce3c43c69495c922002d0f5a07301b8fd70a604c7454b9caba20
MD5 8d494f0062e329a50ab7eb4b21cc7193
BLAKE2b-256 a16666de3bec0779e2fde19d4040e8bf69aa4a032018e284a3a14e8a44b374e7

See more details on using hashes here.

File details

Details for the file colablinter-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: colablinter-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for colablinter-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dd6526c274de3733cf9e9f124f47eb0f1d7a6d198fd7e445912001fa2b9d88b5
MD5 a3c24fc10bf5d7422f2e4fbc804d650c
BLAKE2b-256 4c034ff778f8bc557da5e954dd70e8efcd5e0244aba20f1b4ca5340eb6379b1a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page