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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file auto_walrus-0.1.9.tar.gz.

File metadata

  • Download URL: auto_walrus-0.1.9.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.14

File hashes

Hashes for auto_walrus-0.1.9.tar.gz
Algorithm Hash digest
SHA256 1b837112b44384df4d8dac6621f6e8e4681a39d644af2707ccc9be550be1034b
MD5 629f6cc3346dc6116bbff966ae011abc
BLAKE2b-256 264c8ccb4f5c2feef3e86b750e7f5a50e542492d0b1424bb4d6f72f2b8dc1361

See more details on using hashes here.

Provenance

File details

Details for the file auto_walrus-0.1.9-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for auto_walrus-0.1.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b6aef0005441523cdb4225d41207e16f25ef024d71540ddcc4ec71d61887ff53
MD5 c003a0e95fecc2d2d15d376d4c1dc6f4
BLAKE2b-256 161e1579375f516b9953874855f6e704dbfe1640580b2e4681d32473b1f5fe46

See more details on using hashes here.

Provenance

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