MATLAB-style function argument validation for Python - clean, simple, and reliable.
Project description
func-validator
MATLAB-style function argument validation for Python - clean, simple, and reliable.
Table of Contents
Installation
$ pip install func-validator
Imports
- Import for the function decorator
>>> from func_validator import validate_func_args # or validate_func_args_at_runtime
- Import for the validators
>>> from func_validator import MustBeGreaterThan, MustMatchRegex
Usage
>>> from typing import Annotated
>>> from func_validator import (validate_func_args,
... MustBePositive,
... MustBeNegative)
>>> @validate_func_args
... def func(a: Annotated[int, MustBePositive],
... b: Annotated[float, MustBeNegative]):
... return (a, b)
>>> func(10, -10) # ✅ Correct
(10, -10)
>>> func(-10, -10) # ❌ Wrong -10 is not positive and 10 is not negative
Traceback (most recent call last):
...
ValidationError: x=-10 must be > 0.0.
>>> func(0, -10) # ❌ Wrong 0 is not positive
Traceback (most recent call last):
...
ValidationError: x=0 must be > 0.0.
Validators
This is not the exhaustive list for all validators, checkout the docs for more examples.
Collection Validators
| MustBeMemberOf | Validate that argument value is in a collection |
| MustBeEmpty | Validate that argument value is empty |
DataType Validators
| MustBeA | Validates that the value is of the specified type |
Numeric Validators
| MustBePositive | Validate that argument value is positive |
| MustBeNegative | Validate that argument value is negative |
Text Validators
| MustMatchRegex | Validates that the value matches the provided regular expression. |
License
MIT License
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
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 details
Details for the file func_validator-0.10.0.tar.gz.
File metadata
- Download URL: func_validator-0.10.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7e749f71d7caef26436d0192cb6693f93548df1cc47ab9e3ecf7587f432f457
|
|
| MD5 |
15178062b8ffc2142a12770e029fe4c7
|
|
| BLAKE2b-256 |
2ddf77e7a739ce502a43850e47c7a318d9d7588089c13793a5810ede5f997e00
|
Provenance
The following attestation bundles were made for func_validator-0.10.0.tar.gz:
Publisher:
func-validator-publish.yml on patrickboateng/func-validator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
func_validator-0.10.0.tar.gz -
Subject digest:
b7e749f71d7caef26436d0192cb6693f93548df1cc47ab9e3ecf7587f432f457 - Sigstore transparency entry: 447020589
- Sigstore integration time:
-
Permalink:
patrickboateng/func-validator@3b5700512e6ddd7db70814e1769d91971de18ee3 -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/patrickboateng
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
func-validator-publish.yml@3b5700512e6ddd7db70814e1769d91971de18ee3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file func_validator-0.10.0-py3-none-any.whl.
File metadata
- Download URL: func_validator-0.10.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20935380d6f287f8a6e577425b37ef7e8af02fa9efeddc4965a19d056fcadf0a
|
|
| MD5 |
7ddfea71f39539535ef85278460e4c6c
|
|
| BLAKE2b-256 |
5a97df94cb771c169817f5a543eed459a480c1b0f79ad17939a204d906a1ea2a
|
Provenance
The following attestation bundles were made for func_validator-0.10.0-py3-none-any.whl:
Publisher:
func-validator-publish.yml on patrickboateng/func-validator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
func_validator-0.10.0-py3-none-any.whl -
Subject digest:
20935380d6f287f8a6e577425b37ef7e8af02fa9efeddc4965a19d056fcadf0a - Sigstore transparency entry: 447020610
- Sigstore integration time:
-
Permalink:
patrickboateng/func-validator@3b5700512e6ddd7db70814e1769d91971de18ee3 -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/patrickboateng
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
func-validator-publish.yml@3b5700512e6ddd7db70814e1769d91971de18ee3 -
Trigger Event:
push
-
Statement type: