I see this message in several places in the help() output for gpiod:
"See help(type(self)) for accurate signature.", but I can't work out
what I actually need to type into help() to get a result.
So, for example, I say 'help("gpiod.line_settings")', I see, among
other things:-
| __init__(
| self,
| direction: gpiod.line.Direction = <Direction.AS_IS: 1>,
| edge_detection: gpiod.line.Edge = <Edge.NONE: 1>,
| bias: gpiod.line.Bias = <Bias.AS_IS: 1>,
| drive: gpiod.line.Drive = <Drive.PUSH_PULL: 1>,
| active_low: bool = False,
| debounce_period: datetime.timedelta = datetime.timedelta(0),
| event_clock: gpiod.line.Clock = <Clock.MONOTONIC: 1>,
| output_value: gpiod.line.Value = <Value.INACTIVE: 0>
| ) -> None
| Initialize self. See help(type(self)) for accurate signature.
What do I actually need to type to get that "accurate signature"?
On Sun, 15 Mar 2026 09:05:08 +0000, Chris Green wrote:
I see this message in several places in the help() output for gpiod:
"See help(type(self)) for accurate signature.", but I can't work out
what I actually need to type into help() to get a result.
So, for example, I say 'help("gpiod.line_settings")', I see, among
other things:-
| __init__(
| self,
| direction: gpiod.line.Direction = <Direction.AS_IS: 1>,
| edge_detection: gpiod.line.Edge = <Edge.NONE: 1>,
| bias: gpiod.line.Bias = <Bias.AS_IS: 1>,
| drive: gpiod.line.Drive = <Drive.PUSH_PULL: 1>,
| active_low: bool = False,
| debounce_period: datetime.timedelta = datetime.timedelta(0),
| event_clock: gpiod.line.Clock = <Clock.MONOTONIC: 1>,
| output_value: gpiod.line.Value = <Value.INACTIVE: 0>
| ) -> None
| Initialize self. See help(type(self)) for accurate signature.
What do I actually need to type to get that "accurate signature"?
Actually, you?ve got it right there. When you call the class to create
an instance, you are actually calling the __init__ method (or the
__new__ method, if that?s defined). So the arguments you need to pass
are exactly those accepted by that method. No need to look anywhere
else for the ?accurate signature?, since you have just posted it.
Or it just means that the detailed docstring explaining what all those
args are for is attached to the class, not this __init__ method.
Lawrence D?Oliveiro <ldo@nz.invalid> wrote:
On Sun, 15 Mar 2026 09:05:08 +0000, Chris Green wrote:
In that case what does that "See help(type(self)) for accurate
signature" mean then?
Or it just means that the detailed docstring explaining what all
those args are for is attached to the class, not this __init__
method.
I see this message in several places in the help() output for gpiod:
"See help(type(self)) for accurate signature.", but I can't work out
what I actually need to type into help() to get a result.
So, for example, I say 'help("gpiod.line_settings")', I see, among
other things:-
| __init__(
| self,
| direction: gpiod.line.Direction = <Direction.AS_IS: 1>,
| edge_detection: gpiod.line.Edge = <Edge.NONE: 1>,
| bias: gpiod.line.Bias = <Bias.AS_IS: 1>,
| drive: gpiod.line.Drive = <Drive.PUSH_PULL: 1>,
| active_low: bool = False,
| debounce_period: datetime.timedelta = datetime.timedelta(0),
| event_clock: gpiod.line.Clock = <Clock.MONOTONIC: 1>,
| output_value: gpiod.line.Value = <Value.INACTIVE: 0>
| ) -> None
| Initialize self. See help(type(self)) for accurate signature.
What do I actually need to type to get that "accurate signature"?
Jon Ribbens <jon+usenet@unequivocal.eu> wrote or quoted:
I don't know why it says "type(self)",
because help(foo) where 'foo' is an instance of a class 'xyz'
seems to display the same as help(xyz) anyway.
|Python 3.14
import types
self = types.SimpleNamespace()
self.__doc__ = "my custom doc"
|Help on SimpleNamespace:help(self)
|namespace(__doc__='my custom doc')
| my custom doc
|Help on class SimpleNamespace in module types:help(type(self))
|class SimpleNamespace(builtins.object)
| | SimpleNamespace(mapping_or_iterable=(), /, **kwargs)
| | A simple attribute-based namespace.
| | Methods defined here:
. . .
the class itself doesn't have
a docstring either. So there is nothing to display no matter what
you type.
Even without docstrings, info about names, parameters etc. is shown.
| Sysop: | Jacob Catayoc |
|---|---|
| Location: | Pasay City, Metro Manila, Philippines |
| Users: | 5 |
| Nodes: | 4 (0 / 4) |
| Uptime: | 121:35:58 |
| Calls: | 125 |
| Calls today: | 125 |
| Files: | 489 |
| D/L today: |
859 files (365M bytes) |
| Messages: | 76,611 |
| Posted today: | 26 |