Layouts¶
A layout controls how help output is rendered.
from interfacy import Interfacy
from interfacy.appearance import ClapLayout
Interfacy(help_layout=ClapLayout()).run(main)
The command behavior does not change. Only the help presentation changes.
Built-in layouts¶
InterfacyLayoutStandardLayoutArgparseLayoutAlignedAlignedTypedModernClapLayout
from interfacy.appearance import Aligned, Modern, StandardLayout
Interfacy(help_layout=Aligned()).run(main)
Interfacy(help_layout=Modern()).run(main)
Interfacy(help_layout=StandardLayout()).run(main)
Layout settings¶
Layouts expose formatting options as constructor keyword arguments.
from interfacy.appearance import Aligned
layout = Aligned(
help_position=32,
command_indent=4,
command_group_spacing=1,
)
Interfacy(help_layout=layout).run(main)
Common settings include:
help_positionfor the description columncommand_indentfor command rowscommand_group_spacingfor grouped command sectionshelp_option_sort_defaultfor option orderhelp_subcommand_sort_defaultfor command order
Parser-level override¶
Interfacy(help_position=...) can override the layout’s help column for one parser.
Interfacy(
help_layout=Aligned(),
help_position=36,
).run(main)
This sets one column width without creating a custom layout subclass.
API reference¶
See Appearance for the full layout API.