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
File details
Details for the file bepospliz-1.0.1.tar.gz
.
File metadata
- Download URL: bepospliz-1.0.1.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a6588055e9498fff28497d8fd511b820237b6d82526b8997428929f24bb8242 |
|
MD5 | e5a91dc23982465cb3f223a2232b696b |
|
BLAKE2b-256 | 047532b99ead9b4b5d56b409bf03d9d4db80371f8855efa9925b98c0ae6da59b |
File details
Details for the file bepospliz-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: bepospliz-1.0.1-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b152dc2621a7c870a9fd82e7281025a4bac027cb6d7a294e35b8faae0ddad44 |
|
MD5 | e4676318777787a3ad1e24fb232c0c07 |
|
BLAKE2b-256 | 0c7316db53e2f84d53f1903c4f74a228c99cda7b3d717aa5e0ffb9640a2a232f |