Skip to main content

A linter for Cython files

Project description

auto-walrus

auto-walrus

auto-walrus

Build Status Coverage pre-commit.ci status

A tool and pre-commit hook to automatically apply the awesome walrus operator.

Installation

pip install auto-walrus

Usage as a pre-commit hook

See pre-commit for instructions

Sample .pre-commit-config.yaml:

-   repo: https://github.com/MarcoGorelli/auto-walrus
    rev: v0.1.8
    hooks:
    -   id: auto-walrus

Command-line example

auto-walrus myfile.py
-    n = 10
-    if n > 3:
+    if (n := 10) > 3:

Configuration

Using the walrus operator can result in longer lines. Lines longer than what you pass to --line-length won't be rewritten to use walrus operators.

E.g.

auto-walrus myfile_1.py myfile_2.py --line-length 89

You can turn off rewrites by adding a # no-walrus comment, either when you assign a variable, or when you use it in an if or where statement, e.g.:

n = 10  # no-walrus
if n > 3:
    print(n)

Supported by

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