No project description provided
Project description
typeduck
Introduction
A lightweight utility for comparing annotation declarations for their compatibility.
Installation
Requires Python 3.8 or above.
pip install typeduck
Usage
from typing import Union, List
from typeduck import types_validate
source = List[str]
target = List[Union[str, int]]
types_validate(source, target) # returns a boolean
# OR
types_validate(source, target, raises=True) # will raise a TypeError when validation fails
Use Cases
Validate annotations between functions or classes match
from typing import List, Union
from typeduck import types_validate
def my_func() -> List[str]:
...
def your_func(data: List[Union[int, str]]):
...
source = my_func.__annotations__['return']
target = your_func.__annotations__['data']
are_compatible = types_validate(source, target) # True
See more examples in the tests.py file.
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
typeduck-0.1.0.tar.gz
(3.7 kB
view hashes)