To obtain a signature object, pass the target function to the
>>> from funcsigs import signature >>> def foo(a, b=None, *args, **kwargs): ... pass >>> sig = signature(foo)
For the details of the signature object, refer to the either the package of standard library documentation.
funcsigs backport has been tested against:
- CPython 2.6
- CPython 2.7
- CPython 3.2
- PyPy 1.9
Continuous integration testing is provided by Travis CI.
Under Python 2.x there is a compatability issue when a function is assigned to
__wrapped__ property of a class after it has been constructed.
Similiarily there under PyPy directly passing the
__call__ method of a
builtin is also a compatability issues. Otherwise the functionality is
believed to be uniform between both Python2 and Python3.
This is a derived work of CPython under the terms of the PSF License Agreement. The original CPython inspect module, its unit tests and documentation are the copyright of the Python Software Foundation. The derived work is distributed under the Apache License Version 2.0.