Python function signatures package for Python 2.6, 2.7 and 3.2+
Switch branches/tags
Clone or download
Aaron Iles
Aaron Iles Version increment to 0.4
Update version number of 0.4 for new release.
Latest commit db7f0af Dec 20, 2013



funcsigs is a backport of the PEP 362 function signature features from Python 3.3's inspect module. The backport is compatible with Python 2.6, 2.7 as well as 3.2 and up.

Latest PyPI version


The reference documentation is standard library documentation for the inspect module in Python3. This documentation has been included in the funcsigs package documentation hosted on Read The Docs.


To obtain a signature object, pass the target function to the funcsigs.signature function.

>>> 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.


The 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 the __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.


Source code for funcsigs is hosted on GitHub. Any bug reports or feature requests can be made using GitHub's issues system. Current build status Coverage status


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.