BePosPliz (be positional please) is a lightweight module to anonymize the arguments of a function.
Project description
BePosPliz
BePosPliz (be positional please) is a lightweight module to anonymize the arguments of a function.
Relevant PEP: https://peps.python.org/pep-0646
I am not really sure if this has a real world purpose, but playing with new Python features is very enjoyable. I appreciate the effort to improve type expressiveness, and I am looking forward to PEPs 695 and 696 for even more fun :D
Features
anon_args
Usage
Let the following function:
from bepospliz import anon_args
@anon_args
def div(a: int, b: int) -> float:
"""Divide a by b"""
return a / b
div
's original signature is div(a: int, b: int) -> float
.
With the decorator @anon_args
, it becomes div(int, int) -> float
, meaning that it cannot be called by specifically naming the args anymore (e.g. div(b=3, a=2)
)
Signature
anon_args(function: Callable[[*Ps], R]) -> Callable[[*Ps], R]
with Ps
being the set of types of function
's arguments, and R
its return type.
Example
Given the previous div
function, Ps
would be (int, int)
and R
would be float
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for bepospliz-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b152dc2621a7c870a9fd82e7281025a4bac027cb6d7a294e35b8faae0ddad44 |
|
MD5 | e4676318777787a3ad1e24fb232c0c07 |
|
BLAKE2b-256 | 0c7316db53e2f84d53f1903c4f74a228c99cda7b3d717aa5e0ffb9640a2a232f |