Define signature for Triggers.
Use __signature__ attribute on ParametrizedSingleton to get the
correct signature.
This fixes the output from help(). For example:
class Edge(_EdgeBase)
|  Edge(*args, **kwargs)
becomes
class Edge(_EdgeBase)
|  Edge(signal)
"""Collection of handy functions."""
import ctypes
+import inspect
import math
import os
import sys
@@ -459,6 +460,10 @@ class ParametrizedSingleton(type):
cls.__instances[key] = self
return self
+ @property
+ def __signature__(cls):
+ return inspect.signature(cls.__singleton_key__)
+
def reject_remaining_kwargs(name, kwargs):
"""
