utility for checking that call args have the expected types and all required args are provided
Project description
Arg Check
A Python utility for checking that call args have the expected types and all required args are provided.
Works only with Python 3.7 (fixing that soon)
Installation
pip install arg-check
Usage
This library uses simple decorators.
Argument Type Checking
@enforce_arg_types
def foobar(a: int, b: str):
...
- Type checking is performed via the annotations. If an argument does not have an annotation, type checking is skipped just for that argument.
- If an argument is a collection, all items in the collection are checked.
- Can handle
Union
andOptional
Required Arguments
@required_args("a", "b")
def foobar(a, b, c=None):
...
- Tests the given arguments and raises a
ValueError
if the value is eitherNone
or an empty string - To make all arguments required, use
@required_args
without parenthesis
All checks in one decorator
@strict_args
def foobar(a: int, b: str):
...
- All arguments are type checked
- All arguments are required
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
argument-checks-0.1.1.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for argument_checks-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bac4006f6f051f7bb39e566630f4a0f9c8f279ff9495bf47733232e4b8573538 |
|
MD5 | 8510d55f424b5931b250be2fef4b3f24 |
|
BLAKE2b-256 | bd97624df0e983d0431fc3a071d26745ca759ab380425c565ffdc257610e0db1 |