if sys.version_info >= (3,3):
    from inspect import signature, Parameter
    signature_empty = Parameter.empty
else:
    from funcsigs import signature