Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Sphinx / tests / roots / test-ext-autodoc / target / singledispatch.py
Size: Mime:
import inspect
from functools import singledispatch


def assign_signature(func):
    # This is intended to cover more complex signature-rewriting decorators.
    func.__signature__ = inspect.signature(func)
    return func


@singledispatch
def func(arg, kwarg=None):
    """A function for general use."""
    pass


@func.register(int)
@func.register(float)
def _func_int(arg, kwarg=None):
    """A function for int."""
    pass


@func.register(str)
@assign_signature
def _func_str(arg, kwarg=None):
    """A function for str."""
    pass


@func.register
def _func_dict(arg: dict, kwarg=None):
    """A function for dict."""
    # This function tests for specifying type through annotations
    pass