pydarg
Pydarg is a python simple utility package providing a way to handle more deeply dictionary parameters of implemented function
REQUIREMENT
Require python 3.6+
INSTALLATION
Run this command line to fetch the package on Pypi
$ pip install pydarg
USAGE
This package provide a method "dct_arg" used as a decorator
Basic Usage
without any parameter, dct_arg unpacks the dictionary argument of function signature
@dct_arg
def example(foo,bar):
print(foo,bar)
param = {'foo':'1,'bar':'2','other':3}
example(param)
the main advantage of using dct_arg instead of **param is that it avoid binding extra argument, making it really useful for handling configuration dictionary having multiple of parameter.
those functions call would also be valid
example(foo='foo',bar='bar')
example({'foo':'foo_1'},bar='bar)
example({},'foo','bar')
It is also possible to override dct_arg's name by using keyword argument. making this line printing "foo_2" and "bar_2"
example({'foo':'foo_1','bar:'bar_1},'foo_2,bar='bar_2)
parameters
dct_arg(
_fct=None, *,
is_positional=True,
is_keyword=True,
name='dct_arg',
path="",
fetch_args=None
):
Where :
-
arg_type:
define what is the type of the dct_arg
- ArgType.POSITIONAL
- ArgType.KEY_WORD
- ArgType.BOTH,
-
name
represent the keyword name of the dct_arg
-
path
if the desired dct_arg is nested you you can specify the path with "/"
-
fetch_args
dictionary composed of key representing keyword parameter, and the path with "/" to fetch them in the dct_arg
Examples
fetch the nested dictionary argument named config
@dct_arg(name='config,path='child/subchild')
def example(e0, e1):
print(e1, e0)
example(config={'child': {'subchild': {'e1': 1, 'e0': 0}}})
example({'child': {'subchild': {'e1': 1}}}, e0=0)
since by default a dct_arg is a positional keyword both function call works
fetch the dct_arg itself as an argument
@dct_arg(fetch_args={'config': ""})
def example(config, e0):
pass
example(configuration={'e0': 0})
Metadata
Release files for pydarg 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pydarg-0.1.tar.gz | 4.0 kB | Without provenance | Details for pydarg-0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pydarg-0.1-py3-none-any.whl | Python 3 | none | any | Details for pydarg-0.1-py3-none-any.whl |
Total release size: 8.5 kB
Release files / pydarg-0.1.tar.gz
| Download URL | pydarg-0.1.tar.gz |
|---|---|
| Size | 4.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
112304fa5b8a189492b762b17ec42a4f22bffe47209dc6b3fce51101314491fd
|
|
BLAKE2b-256 checksum How to use checksums |
f665d5ec339e68cbbbf5443a59d3e9ade6c262a0dc1185a30a963783e3c770e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pydarg-0.1-py3-none-any.whl
| Download URL | pydarg-0.1-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
984a951f5cd0590805d63d5233b7c54b72ab86febc3966542a3957e36d08cf10
|
|
BLAKE2b-256 checksum How to use checksums |
485640338449fd4f6486b050e7b5b05beec9fa526511046455f5527fb976ac05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pydarg 0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.