python-args, inspired by attrs, removes the boilerplate of processing arguments to functions and methods.
Decorating your functions with python-args decorators like arg.validators can make your code more composable, more readable, and easier to test. Along with this, functions decorated with python-args can be used to by other tools and frameworks to build more expressive interfaces. The django-args and django-action-framework libraries are two examples.
The core python-args decorators are as follows:
@arg.validators(*validation_funcs): Runs validation functions that can take the same named arguments as the decorated function. When decorating a function with arg.validators, you not only de-couple your function from argument validation logic, but python-args will allow other interfaces to only run the validators of your function.
@arg.defaults(**arg_default_funcs): Sets arguments to default values. The default functions can similarly take the same named parameters of the decorated function.
@arg.parametrize(**parametrize_funcs): Runs a function multiple times for a particular input.
@arg.contexts(*context_funcs): Enters context managers before a function. Context managers can take the same named parameters as the decorated function.
View the docs here for a tutorial and more examples of how python-args can be used in practice.
Documentation
Installation
Install python-args with:
pip3 install python-args
Contributing Guide
For information on setting up python-args for development and contributing changes, view CONTRIBUTING.rst.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File name
Interpreter
ABI
Platform
File details
Details for the file python-args-1.0.2.tar.gz.
File metadata
- Download URL: python-args-1.0.2.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.0.9 CPython/3.8.2 Linux/4.15.0-1067-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
414ff6f74f42fdfbc279587b8394f89331a6d9db22c890e3fb8be4dc45e8ff49
|
|
| MD5 |
11d9fa04480896341b09501fb6f0ee5c
|
|
| BLAKE2b-256 |
7715a6cc05ff70629d4eba5d7b3eed1486508c44ab6e5ac7677f4d132a662919
|
File details
Details for the file python_args-1.0.2-py3-none-any.whl.
File metadata
- Download URL: python_args-1.0.2-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.0.9 CPython/3.8.2 Linux/4.15.0-1067-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe96c87aa9622a33d058821a9cd96fc61489bdad743cfcc0b729e1db951f9698
|
|
| MD5 |
d83193733b311a43f57ec059cd1972dc
|
|
| BLAKE2b-256 |
3655f7e6042c6074401786d6d035ab2a52221753bdf1a9389e1936f9adf35cdd
|