变化¶
版本8.2.1¶
发布2025-05-20
版本8.2.0¶
发布2025-05-10
使用现代包装元数据
pyproject.toml而不是setup.cfg. #2438使用
flit_core而不是setuptools作为构建后台。 #2543不推荐使用
__version__属性。使用特征检测,或importlib.metadata.version("click"),而不是。 #2598BaseCommandis deprecated.Commandis the base class for all commands. #2589MultiCommandis deprecated.Groupis the base class for all group commands. #2590不推荐使用当前的解析器以及相关的类和方法。 #2205
OptionParser以及parser模块,它是修改后的optparse在标准库中。Context.protected_args是不必要的。Context.args包含分析时的任何剩余参数。Parameter.add_to_parser(在两个上Argument和Option)是不需要的。解析直接工作,不需要构建单独的解析器。split_arg_string从parser至shell_completion。
启用对批注的延迟计算
from __future__ import annotations。 #2270从修饰函数的名称生成命令名时,后缀
_command,_cmd,_group,以及_grp都被移除了。 #2322显示
types.ParamType.name为types.Choice内的选项--helpmessage ifshow_choices=False指定了 #2356当出现时,不要在提示中显示默认值
Option.show_default是False. #2509添加
get_help_extra方法对Option获取生成的用于get_help_record呈现帮助文本。 #2516 #2517保持stdout和stderr流独立
CliRunner.始终收集stderr输出,并且永远不会引发异常。添加新的输出流来模拟用户在其终端中看到的内容。移除mix_stderr参数CliRunner. #2522 #2523Option.show_envvarnow also shows environment variable in error messages. #2695 #2696Context.closewill be called on exit. This results in allContext.call_on_closecallbacks and context managers added viaContext.with_resourceto be closed on exit as well. #2680添加
ProgressBar(hidden: bool)以允许隐藏进度条。 #2609A
UserWarning当多个参数尝试使用同一名称时,将显示。 #2396当使用
Option.envvar与Option.flag_value,flag_value将始终使用,而不是环境变量的值。 #2746 #2788添加
Choice.get_invalid_choice_message自定义无效选择消息的方法。 #2621 #2622如果提供帮助是因为
no_args_is_help已启用(默认为True对于团体来说,False对于命令),退出代码是2而不是0。 #1489 #1489Shell完成期间创建的上下文被正确关闭,修复了
ResourceWarning当使用click.File. #2644 #2800 #2767click.edit(filename)now supports passing an iterable of filenames in case the editor supports editing multiple files at once. Its return type is now also typed:AnyStriftextis passed, otherwiseNone. #2067 #2068专业打字
progressbar(length=...)作为ProgressBar[int]. #2630提高
echo_via_pager面对错误的行为。 #2674如果发生器传递给呼叫器,则终止呼叫器
echo_via_pager引发一个例外。确保始终关闭到呼叫器进程的管道并等待其终止。
echo_via_pager不会忽视KeyboardInterruptanymore.这允许用户在使用更少然后使用ctrl-c中止程序时搜索生成器的未来输出。
deprecated: bool | strcan now be used on options and arguments. This previously was only available forCommand. The message can now also be customised by using astrinstead of abool. #2263 #2271Command.deprecated格式化--help由(Deprecated) help到help (DEPRECATED).无法要求参数,也无法提示参数,否则会引发错误。
当使用过时的东西时,将打印一个警告。
添加
catch_exceptions参数以CliRunner.如果catch_exceptions未传递给CliRunner.invoke,值来自CliRunner采用了 #2817 #2818Option.flag_valuewill no longer have a default value set based onOption.defaultifOption.is_flagisFalse. This results inOption.defaultnot needing to implement__bool__. #2829不正确
click.edit打字已被更正。 #2804Choiceis now generic and supports any iterable value. This allows you to use enums and other non-strvalues. #2796 #605
版本8.1.8¶
发布2024-12-19
修复类型提示的问题
click.open_file(). #2717修复错误消息无效的问题
click.Path在多行上显示。 #2697修复了阻止默认值的问题
""避免在帮助中显示选项。 #2500测试运行者在Windows上一致地处理剥离颜色。 #2705
使用时显示标志默认值的正确值
default_map. #2632修复
click.echo(color=...)通过color到coloroma这样它就可以在Windows上强制执行。 #2606 .更强大的bash版本检查,使用git-bash修复Windows上的问题。 #2638
方法生成的帮助选项
help_option_names开始尊重它的渴望。 #2811取代使用
os.system与subprocess.Popen. #1476命令期间生成的收件箱将使用上下文的
color显示时设置。 #2193定义名称无效的选项时的错误消息更具描述性。 #2452
重构代码生成默认值
--help重复代码删除选项。 #2563测试
CLIRunner重置修补_compat.should_strip_ansi. #2732
版本8.1.7¶
已发布2023-08-17
版本8.1.6¶
已发布2023/07/18
修复与类型提示有关的问题
@click.group()。 #2558
版本8.1.5¶
已发布2023/07/13
修复与类型提示有关的问题
@click.command(),@click.option(),和其他装饰商。引入打字测试。 #2558
版本8.1.4¶
已发布2023-07-06
全部替换
typing.Dict引用数为typing.MutableMapping以获取参数提示。 #2255改进装饰符的类型提示,并提供所有泛型类型参数。 #2398
固定返回值和类型签名
shell_completion.add_completion_class功能。 #2421Bash版本检测在Windows上不会失败。 #2461
如果有点,则补全起作用 (
.)。 #2166改进了pyright类型检查器的类型批注。 #2268
提高响应速度
click.clear()。 #2284改进了使用Shiv或PEX时的命令名检测。 #2332
如果命令帮助文本为空,则避免显示空行。 #2368
ZSH完成脚本在从加载时起作用
fpath。 #2344 。EOFErrorandKeyboardInterrupttracebacks are not suppressed whenstandalone_modeis disabled. #2380@group.commanddoes not fail if the group was created with a customcommand_class. #2416multiple=Trueis allowed for flag options again and does not require settingdefault=(). #2246, 2292, 2295使装修人员退还给
@argument()和@option()在以下情况下可重用cls参数被使用。 #2294在将文件名写入带有严格错误的流时,不要失败。用替换字符替换无效字节 (
�)。 #2395删除检测MSYS2环境的不必要尝试。 #2355
删除过时和不必要的App Engine环境检测。 #2554
echo()does not fail when no streams are attached, such as withpythonwon Windows. #2415与……争论
expose_value=False不要导致完成失败。 #2336
版本8.1.3¶
已发布2022-04-28
版本8.1.2¶
已发布2022-03-31
版本8.1.1¶
已发布2022-03-30
修复了装饰符类型问题,该问题导致类型检查报告命令不可调用。 #2227
版本8.1.0¶
已发布2022-03-28
放弃对Python3.6的支持。 #2129
删除以前弃用的代码。 #2130
Group.resultcallback已重命名为result_callback。autocompletion参数设置为Command已重命名为shell_complete。get_terminal_size被移除,请使用shutil.get_terminal_size取而代之的是。get_os_args被移除,请使用sys.argv[1:]取而代之的是。
依赖于 PEP 538 和 PEP 540 来处理选择UTF-8编码而不是ASCII编码。将删除Click的区域设置编码检测。 #2198
单个选项布尔标志,带有
show_default=True如果是,则仅显示缺省值True。 #1971这个
command和group装饰符可以带括号或不带括号。 #1359这个
Path类型可以检查目标是否可执行。 #1961Command.show_defaultoverridesContext.show_default, instead of the other way around. #1963参数修饰符和
@group手柄cls=None等同于不及格cls。@option手柄help=None等同于不及格help。 ##1959带有的标志选项
required=True要求传递标志,而不是选择隐式缺省值。 #1978传递给的帮助文本中的缩进
Option和Command被清理的方式与使用@option和@command装修工就是这么做的。司令部的epilog和short_help也会被处理。 #1985未处理的存储
Command.help,epilog和short_help弦乐。只有在格式化输出的帮助文本时才会进行处理。 #2149允许为输入空字符串
prompt()什么时候confirmation_prompt=True和default=""。 #2157如果值是无效模式,Windows全局模式扩展不会失败。 #2195
可以传递一个列表,其中
params至@command。使用修饰符定义的任何参数都会附加到传递的参数之后。 #2131 。@commanddecorator is annotated as returning the correct type if aclsargument is used. #2211A
Group使用invoke_without_command=True和chain=False将使用GROUP函数的返回值调用其结果回调。 #2124to_info_dictwill not fail if aParamTypedoesn't define aname. #2168Shell补全将带有选项前缀的选项值优先于新选项。 #2040
使用获取环境变量值的选项
autoenvvar_prefix将空值视为None,与直接的envvar。 #2146
版本8.0.4¶
已发布2022-02-18
open_filerecognizesPath("-")as a standard stream, the same as the string"-". #2106这个
option和argument修饰符保留已修饰函数的类型批注。 #2155可调用的默认值可以通过重写
__str__而不是总是表现出来(dynamic)。 #2099修复影响文件和目录完成的Bash完成脚本中的一个拼写错误。如果此脚本是由以前的版本生成的,则应重新生成。 #2163
修复以下项目的键入
echo和secho文件参数。 #2174, 2185
版本8.0.3¶
发布时间2021/10/10
修复问题
Path(resolve_path=True)键入创建无效路径。 #2088正在导入
readline不会导致confirm()按退格键时提示消失。 #2092注入的任何缺省值
invoke()被强制转换为相应参数的类型。 #2089, 2090
版本8.0.2¶
已发布2021/10/08
is_bool_flagis not set toTrueifis_flagisFalse. #1925Bash版本检测是独立于区域设置的。 #1940
空的
default值不会显示为multiple=True。 #1969修复以正斜杠开头的参数(如绝对文件路径)的Shell完成。 #1929
Pathtype withresolve_path=Trueresolves relative symlinks to be relative to the containing directory. #1921完成在退出时不会跳过Python的资源清理,从而避免了一些意外的警告输出。 #1738, 2017
的FIX类型批注
type中的论点prompt功能。 #2062修复添加下划线时错误添加的上划线和斜体样式。 #2058
一个选项,带有
count=True将不会显示“ [x>=0] “在帮助文本中。 #2072在处理过程中,不会两次将默认值强制转换为参数类型。 #2085
选项:
multiple和flag_value使用标志值,而不是保留内部占位符。 #2001
版本8.0.1¶
已发布2021-05-19
将顶级名称标记为已导出,以便类型检查了解用户项目中的导入。 #1879
注解
Context.objASAny因此,类型检查允许对任意对象执行所有操作。 #1885修复一些在Python3.6.0中不可用的类型。 #1882
用于迭代的修复类型检查
ProgressBar对象。 #1892这个
importlib_metadata后端口包安装在版本低于3.8的Python上。 #1889与
nargs=-1只有在没有给出命令行值的情况下才使用env var值。 #1903标志选项猜测它们的类型
flag_value如果给定,则像常规选项一样从default。 #1886添加了文档,说明除了字符串之外,还可以向自定义参数类型传递已经有效的值。 #1898
解析命令返回给定的名称,而不是
command.name,修复意外更改以帮助文本和default_map查找。当使用像这样的模式AliasedGroup,覆盖resolve_command若要更改需要返回的名称,请执行以下操作。 #1895如果默认值无效,则不会阻止显示帮助文本。 #1889
经过
windows_expand_args=False当调用主命令以禁用Windows上的模式扩展时。在CMD中无法转义模式,因此如果程序需要按原样传递它们,则必须禁用扩展。 #1901
版本8.0.0¶
已发布2021-05-11
放弃对Python2和3.5的支持。
Colorama始终安装在Windows上,以便提供样式和颜色支持。 #1784
将可选参数添加到
ProgressBar.update要设置current_item。 #1226 , #1332version_optionusesimportlib.metadata(or theimportlib_metadatabackport) instead ofpkg_resources. The version is detected based on the package name, not the entry point name. The Python package name must match the installed package name, or be passed withpackage_name=. #1582如果验证失败,则提示
hide_input=True则该值不会显示在错误消息中。 #1460IntRangeandFloatRangebounds can be open (<) instead of closed (<=) by settingmin_openandmax_open. Error messages have changed to reflect this. #1100使用重复的标志名称定义的选项 (
"--foo/--foo")引发了一个ValueError。 #1465echo()will not fail when using pytest'scapsysfixture on Windows. #1590解析命令将返回规范的命令名称,而不是匹配的名称。这会使诸如帮助文本和
Context.invoked_subcommand在使用如下模式时保持一致AliasedGroup。 #1422这个
BOOL类型接受“开”和“关”的值。 #1629A
Group使用invoke_without_command=True将始终调用其结果回调。 #1178nargs == -1andnargs > 1is parsed and validated for values from environment variables and defaults. #729使用执行模块或包时检测程序名
python -m name。 #1603在子命令的帮助概要中包括所需的父参数。 #1475
有关布尔标志的帮助
show_default=True显示标志名称,而不是True或False。 #1538传递给的非字符串对象
style()和secho()将被转换为字符串。 #1146edit(require_save=True)will detect saves for editors that exit very fast on filesystems with 1 second resolution. #1050新的类属性使在整个应用程序中使用自定义核心对象变得更容易。 #938
Command.context_class控制运行命令时创建的上下文。Context.invoke创建相同类型的新上下文,因此自定义类型将持久化到调用的子命令。Context.formatter_class控制用于生成帮助和用法的格式化程序。Group.command_class使用更改子命令的默认类型@group.command()。Group.group_class使用更改子组的默认类型@group.group()。将其设置为type将创建与组本身相同类型的子组。核心对象使用
super()始终如一地更好地支持子类化。
使用
Context.with_resource()来管理通常在with语句,允许在子命令和回调中使用它们,然后在上下文结束时清除它们。 #1191由测试运行者的
invoke()方法具有一个return_value属性设置为调用的命令返回的值。 #1312所需的参数
Choice在花括号中键入show选项,以指示需要一个 ({a|b|c})。 #1272如果只将一个名称传递给
option(),Click建议将其重命名为--name。 #1355一个上下文的
show_default参数默认为父上下文中的值。 #1565click.style()can output 256 and RGB color codes. Most modern terminals support these codes. #1429使用时
CliRunner.invoke(),被取代的stdin文件有name和mode属性。这让我们File中的选项-值匹配非测试行为。 #1064在创建
Group,允许传递命令列表而不是DICT。 #1339如果长选项名称无效,请使用
difflib为可能的纠正提出更好的建议。 #1446核心对象有一个
to_info_dict()方法。这将收集有关对象结构的信息,这些信息可能对生成面向用户的文档的工具有用。要获得整个CLI的结构,请使用Context(cli).to_info_dict()。 #461-
支持Bash>=4.4、Zsh和Fish,并能够通过扩展添加对其他Shell的支持。
允许命令、组、参数和类型覆盖其完成建议。
组完成命令注册时使用的名称,该名称可能与创建命令时使用的名称不同。
这个
autocompletion选项和参数的参数重命名为shell_complete。该函数必须采用ctx, param, incomplete必须进行匹配,而不是返回所有值,并且必须返回字符串列表或CompletionItem。旧名称和行为已弃用,将在8.1中删除。用于启动完成的环境变量值已更改顺序。现在,Shell是第一位的,例如
{shell}_source而不是source_{shell},并且始终是必需的。
完成功能可正确解析带有不完整引号或转义序列的命令行字符串。 #1708
额外的上下文设置 (
obj=...等)被传递到完成体系统。 #942包括
--help完成时的选项。 #1504ParameterSourceis anenum.Enumsubclass. #1530在转换之前,Boolean和UUID类型会去除周围空间。 #1605
已调整参数类型验证的错误消息,使其更加一致。引号用于区分无效值。 #1605
参数的缺省值
nargs>1和multiple=True必须是元组列表。 #1649在获取参数的值时,将在与其他来源相同的部分中尝试默认设置,以确保处理的一致性。 #1649
所有参数类型都接受已经是正确类型的值。 #1649
对于Shell完成,如果参数的值不是来自命令行参数,则被认为是不完整的。 #1649
增列
ParameterSource.PROMPT以跟踪提示输入的参数值。 #1649选项:
nargs>1如果未给出默认值,则不再引发错误。参数,使用nargs>1默认为None,和参数multiple=True或nargs=-1默认为空元组。 #472处理空的环境变量,就像没有传递选项一样。这将7.1中引入的更改扩展为在更多情况下保持一致。 #1285
Parameter.get_default()checksContext.default_mapto handle overrides consistently in help text,invoke(), and prompts. #1548增列
prompt_required参数设置为Option。当设置为时False,则只有在没有传递任何值的情况下才会提示用户输入。 #736向选项提供值可通过以下方式设置为可选
is_flag=False,则可以提示输入该值或将其作为默认值传入。 #549, 736, 764, 921, 1015, 1618修复以下情况下的格式设置
Command.options_metavar是空的。 #1551还原在换行的选项帮助文本之间添加空格。 #1831
传递给
prompt将被转换为正确的类型,就像输入值一样。 #1517自动生成的简短帮助消息将在短语或双换行符的第一个结尾处停止。 #1082
通过设置快速迭代器,跳过进度条渲染步骤以提高效率
update_min_steps。 #676敬重
case_sensitive=False执行Shell补全时Choice#1692使用
mkstemp()而不是mktemp()在寻呼机实现中。 #1752如果
Option.show_default是一个字符串,则即使在default是None。 #1732click.get_terminal_size()is deprecated and will be removed in 8.1. Useshutil.get_terminal_size()instead. #1736控制由创建的临时目录的位置
CLIRunner.isolated_filesystem通过路过temp_dir。自定义目录不会自动删除。 #395click.confirm()will prompt until input is given if called withdefault=None. #1381选项提示除了验证其类型外,还使用选项的回调来验证值。 #457
confirmation_promptcan be set to a custom string. #723在Windows上的Jupyter中允许样式化输出。 #1271
style()supports thestrikethrough,italic, andoverlinestyles. #805, 1821将从简短的帮助文本中删除多行标记。 #1597
如果文件不是TTY,则恢复仅回显标签的进度条行为。 #1138
即使执行时间少于0.5秒,也会显示进度条输出。 #1648
进度条
item_show_func显示当前项,而不是上一项。 #1353这个
Path可以传递参数类型path_type=pathlib.Path返回路径对象而不是字符串。 #405TypeErroris raised when parameter withmultiple=Trueornargs > 1has non-iterable default. #1749添加
pass_meta_key用于传递密钥的装饰器Context.meta。这对于使用以下功能的扩展模块非常有用meta来存储信息。 #1739Pathresolve_pathresolves symlinks on Windows Python < 3.8. #1813命令弃用通知出现在帮助文本的开头以及简短的帮助中。通知并不是全部大写的。 #1791
当从以下位置获取参数时
sys.argv在Windows上,展开了GLOB模式、用户目录和环境变量。 #1096CLI显示的已标记邮件
gettext()为了允许应用程序转换Click的内置字符串。 #303将无效字符写入
stderr使用测试运行器时,不会引发UnicodeEncodeError。 #848修复以下问题
readline会清除整个prompt()按Backspace时,不只是输入,而是换行符。 #665添加传递给的所有kwarg
Context.invoke()至ctx.params。修复了嵌套时的不一致Context.forward()打电话。 #1568这个
MultiCommand.resultcallback装饰者已重命名为result_callback。旧名称已弃用。 #1160使用修复问题
CliRunner使用时的输出echo_stdin=True。 #1101修复了…的错误
click.utils.make_default_short_help对于它,返回的字符串可能长达max_width + 3。 #1849定义参数时,
default经过验证multiple和nargs。还对正在处理的值进行了更多的验证。 #1806HelpFormatter.write_textuses the full line width when wrapping text. #1871
版本7.1.2¶
发布时间2020-04-27
恢复将Shell引用应用于的命令
echo_with_pager和edit。这是为了在命令中允许空格,但如果字符串实际上是命令和参数,或者在Windows上,则会引起问题。相反,字符串必须手动加引号,因为它应该出现在命令行上。 #1514
版本7.1.1¶
发布时间2020-03-09
修整
ClickException输出转到标准输出,而不是标准错误。 #1495
7.1版¶
发布时间2020-03-09
修正了PYPI包名,“Click”再次小写。
修复中的链接
unicode_literals错误消息。 #1151在Unix Jupyter笔记本电脑上添加对彩色输出的支持。 #1185
剥离ANSI控件的操作将剥离光标隐藏/显示序列。 #1216
删除未使用的COMPAT垫片
bytes。 #1195围绕termui扩展测试,特别是Windows上的getchar。 #1116
修复使用MSVC 14构建的Windows Python2.7上的输出。 #1342
修整
OSError在MSYS2中运行时。 #1338修整
OSError当重定向到NULWindows上的流。 #1065修复了在Windows上解析Unicode参数时的内存泄漏。 #1136
修复新AppEngine环境中的错误。 #1462
增列
no_args_is_help选项以click.Command,默认为FALSE #1167增列
show_default参数设置为Context要启用全局显示默认设置,请执行以下操作。 #1018手柄
env MYPATH=''就好像这个选项没有通过一样。 #1196再次可以调用
next(bar)在活动进度条实例上。 #1125open_filewithatomic=Trueretains permissions of existing files and respects the current umask for new files. #1376在使用测试时
CliRunner使用mix_stderr=False,如果result.stderr为空,则不会引发ValueError。 #1193去掉不用的
mix_stderr参数来自CliRunner.invoke。 #1435修整
TypeError在使用布尔标志并指定type=bool。 #1287选项帮助文本中的换行符在重新换行之前将替换为空格,以避免不均匀的换行符。 #834
MissingParameterexceptions are printable in the Python interpreter. #1139修复在提示期间显示文件类型选项的默认值的方式。 #914
修复包含以下内容的命令的环境变量自动生成
-。 #1253选项帮助文本在重新换行时用空格替换换行符,但保留换行符,修复了多行格式。 #834, 1066, 1397
换行的选项帮助文本在末尾添加额外的换行符,以将其与下一个选项区分开来。 #1075
考虑
sensible-editor在确定要用于的编辑器时click.edit()。 #1469系统调用的参数,如传递给
click.edit可以包含空格。 #1470添加ZSH完成自动加载和错误处理。 #1348
在……中添加一项建议
Command,Group,Option,以及Argument,显示名称以便进行更友好的调试。 #1267如果值以开头,则补全不考虑选项名称
-后--分隔符。 #1247ZSH完成转义值中的特殊字符。 #1418
添加对FishShell的补全支持。 #1423
在更多情况下,解码字节选项值将回落到UTF-8。 #1468
使有关旧的2-arg参数回调的警告成为弃用警告,将在8.0中删除。自Click 2.0以来,这一直是一个警告。 #1492
调整错误消息以标准化使用的引号类型,使它们与来自Python的错误消息相匹配。
版本7.0¶
发布2018-09-25
放弃对Python2.6和3.3的支持。 #967, 976
说明在Python2中不能从字节数组中解析ANSI颜色信息。 #334
将条形图格式提取为其自己的方法。 #414
增列
DateTime用于转换给定日期时间格式的输入的类型。 #423secho's first argument can now beNone, like inecho. #424修复了
ZeroDivisionError在……里面ProgressBar.make_step,当arg传递给第一个调用ProgressBar.update为0。 #447 , #1012仅当总执行时间可见时才显示进度条。 #487
添加了从帮助中隐藏命令和选项的功能。 #500
非独立呼叫到
Context.exit返回退出代码,而不是调用sys.exit。 #667 , #533, 1098click.getchar()returns Unicode in Python 3 on Windows, consistent with other platforms. #537, 821, 822, 1088, #1108增列
FloatRange打字。 #538, 553添加了对bash完成的支持
type=click.Choice为Options和Arguments。 #535 , #681增列
case_sensitive=False作为选择的一种选择。 #569click.getchar()correctly raisesKeyboardInterrupton "^C" andEOFErroron "^D" on Linux. #583, #1115修复了以下项的编码问题
click.getchar(echo=True)在Linux上。 #1115param_hintin errors now derived from param itself. #598, 704, #709添加一个测试,以确保在将参数格式化为用法错误时,使用其元变量,而不是其名称。 #612
从文档字符串中获取的帮助文本在
\f换页字符,用于隐藏Sphinx样式的参数文档。 #629, 1091launchnow works properly under Cygwin. #650CliRunner.invokenow may receiveargsas a string representing a Unix shell command. #664制作
Argument.make_metavar()默认为键入metavar。 #675添加文档以获取
ignore_unknown_options。 #684增列
show_envvar用于在帮助中显示环境变量。 #710避免
BrokenPipeError当stdout或stderr是关闭的管道时,解释器关闭。 #712 , #1106禁用
sys._getframes()在不支持它的Python解释器上。 #728修复调用时测试运行器中的错误
sys.exit使用None。 #739修复Windows控制台上的崩溃。 #744
添加了对来自用户提供的回调的动态bash完成的支持。 #755
添加了对包含空格的bash补全的支持。 #773
为添加测试和文档
Option命名:功能。 #799更新文档以匹配Arg名称
path_type。 #801添加了原始字符串,以便进行正确的转义。 #807
添加“t”和“f”的布尔转换。 #842
NoSuchOptionerrors takectxso that--helphint gets printed in error output. #860修复了2.x和3.x上与Unicode相关的点击错误消息的行为。消息现在始终是Unicode,且字符串和Unicode特殊方法在该平台上的工作方式与您预期的一样。 #862
进度条现在默认使用stderr。 #863
允许
CliRunner来分隔stdout和stderr。 #868修复无效的转义序列。 #877
修整
ResourceWarning这在某些测试中会发生。 #878在检测到错误配置的区域设置时,如果
locale命令失败。 #880增列
case_sensitive=False作为一种选择Choice类型。 #887强制标准输出/标准错误可写。这解决了像Jupyter那样修补严重的标准流的问题。 #918
_AtomicFilenow uses therealpathof the original filename so that changing the working directory does not affect it. #920现在,当文件是
"-"。 #929修复中缺少的逗号
__all__单子。 #935标准输出现在自动设置为非阻塞。 #954
不要设置两次选项。 #962
移动
fcntl导入。 #965修复Google App Engine
ImportError。 #995更好地处理动态默认选项值的帮助文本。 #996
修整
get_winter_size()所以它会正确地返回(0,0)。 #997为定制参数类型添加测试用例检查。 #1001
允许使用短宽度来处理命令格式。 #1002
添加有关Python版本支持的详细信息。 #1004
向命令添加了弃用标志。 #1005
修复了以下问题
fd是不确定的。 #1007修复简短帮助的格式。 #1008
记录如何
auto_envvar_prefix与命令组一起使用。 #1011默认情况下,不要为进度栏添加换行符。 #1013
记录默认情况下将参数名称转换为小写。 #1055
由函数命名的子命令现在会自动将下划线替换为破折号。如果注册一个名为
my_command它变成了my-command在命令行界面中。修复了小写字母
auto_envvar_prefix不会转换为大写。 #1105
版本6.7¶
发布2017-01-06
版本6.6¶
已发布2016-04-04
修复错误
click.Path在那里它会在经过-。 #551
版本6.4¶
发布2016-03-24
修复了bash补全中的错误,在该错误中,单击将丢弃一个或多个尾随参数。 #471
版本6.3¶
已发布2016/02/22
修复解释器调用的参数检查
-m和-c在Windows上。修复了导致区域设置检测在Python3上出错的错误。
版本6.2¶
发布时间2015-11-27
对隐藏进度条的正确修复。
6.1版¶
发布时间2015-11-27
解决了不可见进度条不再渲染的问题。
禁用子命令的链命令,因为它们本身就是断开的。
修整
MissingParameter在未传递参数的情况下无法工作。
版本6.0¶
发布时间:2015-11-24,代号“POW POW”
优化了进度条渲染,使其在实际未更改时不进行渲染。
明确禁止
nargs=-1并设置了默认设置。在从堆栈中弹出上下文之前,该上下文现在已关闭。
添加了对切换上FALSE标志的短别名的支持。
现在,Click将在操作系统的帮助下列出可用的区域设置,从而更好地帮助您调试区域设置错误。
在某些单元测试情况下,单击以在Python2上返回字节字符串。已修复此问题,现在可以正确返回Unicode字符串。
对于使用Python2的Windows用户,Click现在可以更正确地处理来自系统的Unicode。这也有一个令人失望的副作用,即文件名现在在
Path类型,这意味着这可能会为没有意识到这一点的代码引入小错误。添加了一个
type参数设置为Path在值上强制使用特定的字符串类型。对于在Windows上运行Python的用户,
echo和prompt函数现在通过模拟输出流在Python窗口控制台中使用完整的Unicode功能。这也适用于通过以下方式获取虚拟输出和输入流click.get_text_stream(...)。单元测试现在总是强制一定的虚拟端子宽度。
添加了对允许破折号将标准流指示给
Path打字。链模式下的多命令不再将解析后的参数传播到回调。如果启用了链模式,则当可选参数附加到多个命令时,现在也不允许通过异常执行此操作。
放宽限制,不允许链接的命令将其他链接的命令作为子命令。
带正参数的参数现在可以实现缺省值。以前,这种配置通常会导致返回稍微意外的值。
版本5.1¶
发布2015-08-17
修复中的错误
pass_obj这也会意外地错过上下文。
版本5.0¶
发布2015-08-16,代号“tok tok”
删除了各种过时的功能。
原子文件现在只接受
w模式。更改很长命令的帮助输出的用法部分,将它们的参数换到下一行,缩进4个空格。
修复了使用时返回代码和错误消息不正确的错误
CliRunner。增列
get_current_context。添加了一个
meta在上下文的链接列表中共享的上下文的字典,以允许单击实用程序将状态放在那里。介绍
Context.scope。这个
echo函数现在是ThreadSafe:它调用write方法只对基础对象执行一次。prompt(hide_input=True)现在在上打印换行符^C。如果用户正在使用,单击将立即发出警告
unicode_literals。单击现在将忽略
PAGER环境变量,如果该变量为空或仅包含空格。这个
click-contrib已创建GitHub组织。
版本4.1¶
已发布2015-07-14
修复错误消息将包括尾随的错误
None弦乐。修复了一个错误,即Click会在带有尾随换行符的文档字符串上崩溃。
支持编码设置为的流
None在Python3上通过呕吐了一个更好的错误。正确处理较少页中的^C。
句柄返回值为
None从…sys.getfilesystemencoding修复了使用写入Unicode文件时出现的崩溃
click.echo。具有多个选项的修复类型推理。
版本4.0¶
发布2015-03-31,代号“变焦变焦”
增列
color直接或间接调用回显的大量接口的参数。这在以前始终是自动检测(除了echo_via_pager功能)。现在,您可以强制启用或禁用它,覆盖Click的自动检测。添加了一个
UNPROCESSED在某些特殊的高级用例中,不执行任何类型更改的类型简化了2.x/3.x上的文本处理。增列
NoSuchOption和BadOptionUsage异常,以便更通用地处理错误。添加了对未处理选项的处理支持,这在将参数转发到基础工具的情况下非常有用。
增列
max_content_width参数设置为可用于更改帮助输出的最大宽度的上下文。默认情况下,Click不会设置宽度超过80个字符的内容的格式。添加了对向stderr写入提示的支持。
修复了显示多个参数的默认设置时的错误。
添加了对自定义子类的支持
option和argument。修复错误
clear()在Windows上安装Colorama时。拒绝
nargs=-1对于正确的选项。选项不能是可变的。修复了使用非ASCII字符或破折号的命令无法正常使用bash补全的问题。
添加了手动更新进度条的方法。
更改了缺少参数的格式。以前,内部参数名称显示在错误消息中,现在,如果传递,则显示元变量。如果选择了自动元数据,则首先会去掉额外的格式化。
版本3.3¶
已发布2014-09-08
修复了在Python3上错误报告无效转发命令的问题。
版本3.2¶
已发布2014-08-22
添加了缺失内容
err参数转发到secho功能。修复了上下文调用方法未正确处理的默认参数。如果该函数使用不当,则这是向后不兼容的更改。
删除了
invoked_subcommands在很大程度上。由于解析的工作方式,它不可能无错误地工作,因此此API已被弃用。恢复了的功能
invoked_subcommand这在3.1版中被打破为一种回归。
版本3.1¶
发布2014-08-13
修复了导致在调用父命令之前创建子命令上下文的回归,这是较早的Click版本的回归。
版本3.0¶
发布2014-08-12,代号“叮当作响”
格式化程序现在不再尝试容纳小于50个字符的终端。如果发生这种情况,它只是假定最小宽度。
添加了一种在测试系统中不吞噬异常的方法。
添加了对带有寻呼机的颜色的更好支持,以及覆盖自动检测的方法。
CLI运行器的结果对象现在附加了一个回溯。
改进了自动简短帮助检测,以便更好地处理不终止句子的点。
现在定义没有实际有效选项字符串的选项时,Click将给出一条错误消息,而不是静默传递。这应该会捕捉到用户想要创建参数而不是选项的情况。
重组后,在内部单击以支持供应商。
添加了对多命令链接的支持。
添加了对以下选项的默认设置的支持
multiple以及选项和参数nargs != 1。标签已传递给
progressbar不再以去掉空格的方式呈现。添加了一种方法来禁用
main方法,以便能够更好地处理错误。添加了对从命令回调返回值的支持。
增加了打印到stderr的简化
echo。增加了分组的结果回调。
多次输入上下文将推迟清理,直到最后一次退出。
增列
open_file。
版本2.6¶
发布2014/08/11
修复了Python3上的包裹流将报告Seekable的错误值的问题。
版本2.5¶
已发布2014/07/28
修复了Python3上文本换行的错误。
版本2.4¶
已公布2014-07-04
更正了2.3中帮助选项更改中的错误。
版本2.3¶
已公布2014-07-03
修复了计数选项的错误格式的帮助记录。
如果Colorama不可用,则在Windows上添加对ANSI代码剥离的支持。
恢复了对某些边缘情况的帮助参数的Click 1.0处理。
版本2.2¶
已发布2014-06-26
修复了对PyPy的TTY检测。
修复了进入上下文管理器时进度条未呈现的问题。
版本2.1¶
已发布2014-06-14
修复了
launch()函数在Windows上运行。改进了Windows上的Colorama支持,努力避免在应用程序中断时搞砸控制台。
修复了Windows终端错误地报告为80个字符宽而不是79个字符的问题
使用Colorama Win32绑定(如果可用)以获得Windows终端的正确尺寸。
修复了Python3上的自定义函数类型的问题。
修复了错误消息中错误报告未知选项的问题。
版本2.0¶
发布2014-06-06,代号“水龙头”
添加了对在Windows上以二进制模式正确打开stdin/stdout的支持。
通过遍历临时文件添加了对文件原子写入的支持。
介绍
BadParameter它可用于使用与类型系统中相同的错误消息轻松执行自定义验证。增列
progressbar();显示进度条的功能。增列
get_app_dir();计算配置的主文件夹的函数。将对ANSI代码的透明处理添加到
echo()功能通过colorama。增列
clear()功能。破坏性更改:参数回调现在将参数对象作为第二个参数传递。有对旧回调的传统支持,这些回调将发出警告,但仍会执行脚本。
添加了一个
edit()调用默认编辑器的函数。添加了一个
launch()启动浏览器和应用程序的功能。现在可以通过REQUIRED标志将参数的-1值强制为单个项。默认为不需要。
现在,为参数设置缺省值会使其不再是必需的。
在确认提示中将“yn”/“yn”更改为“y/N”和“y/n”。
添加了对bash完成的基本支持。
增列
getchar()从终端获取单个字符。错误现在会按预期转到stderr。
修复了更奇特的参数格式(如DOS/Windows样式参数)的各种问题。
增列
pause()它的工作原理类似于WindowspauseCmd是内置的,但如果应用程序不通过终端运行,它将自动成为noop。添加了一些有关缺少选择参数的额外信息。
已更改帮助功能的实现方式,以允许全局覆盖帮助选项。
添加了对令牌标准化的支持,以实现不区分大小写的处理。
添加了对为上下文设置提供默认设置的支持。
1.1版¶
已发布2014-05-23
修复了导致Python2中的文本文件不接受原生字符串的错误。
1.0版¶
已发布2014-05-21
初始版本。