Skip to content

v1.8.0dev0

Pre-release
Pre-release
Compare
Choose a tag to compare
@dwreeves dwreeves released this 09 Apr 11:19
· 75 commits to main since this release
52e1e2d
  • Add --rich-config option to the rich-click CLI.
  • Better typing for option groups and command groups with TypedDict [#156]
  • Lazy load Rich to reduce overhead when not rendering help text. [#154]
  • Some internal refactors. These refactors are aimed at making the abstractions more maintainable over time, more consistent, and more adept for advanced used cases.
    • rich_click.py is exclusively the global config; all formatting has been moved to rich_help_rendering.py.
    • RichCommand now makes use of methods in the super class: format_usage, format_help_text, format_options, and format_epilog.
    • Global formatter object has been removed from the code.
    • highlighter is now constructed by the RichHelpFormatter rather than being inside the config object.
  • Added RichHelpConfiguration.load_from_globals() classmethod, which pulls all configuration from rich_click.py.
  • Fix bug with regex highlighter for options and switches.
  • RichHelpConfiguration() is now asserted to be JSON serializable, as an option for porting configurations. That said, serialization is not a fully supported feature of the high-level API, so serialize the config at your own risk.
    • Related: highlighter is now deprecated in RichHelpConfiguration; please use highlighter_patterns instead.
  • Moved exclusively to pyproject.toml and removed setup.py / setup.cfg; thank you @Stealthii!
  • Moved to text_markup: Literal["markdown", "rich", None] instead of booleans.
  • Fixed bug where CLI errors did not output to stderr.