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: v0.2.2
    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.2.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

auto_walrus-0.3.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: auto_walrus-0.3.2.tar.gz
  • Upload date:
  • Size: 9.5 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.2.tar.gz
Algorithm Hash digest
SHA256 ad4a02b3aafc07cd18e0137ed06d0517550b7f4291a7c1fdd273feff83fb27da
MD5 9ec30e9ee8f4efe5139a29aeb1c89f03
BLAKE2b-256 9eeb2641c9b18196ebfcb4529a2f1c48766d7ef2f76faad7a1dd60916919dcd5

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: auto_walrus-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d97af15f7fb34e8d470ebaf6f3198fbe423dbd4b18cc8006e16ada7d2f963cf0
MD5 2a85476b37251ca7f14e1e70379d0207
BLAKE2b-256 f38961fc889cd3ca040422b755c8ec298787018346033dd2da4909981000fd86

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