Skip to main content

Automatically apply the awesome walrus operator

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: 0.3.4
    hooks:
    -   id: auto-walrus

Command-line example

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

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

Lines with comments won't be rewritten.

Used by

To my great surprise, this is being used by:

Anyone else? Please let me know, or you can open a pull request to add yourself.

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!

Credits

Logo by lion_space

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.3.4.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

auto_walrus-0.3.4-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: auto_walrus-0.3.4.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for auto_walrus-0.3.4.tar.gz
Algorithm Hash digest
SHA256 66a802fc6aae3b6bacbc2fe59f374e7a5616cc471b0f9bf9427e9fa20fae2284
MD5 5acde60ab2ac5d5f4921ede5f6aab9da
BLAKE2b-256 02b2487ed20936f7dccec697d40edc9d4866cf2ad7ec41e5990b44857fb71c09

See more details on using hashes here.

File details

Details for the file auto_walrus-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: auto_walrus-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for auto_walrus-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8b4a81fb3e5b10a5191020750869ab114955c7379623049c27e41811301d14d3
MD5 6daa0f753768562eef66829845ab679c
BLAKE2b-256 118eff0f0b43f53f880d35a276893b8a07eb152992b9d75357a64cecef8236f6

See more details on using hashes here.

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