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