变化

版本8.2.0

未发布的

  • 放弃对Python3.7的支持。 #2588

  • 将现代打包元数据用于 pyproject.toml 而不是 setup.cfg#326

  • 使用 flit_core 而不是 setuptools 作为构建后端。

  • 不推荐使用 __version__ 属性。使用特征检测,或 importlib.metadata.version("click") ,而不是。 #2598

  • BaseCommand is deprecated. Command is the base class for all commands. #2589

  • MultiCommand is deprecated. Group is the base class for all group commands. #2590

  • 不推荐使用当前的解析器以及相关的类和方法。 #2205

    • OptionParser 以及 parser 模块,它是修改后的 optparse 在标准库中。

    • Context.protected_args 是不必要的。 Context.args 包含分析时的任何剩余参数。

    • Parameter.add_to_parser (在两个上 ArgumentOption )是不需要的。解析直接工作,不需要构建单独的解析器。

    • split_arg_stringparsershell_completion

  • 启用对批注的延迟计算 from __future__ import annotations#2270

  • 从修饰函数的名称生成命令名时,后缀 _command_cmd_group ,以及 _grp 都被移除了。 #2322

版本8.1.7

已发布2023-08-17

  • 修复了Shell完成中的正则表达式标志问题。 #2581

  • Bash版本检测发出警告而不是错误。 #2574

  • 修复了FishShell的完成脚本问题。 #2567

版本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 功能。 #2421

  • Bash版本检测在Windows上不会失败。 #2461

  • 如果有点,则补全起作用 (. )。 #2166

  • 改进了pyright类型检查器的类型批注。 #2268

  • 提高响应速度 click.clear()#2284

  • 改进了使用Shiv或PEX时的命令名检测。 #2332

  • 如果命令帮助文本为空,则避免显示空行。 #2368

  • ZSH完成脚本在从加载时起作用 fpath#2344

  • EOFError and KeyboardInterrupt tracebacks are not suppressed when standalone_mode is disabled. #2380

  • @group.command does not fail if the group was created with a custom command_class. #2416

  • multiple=True is allowed for flag options again and does not require setting default=(). #2246, #2292, #2295

  • 使装修人员退还给 @argument()@option() 在以下情况下可重用 cls 参数被使用。 #2294

  • 在将文件名写入带有严格错误的流时,不要失败。用替换字符替换无效字节 ( )。 #2395

  • 删除检测MSYS2环境的不必要尝试。 #2355

  • 删除过时和不必要的App Engine环境检测。 #2554

  • echo() does not fail when no streams are attached, such as with pythonw on Windows. #2415

  • 与……争论 expose_value=False 不要导致完成失败。 #2336

版本8.1.3

已发布2022-04-28

  • 使用详细形式的 typing.Callable@command@group#2255

  • 尝试使用创建选项时显示错误 multiple=True, is_flag=True 。使用 count 取而代之的是。 #2246

版本8.1.2

已发布2022-03-31

  • 修复了与可执行文件检查混淆的可读路径检查的错误消息。 #2236

  • 恢复参数顺序 Path ,将 executable 末尾的参数。建议使用关键字参数而不是位置参数。 #2235

版本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 538PEP 540 来处理选择UTF-8编码而不是ASCII编码。将删除Click的区域设置编码检测。 #2198

  • 单个选项布尔标志,带有 show_default=True 如果是,则仅显示缺省值 True#1971

  • 这个 commandgroup 装饰符可以带括号或不带括号。 #1359

  • 这个 Path 类型可以检查目标是否可执行。 #1961

  • Command.show_default overrides Context.show_default, instead of the other way around. #1963

  • 参数修饰符和 @group 手柄 cls=None 等同于不及格 cls@option 手柄 help=None 等同于不及格 help#1959

  • 带有的标志选项 required=True 要求传递标志,而不是选择隐式缺省值。 #1978

  • 传递给的帮助文本中的缩进 OptionCommand 被清理的方式与使用 @option@command 装修工就是这么做的。司令部的 epilogshort_help 也会被处理。 #1985

  • 未处理的存储 Command.helpepilogshort_help 弦乐。只有在格式化输出的帮助文本时才会进行处理。 #2149

  • 允许为输入空字符串 prompt() 什么时候 confirmation_prompt=Truedefault=""#2157

  • 如果值是无效模式,Windows全局模式扩展不会失败。 #2195

  • 可以传递一个列表,其中 params@command 。使用修饰符定义的任何参数都会附加到传递的参数之后。 #2131

  • @command decorator is annotated as returning the correct type if a cls argument is used. #2211

  • A Group 使用 invoke_without_command=Truechain=False 将使用GROUP函数的返回值调用其结果回调。 #2124

  • to_info_dict will not fail if a ParamType doesn't define a name. #2168

  • Shell补全将带有选项前缀的选项值优先于新选项。 #2040

  • 使用获取环境变量值的选项 autoenvvar_prefix 将空值视为 None ,与直接的 envvar#2146

版本8.0.4

已发布2022-02-18

  • open_file recognizes Path("-") as a standard stream, the same as the string "-". #2106

  • 这个 optionargument 修饰符保留已修饰函数的类型批注。 #2155

  • 可调用的默认值可以通过重写 __str__ 而不是总是表现出来 (dynamic)#2099

  • 修复影响文件和目录完成的Bash完成脚本中的一个拼写错误。如果此脚本是由以前的版本生成的,则应重新生成。 #2163

  • 修复以下项目的键入 echosecho 文件参数。 #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_flag is not set to True if is_flag is False. #1925

  • Bash版本检测是独立于区域设置的。 #1940

  • 空的 default 值不会显示为 multiple=True#1969

  • 修复以正斜杠开头的参数(如绝对文件路径)的Shell完成。 #1929

  • Path type with resolve_path=True resolves relative symlinks to be relative to the containing directory. #1921

  • 完成在退出时不会跳过Python的资源清理,从而避免了一些意外的警告输出。 #1738, #2017

  • 的FIX类型批注 type 中的论点 prompt 功能。 #2062

  • 修复添加下划线时错误添加的上划线和斜体样式。 #2058

  • 一个选项,带有 count=True 将不会显示“ [x>=0] “在帮助文本中。 #2072

  • 在处理过程中,不会两次将默认值强制转换为参数类型。 #2085

  • 选项: multipleflag_value 使用标志值,而不是保留内部占位符。 #2001

版本8.0.1

已发布2021-05-19

  • 将顶级名称标记为已导出,以便类型检查了解用户项目中的导入。 #1879

  • 注解 Context.obj AS Any 因此,类型检查允许对任意对象执行所有操作。 #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

  • 向Command添加一个Repr,显示命令名称以便更友好地进行调试。 #1267#1295

  • 添加对区分命令行参数来源的支持。 #1264#1329

  • 将可选参数添加到 ProgressBar.update 要设置 current_item#1226#1332

  • version_option uses importlib.metadata (or the importlib_metadata backport) instead of pkg_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 with package_name=. #1582

  • 如果验证失败,则提示 hide_input=True 则该值不会显示在错误消息中。 #1460

  • 一个 IntRangeFloatRange 选项在其帮助文本中显示接受的范围。 #1525#1303

  • IntRange and FloatRange bounds can be open (<) instead of closed (<=) by setting min_open and max_open. Error messages have changed to reflect this. #1100

  • 使用重复的标志名称定义的选项 ("--foo/--foo" )引发了一个 ValueError#1465

  • echo() will not fail when using pytest's capsys fixture on Windows. #1590

  • 解析命令将返回规范的命令名称,而不是匹配的名称。这会使诸如帮助文本和 Context.invoked_subcommand 在使用如下模式时保持一致 AliasedGroup#1422

  • 这个 BOOL 类型接受“开”和“关”的值。 #1629

  • A Group 使用 invoke_without_command=True 将始终调用其结果回调。 #1178

  • nargs == -1 and nargs > 1 is parsed and validated for values from environment variables and defaults. #729

  • 使用执行模块或包时检测程序名 python -m name#1603

  • 在子命令的帮助概要中包括所需的父参数。 #1475

  • 有关布尔标志的帮助 show_default=True 显示标志名称,而不是 TrueFalse#1538

  • 传递给的非字符串对象 style()secho() 将被转换为字符串。 #1146

  • edit(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 参数默认为父上下文中的值。 #1565

  • click.style() can output 256 and RGB color codes. Most modern terminals support these codes. #1429

  • 使用时 CliRunner.invoke() ,被取代的 stdin 文件有 namemode 属性。这让我们 File 中的选项 - 值匹配非测试行为。 #1064

  • 在创建 Group ,允许传递命令列表而不是DICT。 #1339

  • 如果长选项名称无效,请使用 difflib 为可能的纠正提出更好的建议。 #1446

  • 核心对象有一个 to_info_dict() 方法。这将收集有关对象结构的信息,这些信息可能对生成面向用户的文档的工具有用。要获得整个CLI的结构,请使用 Context(cli).to_info_dict()#461

  • 重新设计贝壳完井系统。 #1484#1622

    • 支持Bash>=4.4、Zsh和Fish,并能够通过扩展添加对其他Shell的支持。

    • 允许命令、组、参数和类型覆盖其完成建议。

    • 组完成命令注册时使用的名称,该名称可能与创建命令时使用的名称不同。

    • 这个 autocompletion 选项和参数的参数重命名为 shell_complete 。该函数必须采用 ctx, param, incomplete 必须进行匹配,而不是返回所有值,并且必须返回字符串列表或 CompletionItem 。旧名称和行为已弃用,将在8.1中删除。

    • 用于启动完成的环境变量值已更改顺序。现在,Shell是第一位的,例如 {shell}_source 而不是 source_{shell} ,并且始终是必需的。

  • 完成功能可正确解析带有不完整引号或转义序列的命令行字符串。 #1708

  • 额外的上下文设置 (obj=... 等)被传递到完成体系统。 #942

  • 包括 --help 完成时的选项。 #1504

  • ParameterSource is an enum.Enum subclass. #1530

  • 在转换之前,Boolean和UUID类型会去除周围空间。 #1605

  • 已调整参数类型验证的错误消息,使其更加一致。引号用于区分无效值。 #1605

  • 参数的缺省值 nargs >1和 multiple=True 必须是元组列表。 #1649

  • 在获取参数的值时,将在与其他来源相同的部分中尝试默认设置,以确保处理的一致性。 #1649

  • 所有参数类型都接受已经是正确类型的值。 #1649

  • 对于Shell完成,如果参数的值不是来自命令行参数,则被认为是不完整的。 #1649

  • 增列 ParameterSource.PROMPT 以跟踪提示输入的参数值。 #1649

  • 选项: nargs >1如果未给出默认值,则不再引发错误。参数,使用 nargs >1默认为 None ,和参数 multiple=Truenargs=-1 默认为空元组。 #472

  • 处理空的环境变量,就像没有传递选项一样。这将7.1中引入的更改扩展为在更多情况下保持一致。 #1285

  • Parameter.get_default() checks Context.default_map to 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 是一个字符串,则即使在 defaultNone#1732

  • click.get_terminal_size() is deprecated and will be removed in 8.1. Use shutil.get_terminal_size() instead. #1736

  • 控制由创建的临时目录的位置 CLIRunner.isolated_filesystem 通过路过 temp_dir 。自定义目录不会自动删除。 #395

  • click.confirm() will prompt until input is given if called with default=None. #1381

  • 选项提示除了验证其类型外,还使用选项的回调来验证值。 #457

  • confirmation_prompt can be set to a custom string. #723

  • 在Windows上的Jupyter中允许样式化输出。 #1271

  • style() supports the strikethrough, italic, and overline styles. #805, #1821

  • 将从简短的帮助文本中删除多行标记。 #1597

  • 如果文件不是TTY,则恢复仅回显标签的进度条行为。 #1138

  • 即使执行时间少于0.5秒,也会显示进度条输出。 #1648

  • 进度条 item_show_func 显示当前项,而不是上一项。 #1353

  • 这个 Path 可以传递参数类型 path_type=pathlib.Path 返回路径对象而不是字符串。 #405

  • TypeError is raised when parameter with multiple=True or nargs > 1 has non-iterable default. #1749

  • 添加 pass_meta_key 用于传递密钥的装饰器 Context.meta 。这对于使用以下功能的扩展模块非常有用 meta 来存储信息。 #1739

  • Path resolve_path resolves symlinks on Windows Python < 3.8. #1813

  • 命令弃用通知出现在帮助文本的开头以及简短的帮助中。通知并不是全部大写的。 #1791

  • 当从以下位置获取参数时 sys.argv 在Windows上,展开了GLOB模式、用户目录和环境变量。 #1096

  • CLI显示的已标记邮件 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 经过验证 multiplenargs 。还对正在处理的值进行了更多的验证。 #1806

  • HelpFormatter.write_text uses the full line width when wrapping text. #1871

版本7.1.2

发布时间2020-04-27

  • 恢复将Shell引用应用于的命令 echo_with_pageredit 。这是为了在命令中允许空格,但如果字符串实际上是命令和参数,或者在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 当重定向到 NUL Windows上的流。 #1065

  • 修复了在Windows上解析Unicode参数时的内存泄漏。 #1136

  • 修复新AppEngine环境中的错误。 #1462

  • 始终返回传递的选项之一 click.Choice #1277#1318

  • 增列 no_args_is_help 选项以 click.Command ,默认为FALSE #1167

  • 增列 show_default 参数设置为 Context 要启用全局显示默认设置,请执行以下操作。 #1018

  • 手柄 env MYPATH='' 就好像这个选项没有通过一样。 #1196

  • 再次可以调用 next(bar) 在活动进度条实例上。 #1125

  • open_file with atomic=True retains 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

  • MissingParameter exceptions are printable in the Python interpreter. #1139

  • 修复在提示期间显示文件类型选项的默认值的方式。 #914

  • 修复包含以下内容的命令的环境变量自动生成 -#1253

  • 选项帮助文本在重新换行时用空格替换换行符,但保留换行符,修复了多行格式。 #834, #1066, #1397

  • 换行的选项帮助文本在末尾添加额外的换行符,以将其与下一个选项区分开来。 #1075

  • 考虑 sensible-editor 在确定要用于的编辑器时 click.edit()#1469

  • 系统调用的参数,如传递给 click.edit 可以包含空格。 #1470

  • 添加ZSH完成自动加载和错误处理。 #1348

  • 在……中添加一项建议 CommandGroupOption ,以及 Argument ,显示名称以便进行更友好的调试。 #1267

  • 如果值以开头,则补全不考虑选项名称 --- 分隔符。 #1247

  • ZSH完成转义值中的特殊字符。 #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

  • 包好 click.Choice 遗漏了一条信息。 #202#1000

  • 添加本机ZSH自动完成支持。 #323#865

  • 说明在Python2中不能从字节数组中解析ANSI颜色信息。 #334

  • 文档的字节剥离行为 CliRunner#334#1010

  • 用法错误现在提示 --help 选择。 #393#557

  • 实施流寻呼机。 #409#889

  • 将条形图格式提取为其自己的方法。 #414

  • 增列 DateTime 用于转换给定日期时间格式的输入的类型。 #423

  • secho's first argument can now be None, like in echo. #424

  • 修复了 ZeroDivisionError 在……里面 ProgressBar.make_step ,当arg传递给第一个调用 ProgressBar.update 为0。 #447#1012

  • 仅当总执行时间可见时才显示进度条。 #487

  • 添加了从帮助中隐藏命令和选项的功能。 #500

  • 记录选项可以是 required=True#514#1022

  • 非独立呼叫到 Context.exit 返回退出代码,而不是调用 sys.exit#667#533, #1098

  • click.getchar() returns Unicode in Python 3 on Windows, consistent with other platforms. #537, #821, #822, #1088, #1108

  • 增列 FloatRange 打字。 #538, #553

  • 添加了对bash完成的支持 type=click.ChoiceOptionsArguments#535#681

  • 仅允许一个位置参数用于 Argument 参数声明。 #568, #574#1014

  • 增列 case_sensitive=False 作为选择的一种选择。 #569

  • click.getchar() correctly raises KeyboardInterrupt on "^C" and EOFError on "^D" on Linux. #583, #1115

  • 修复了以下项的编码问题 click.getchar(echo=True) 在Linux上。 #1115

  • param_hint in errors now derived from param itself. #598, #704, #709

  • 添加一个测试,以确保在将参数格式化为用法错误时,使用其元变量,而不是其名称。 #612

  • 允许设置 prog_name 作为额外的 CliRunner.invoke#616#999

  • 从文档字符串中获取的帮助文本在 \f 换页字符,用于隐藏Sphinx样式的参数文档。 #629, #1091

  • launch now works properly under Cygwin. #650

  • 在迭代后更新进度。 #651#706

  • CliRunner.invoke now may receive args as a string representing a Unix shell command. #664

  • 制作 Argument.make_metavar() 默认为键入metavar。 #675

  • 添加文档以获取 ignore_unknown_options#684

  • 添加对鲜艳颜色的支持 click.style 并修复参数的重置选项 fgbg#703#809

  • 增列 show_envvar 用于在帮助中显示环境变量。 #710

  • 避免 BrokenPipeError 当stdout或stderr是关闭的管道时,解释器关闭。 #712#1106

  • 文档自定义选项名称。 #725#1016

  • 禁用 sys._getframes() 在不支持它的Python解释器上。 #728

  • 修复调用时测试运行器中的错误 sys.exit 使用 None#739

  • 澄清有关命令行选项的文档。 #741#1003

  • 修复Windows控制台上的崩溃。 #744

  • 修复了导致bash完成对链接命令进行不正确完成的错误。 #754#774

  • 添加了对来自用户提供的回调的动态bash完成的支持。 #755

  • 添加了对包含空格的bash补全的支持。 #773

  • 允许自动补全函数确定是否返回以不完整参数开头的补全。 #790#806

  • 修正选项命名例程,使其与文档相符,并具有确定性。 #793#794

  • 修复了路径验证错误。 #795#1020

  • 为添加测试和文档 Option 命名:功能。 #799

  • 更新文档以匹配Arg名称 path_type#801

  • 添加了原始字符串,以便进行正确的转义。 #807

  • 修正16k字符限制 click.echo 在Windows上。 #816#819

  • 克服了在Windows 7上写入二进制流时的64k字符限制。 #825#830

  • 添加“t”和“f”的布尔转换。 #842

  • NoSuchOption errors take ctx so that --help hint gets printed in error output. #860

  • 修复了2.x和3.x上与Unicode相关的点击错误消息的行为。消息现在始终是Unicode,且字符串和Unicode特殊方法在该平台上的工作方式与您预期的一样。 #862

  • 进度条现在默认使用stderr。 #863

  • 添加对自动完成文档的支持。 #866#869

  • 允许 CliRunner 来分隔stdout和stderr。 #868

  • 修正变量优先顺序。 #873#874

  • 修复无效的转义序列。 #877

  • 修整 ResourceWarning 这在某些测试中会发生。 #878

  • 在检测到错误配置的区域设置时,如果 locale 命令失败。 #880

  • 增列 case_sensitive=False 作为一种选择 Choice 类型。 #887

  • 强制标准输出/标准错误可写。这解决了像Jupyter那样修补严重的标准流的问题。 #918

  • 修复最后一个参数后的子命令选项的完成问题 #919#930

  • _AtomicFile now uses the realpath of the original filename so that changing the working directory does not affect it. #920

  • 修复出现缺省值时不正确的完成 #925#930

  • 添加复制选项属性,以便可以重复使用自定义类。 #926#994

  • 现在,当文件是 "-"#929

  • 修复中缺少的逗号 __all__ 单子。 #935

  • 阐明参数的命名方式。 #949#1009

  • 标准输出现在自动设置为非阻塞。 #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

  • 对ZSH完成使用Python排序顺序。 #1047#1059

  • 记录默认情况下将参数名称转换为小写。 #1055

  • 由函数命名的子命令现在会自动将下划线替换为破折号。如果注册一个名为 my_command 它变成了 my-command 在命令行界面中。

  • 在完成时隐藏隐藏的命令和选项。 #1058#1061

  • 修复绝对导入阻止Click被提供给Windows上的项目。 #1068#1069

  • 修复了小写字母 auto_envvar_prefix 不会转换为大写。 #1105

版本6.7

发布2017-01-06

  • 制作 click.progressbar 与.一起工作 codecs.open 档案。 #637

  • 修复了使用嵌套子命令完成bash时的错误。 #639

  • 修复测试运行器无法正确保存调用者环境的问题。 #644

  • 修复对SIGPIPE的处理。 #62

  • 处理破损的Windows环境,如Google App Engine。 #711

版本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的用户, echoprompt 函数现在通过模拟输出流在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上的文本处理。

  • 增列 NoSuchOptionBadOptionUsage 异常,以便更通用地处理错误。

  • 添加了对未处理选项的处理支持,这在将参数转发到基础工具的情况下非常有用。

  • 增列 max_content_width 参数设置为可用于更改帮助输出的最大宽度的上下文。默认情况下,Click不会设置宽度超过80个字符的内容的格式。

  • 添加了对向stderr写入提示的支持。

  • 修复了显示多个参数的默认设置时的错误。

  • 添加了对自定义子类的支持 optionargument

  • 修复错误 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() 功能。

  • 破坏性更改:参数回调现在将参数对象作为第二个参数传递。有对旧回调的传统支持,这些回调将发出警告,但仍会执行脚本。

  • 增列 style()unstyle()secho() 用于ANSI样式。

  • 添加了一个 edit() 调用默认编辑器的函数。

  • 添加了一个 launch() 启动浏览器和应用程序的功能。

  • 现在可以通过REQUIRED标志将参数的-1值强制为单个项。默认为不需要。

  • 现在,为参数设置缺省值会使其不再是必需的。

  • 在确认提示中将“yn”/“yn”更改为“y/N”和“y/n”。

  • 添加了对bash完成的基本支持。

  • 增列 getchar() 从终端获取单个字符。

  • 错误现在会按预期转到stderr。

  • 修复了更奇特的参数格式(如DOS/Windows样式参数)的各种问题。

  • 增列 pause() 它的工作原理类似于Windows pause Cmd是内置的,但如果应用程序不通过终端运行,它将自动成为noop。

  • 添加了一些有关缺少选择参数的额外信息。

  • 已更改帮助功能的实现方式,以允许全局覆盖帮助选项。

  • 添加了对令牌标准化的支持,以实现不区分大小写的处理。

  • 添加了对为上下文设置提供默认设置的支持。

1.1版

已发布2014-05-23

  • 修复了导致Python2中的文本文件不接受原生字符串的错误。

1.0版

已发布2014-05-21

  • 初始版本。