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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: auto_walrus-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 6b8c510f620c7c43ed1b3d43515dba212c35783233dcfa482ca9cfe449057ed0
MD5 861f44f1064d78106d0c0f559035da4a
BLAKE2b-256 1b1b7f9943be043b4d9731669710a65f2d367ceb23f2c8f1921500398e7936d2

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: auto_walrus-0.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a496820e90a1ebc4ad2de7058b93adfda1111c61ee9241980e30f8c36aa7b084
MD5 65f14f36b5f07d2d68ce0ef01e76b795
BLAKE2b-256 dd6969f459f1ae40a80410b46b04cd1cbf3d39fca30558fecb19036a441b84bd

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