This is a documentation enhancement. By adding overloads modeled on the code here to the factory definitions,
the issue of the cache_factory decorators producing less-than-helpful function signatures in IDE tooltips is addressed (at the expense of the addition of some boilerplate code).
@overload
def session_factory() -> Session:
"""Return a default Session instance for testing purposes.
The Session is initialized with default attributes.
Args:
cache_id (CacheId, default=CACHE_DEFAULT):
An optional identifier to distinguish different cached instances.
If None, caching is disabled for this call.
"""
@overload
def session_factory(*, cache_id: CacheId = CACHE_DEFAULT) -> Session:
"""Return a default Session instance for testing purposes.
The Session is initialized with default attributes.
Args:
cache_id (CacheId, default=CACHE_DEFAULT):
An optional identifier to distinguish different cached instances.
If None, caching is disabled for this call.
"""
This is a documentation enhancement. By adding overloads modeled on the code here to the factory definitions,
the issue of the cache_factory decorators producing less-than-helpful function signatures in IDE tooltips is addressed (at the expense of the addition of some boilerplate code).