pybind_signatures module

pybind11 function signature extraction

Classes

class MyClass
My fun class!
class MyClass23
Testing pybind 2.3 features
class MyClass26
Testing pybind 2.6 features

Functions

def crazy_signature(…)
Function that failed to get parsed
def duck(*args, **kwargs) -> None
A function taking args/kwargs directly
def escape_docstring(arg0: int, /) -> None
A docstring that <em>should</em> be escaped
def failed_parse_docstring(…)
A failed parse should <strong>also</strong> escape the docstring
def full_docstring(arg0: int, /) -> None
A summary
def full_docstring_overloaded(arg0: int, arg1: int, /) -> None
An overload summary
def full_docstring_overloaded(arg0: float, arg1: float, /) -> None
Another overload summary
def overloaded(arg0: int, /) -> str
Overloaded for ints
def overloaded(arg0: float, /) -> bool
Overloaded for floats
def scale(arg0: int, arg1: float, /) -> int
Scale an integer
def scale_kwargs(a: int, argument: float) -> int
Scale an integer, kwargs
def takes_a_function(arg0: typing.Callable[[float, typing.List[float]], int], /) -> None
A function taking a Callable
def takes_a_function_returning_none(arg0: typing.Callable[[], None], /) -> None
A function taking a Callable that returns None
def taking_a_list_returning_a_tuple(arg0: typing.List[float], /) -> typing.Tuple[int, int, int]
Takes a list, returns a tuple
def tenOverloads(arg0: float, arg1: float, /) -> None
Ten overloads of a function
def tenOverloads(arg0: int, arg1: float, /) -> None
Ten overloads of a function
def tenOverloads(arg0: bool, arg1: float, /) -> None
Ten overloads of a function
def tenOverloads(arg0: float, arg1: int, /) -> None
Ten overloads of a function
def tenOverloads(arg0: int, arg1: int, /) -> None
Ten overloads of a function
def tenOverloads(arg0: bool, arg1: int, /) -> None
Ten overloads of a function
def tenOverloads(arg0: float, arg1: bool, /) -> None
Ten overloads of a function
def tenOverloads(arg0: int, arg1: bool, /) -> None
Ten overloads of a function
def tenOverloads(arg0: bool, arg1: bool, /) -> None
Ten overloads of a function
def tenOverloads(arg0: str, arg1: str, /) -> None
Ten overloads of a function
def void_function(arg0: int, /) -> None
Returns nothing

Function documentation

def pybind_signatures.full_docstring(arg0: int, /) -> None

A summary

And a larger docstring as well.

def pybind_signatures.full_docstring_overloaded(arg0: int, arg1: int, /) -> None

An overload summary

This function takes a value of 2. full_docstring_overloaded(a: float, b: float) takes just 3 instead.

def pybind_signatures.full_docstring_overloaded(arg0: float, arg1: float, /) -> None

Another overload summary

This overload, however, takes just a 32-bit (or 64-bit) floating point value of 3. full_docstring_overloaded(a: int, b: int) takes just 2. There's nothing for 4. full_docstring_overloaded(a: poo, b: foo) could be another, but it's not added yet.