Skip to main content

No project description provided

Project description

Validation Decorators

Simple and fast type-checking and parameter validation.

Do you want to remove visual clutter in your python function? Do you want to check types fast without a lot of boilerplate?

Then this package is right for you.

Not convinced? Check out the following:

# classic
def foo(bar: int, message: str, some_additional_info: dict):
    if not isinstance(bar, int):
        raise TypeError(...)
    if not isinstance(message, str):
        raise TypeError(...)
    if not isinstance(some_additional_info, dict):
        raise TypeError(...)
    # now begin to code...

# now
@validate_types(bar=(int,), message=(str,), some_additional_info=(dict,))
def foo(bar: int, message: str, , some_additional_info: dict):
    # begin to code

If of course also supports multiple types:

from pathlib import Path

@validate_types(path=(str, Path), message=(str,))
def foo(path: str | Path, message: str):
    # begin to code

Do you want to convert your input-types fast and without clutter?

def from_dict(dict_: dict):
    return (dict_.get('bar'), dict_.get('message'), dict_.get('some_additional_info')), {}

@convert_with(from_dict)
def foo(bar: int, message:str, some_additional_info: dict):
    ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decorator_validation-1.0.0.tar.gz (2.2 kB view hashes)

Uploaded Source

Built Distribution

decorator_validation-1.0.0-py3-none-any.whl (2.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page