- Add support for Python 3.13
- Add a parameter,
overrides
, tocheck_param_annotations
which can be used to skip type deduction and use a hard-coded value instead
- The type annotation used as the return type of a
callback
on a parameter will now be treated as an override which takes precedence over any deduction about the parameter type - The type annotation used as the return type of a custom type's
convert
method will be checked and used as the annotated value for parameter types which do not implementAnnotatedParamType
- The documentation is more explicit about type evaluation logic and order of overrides
- Fix handling for required options, non-required arguments,
nargs=-1
, andnargs=N
forN>1
- Enhance documentation and examples
- Add support for
click.Path(path_type=...)
as a type or a callable with an annotated return type. Unsupportedpath_type
values will raiseTypeError
. - A new parameter is supported for
check_param_annotations
,known_type_names
, a mapping of type values to strings.check_param_annotations
will use this mapping in a best-effort fashion to display the names of types inBadAnnotation
errors.
- Remove
ExplicitlyAnnotatedOption
from the library due to issues with usability. It is now kept in theexamples/
directory - Rename
AnnotatedOption
toAnnotatedParameter
to encompassArgument
subclasses as well
- Fix release process to include build artifacts in github releases
- Initial release