pydollar provides an installable import hook to support the dollar sign ($) as valid python syntax.
Project description
About pydollar
pydollar is a Python module which enables a non-native syntax for the dollar sign $ in Python code. It allows you to follow the DRY-principle (don’t repeat yourself) more stricly when writing python code:
Take for example a file called mymodule.py:
from sympy import Symbol
def my_func():
alpha, beta, gamma, delta, epsilon = symbs = map(Symbol, $)
return symbs
we could then import from it by first intalling an import hook:
>>> import pydollar
>>> pydollar.install_import_hook()
>>> from mymodule import my_func
>>> from sympy import init_printing
>>> init_printing()
>>> my_func()
(α, β, γ, δ, ε)
Motivation
f-strings were a great additon to Python 3.6, the $ syntax follows it in spirit, it simply allows you to write succinct code.
If $ syntax (or more importantly, the functionality it provides) becomes official syntax there would be a real-world benefit to widely used codebases, e.g. SymPy:
https://github.com/sympy/sympy/blob/sympy-1.0/sympy/core/symbol.py#L587
Installation
Simplest way to install pydollar is to use pip:
$ python3 -m pip install --user pydollar
you can skip the --user flag if you have got root permissions.
Examples
See the test files under tests/.
License
The source code is Open Source and is released under the very permissive “simplified (2-clause) BSD license”. See LICENSE for further details.
Contributing
Contributors are welcome to suggest improvements at https://github.com/bjodah/pydollar
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
File details
Details for the file pydollar-0.1.3.tar.gz
.
File metadata
- Download URL: pydollar-0.1.3.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61c564bcb841cf2b24019901c93f411eaaea7ed688ff0e35c79fed9d9a5aa7bb |
|
MD5 | 27590b873fa47d9a8ed0520abaa8c20c |
|
BLAKE2b-256 | 9d409982679792ec220b21ba3bb1ac41421b3a62e41e4ef6b9d4ace447ab76b5 |