40efe21bd3
Successful TravisCI builds will publish code coverage reports to the coveralls service for coverage reporting. |
||
---|---|---|
docs | ||
funcsigs | ||
requirements | ||
tests | ||
.travis.yml | ||
CHANGELOG | ||
LICENSE | ||
Makefile | ||
MANIFEST.in | ||
README.rst | ||
setup.py |
funcsigs
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.
Documentation
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.
Example
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.
Compatability
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.
Issues
Source code for funcsigs
is hosted on GitHub. Any bug reports or
feature requests can be made using GitHub's issues system.
Copyright
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.