diff --git a/memoize/py.typed b/memoize/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/memoize/wrapper.pyi b/memoize/wrapper.pyi new file mode 100644 index 0000000..7353480 --- /dev/null +++ b/memoize/wrapper.pyi @@ -0,0 +1,17 @@ +from typing import Callable, TypeVar, overload, Optional + +from memoize.configuration import CacheConfiguration +from memoize.invalidation import InvalidationSupport +from memoize.statuses import UpdateStatuses + +FN = TypeVar('FN', bound=Callable) + + +@overload +def memoize(*, configuration: Optional[CacheConfiguration] = None, + invalidation: Optional[InvalidationSupport] = None, update_statuses: Optional[UpdateStatuses] = None) -> Callable[[FN], FN]: ... + + +@overload +def memoize(method: FN, configuration: Optional[CacheConfiguration] = None, + invalidation: Optional[InvalidationSupport] = None, update_statuses: Optional[UpdateStatuses] = None) -> FN: ... diff --git a/setup.py b/setup.py index 22ab504..e077959 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,7 @@ def prepare_description(): url='https://github.com/DreamLab/memoize', maintainer='DreamLab', packages=['memoize'], + package_data={'memoize': ['py.typed']}, test_suite='tests', license='Apache License 2.0', description=('Caching library for asynchronous Python applications (both based on asyncio and Tornado) '