Skip to main content

('IPython extension which allows assignment expressions (:=)', 'at the top level of an expression statement')

Project description

IPyWalrus

IPyWalrus is a simple IPython (Jupyter) extension which enables you to use the walrus operator (PEP 572 - Assignment Expressions) := for usual assignments in IPython or Jupyter.

This part of the PEP:

There are a few places where assignment expressions are not allowed, in order to avoid ambiguities or user confusion:

Unparenthesized assignment expressions are prohibited at the top level of an expression statement. Example:

y := f(x)  # INVALID
(y := f(x))  # Valid, though not recommended

This rule is included to simplify the choice for the user between an assignment statement and an assignment expression -- there is no syntactic position where both are valid.

is completely valid but my IPython sessions of Jupyter notebooks are full of cells like this one:

standard

and because it does not work in pure Python

error

I've prepared a small extension which makes it work:

ipywalrus

Usage

Install the extension from pip or download the ipywalrus.py and put it somewhere in PYTHONPATH:

# pip install ipywalrus

and load it in IPython or Jupyter

%load_ext ipywalrus

If you want to enable this extension permamently, create a default profile (if you don't have one already) ipython profile create and then add ipywalrus to the list of extensions in ~/.ipython/profile_default/ipython_config.py.

License

MIT

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

ipywalrus-0.2.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

ipywalrus-0.2-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file ipywalrus-0.2.tar.gz.

File metadata

  • Download URL: ipywalrus-0.2.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.2 pkginfo/1.4.2 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.6

File hashes

Hashes for ipywalrus-0.2.tar.gz
Algorithm Hash digest
SHA256 267761ccacbc742916933d7e8ce79d0f6628636c1bcbd2a2b9c92ac38d4441b5
MD5 e727d39c20517cb6a4d1983441bffef2
BLAKE2b-256 2f14405c2d62ebc158a32a3e21c7f1d987360e1e258d9535e6844931f35ebf84

See more details on using hashes here.

File details

Details for the file ipywalrus-0.2-py3-none-any.whl.

File metadata

  • Download URL: ipywalrus-0.2-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.2 pkginfo/1.4.2 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.6

File hashes

Hashes for ipywalrus-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5cd3ac89123d27eeaebf1f8e126dae174e6ec9ae6d5ec0e965ce44f1b61229b7
MD5 143b5bb53a26ab50b48c09e5df0d4349
BLAKE2b-256 ee7164e1ed8abd6eb981aa8ededbac196bccef287e730997179b617a1dcf4df9

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