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.9
    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)

Testimonials

Christopher Redwine, Senior Software Engineer at TechnologyAdvice

hmm, i dunno about this one chief

Michael Kennedy & Brian Okken, hosts of the Python Bytes podcast:

I kind of like this being separate from other tools

Someone on Discord

you're a monster

Will McGugan, CEO / Founder of http://Textualize.io:

Embrace the Walrus!

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

auto_walrus-0.1.9.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

auto_walrus-0.1.9-py2.py3-none-any.whl (6.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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