Option groups and subcommand help sections for pallets/click
Project description
Overview
Master branch |
|
Latest release |
Cloup (= Click + groups) contains a set of Click extensions that enable you to:
define option groups with a clean API;
define constraints, including conditional constraints, on any group of parameters (e.g. mutually_exclusive, RequireAtLeast(1) etc.);
(optionally) show an auto-generated description of defined constraints in the command help;
organize the subcommands of a MultiCommand in multiple help sections.
These features are implemented in three “mixins” following the same pattern of click-contrib extensions (cooperative multiple inheritance). For ease of use, Cloup also provides:
its own versions of Click commands classes, obtained by mixing Click classes with the above mentioned mixins;
its own versions of Click command decorators, for creating such commands.
Documentation
Read more in the documentation:
Change Log
V0.6.0 (2021-02-28)
Incompatible changes
Removed the deprecated GroupSection as previously announced. Use the new name instead: Section.
In Group.group() and Group.command, the argument section was moved after the cls argument so that the signatures are now fully compatible with those of the parent class (the Liskov substitution principle is now satisfied). If you (wisely) passed section and cls as keyword arguments in your code, you don’t need to change anything.
Compatible changes
Slightly improved return type (hint) of command decorators.
Minor refactoring of ConstraintMixin.
Improved the documentation.
V0.5.0 (2021-02-10)
Requirements
Drop support to Python 3.5.
Deprecated
GroupSection was renamed as Section.
Compatible changes and features
Added a subpackage for defining constraints on parameters groups (including OptionGroup’s).
The code for adding support to option groups was extracted to OptionGroupMixin.
Most of the code for adding support to subcommand sections was extracted to SectionMixin.
Project changes
Migrated from TravisCI to GitHub Actions.
v0.4.0 (2021-01-10)
Requirements
This is the last release officially supporting Python 3.5.
Compatible changes and features
Changed the internal (non-public) structure of the package.
Minor code improvements.
Repository-wise:
New documentation (hosted by ReadTheDocs)
Tox, TravisCI, Makefile completely rewritten.
v0.3.0 (2020-03-26)
Backward incompatible API changes
option_groups decorator now takes options as positional arguments *options;
Group.section decorator now takes sections as positional arguments *sections;
align_sections_help was renamed to align_sections;
GroupSection.__init__() sorted_ argument was renamed to sorted.
Other changes
Additional signature for option_group: you can pass the help argument as 2nd positional argument.
Aligned option groups (option align_option_groups with default True).
More refactoring and testing.
v0.2.0 (2020-03-11)
[Feature] Add possibility of organizing subcommands of a cloup.Group in multiple help sections.
Various code improvements.
- Backward incompatible change:
rename CloupCommand and CloupGroup resp. to just Command and Group.
v0.1.0 (2020-02-25)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cloup-0.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ade8c7ce3176e15f25ba5186e1299e8ed0e7052c70d028055c77ac9349652ad |
|
MD5 | 5f95ecc6640955065705d5fcfae6e887 |
|
BLAKE2b-256 | d1b01abcd0c0fd2d976df861754fbda403fe956804c518690559ebf8a8b51a37 |