v3.10.0
Features
- By default, registering a subapp will set it's help and version "show" attribute to
False, making--helpand--versionnot show up in the subapp's help page. This is done because the previous behavior (showing these flags) mostly cluttered the help-page and wasn't particularly useful. By @BrianPugh in #363 - Always apply
Parameter.validatorto command-signature default-values. Consider the following code:Previously, if no file was specified,import cyclopts from pathlib import Path def command(file: cyclopts.types.ExistingFile = Path("foo.bin")): pass cyclopts.run(command)filewould bePath("foo.bin"), but the validator that checks if the file exists would have not ran. This is unintuitive/unexpected to the developer. Now Cyclopts always runs validators, even on default values.- By @BrianPugh in #364
- Render default/choices/required styling (colors!) in the help page. by @BrianPugh in #365
- More types:
uint64/int64/Email/URL/Portby @BrianPugh in #366
Bug Fixes
- Fix some situations where
InvalidCommandErrordidn't result in printing command suggestions. by @BrianPugh in #358
Full Changelog: v3.9.3...v3.10.0