Release notes¶
3.0 (2015-05-13)¶
Version 3.0 packs a full rewrite. While it retains backwards-compatibility, the old interface is deprecated. See Upgrading from clize 1 and 2.
- The argument parsing logic has been split between a loop over the parameters and parameter classes. New parameter classes can be made to implement cusom kinds of parameters.
- The CLI inference is now based on
sigtools.specifiers.signature
rather thaninspect.getfullargspec
. This enables a common interface for the function signature to be manipulated prior to being passed to Clize. Namely, the__signature__
attribute can be overriden orsigtools
‘s lazyforger_function
method can be employed. - The
@clize
decorator is deprecated in favor of directly passing functions torun
, thus leaving the original function intact. - Named parameters are now obtained exclusively through keyword-only
parameters. Other information about each parameter is communicated through
parameter annotations.
sigtools.modifiers
provides backwards-compatibility for Python 2. - As a result of implementing the function signature-based abstraction, there are ways to set up decorators that work with Clize.
- The help system now accepts subsection headers for named parameters.
- Coercion functions have been renamed to value converters. Except for a few notable exceptions, they must be tagged with a decorator. This also applies to the type of supplied default values.
- Alternate actions (for instance
--version
) can be supplied directly to run. - Several Parameter converter annotations have been added, including parameters with a limited choice of values, repeatable parameters, parameters that always supply the same value, and more.
2.0 (2012-10-07)¶
This release and earlier were documented post-release.
Version 2.0 adds subcommands and support for function annotations and keyword-only parameters.
1.0 (2011-04-04)¶
Initial release.