MCPcopy Create free account
hub / github.com/ipython/traitlets / class_config_rst_doc

Function class_config_rst_doc

traitlets/config/sphinxdoc.py:72–117  ·  view source on GitHub ↗

Generate rST documentation for this class' config options. Excludes traits defined on parent classes.

(cls: type[HasTraits], trait_aliases: dict[str, t.Any])

Source from the content-addressed store, hash-verified

70
71
72def class_config_rst_doc(cls: type[HasTraits], trait_aliases: dict[str, t.Any]) -> str:
73 """Generate rST documentation for this class' config options.
74
75 Excludes traits defined on parent classes.
76 """
77 lines = []
78 classname = cls.__name__
79 for _, trait in sorted(cls.class_traits(config=True).items()):
80 ttype = trait.__class__.__name__
81
82 fullname = classname + "." + (trait.name or "")
83 lines += [".. configtrait:: " + fullname, ""]
84
85 help = trait.help.rstrip() or "No description"
86 lines.append(indent(dedent(help)) + "\n")
87
88 # Choices or type
89 if "Enum" in ttype:
90 # include Enum choices
91 lines.append(indent(":options: " + ", ".join("``%r``" % x for x in trait.values))) # type:ignore[attr-defined]
92 else:
93 lines.append(indent(":trait type: " + ttype))
94
95 # Default value
96 # Ignore boring default values like None, [] or ''
97 if interesting_default_value(trait.default_value):
98 try:
99 dvr = trait.default_value_repr()
100 except Exception:
101 dvr = None # ignore defaults we can't construct
102 if dvr is not None:
103 if len(dvr) > 64:
104 dvr = dvr[:61] + "..."
105 # Double up backslashes, so they get to the rendered docs
106 dvr = dvr.replace("\\n", "\\\\n")
107 lines.append(indent(":default: ``%s``" % dvr))
108
109 # Command line aliases
110 if trait_aliases[fullname]:
111 fmt_aliases = format_aliases(trait_aliases[fullname])
112 lines.append(indent(":CLI option: " + fmt_aliases))
113
114 # Blank line
115 lines.append("")
116
117 return "\n".join(lines)
118
119
120def reverse_aliases(app: Application) -> dict[str, list[str]]:

Callers 1

write_docFunction · 0.85

Calls 6

indentFunction · 0.90
format_aliasesFunction · 0.85
class_traitsMethod · 0.80
appendMethod · 0.80
default_value_reprMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…