变化¶
版本8.2.0¶
未发布的
放弃对Python3.7的支持。 #2588
将现代打包元数据用于
pyproject.toml
而不是setup.cfg
。 #326使用
flit_core
而不是setuptools
作为构建后端。不推荐使用
__version__
属性。使用特征检测,或importlib.metadata.version("click")
,而不是。 #2598BaseCommand
is deprecated.Command
is the base class for all commands. #2589MultiCommand
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
(在两个上Argument
和Option
)是不需要的。解析直接工作,不需要构建单独的解析器。split_arg_string
从parser
至shell_completion
。
启用对批注的延迟计算
from __future__ import annotations
。 #2270从修饰函数的名称生成命令名时,后缀
_command
,_cmd
,_group
,以及_grp
都被移除了。 #2322
版本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 功能。 #2421
Bash版本检测在Windows上不会失败。 #2461
如果有点,则补全起作用 (
.
)。 #2166改进了pyright类型检查器的类型批注。 #2268
提高响应速度
click.clear()
。 #2284改进了使用Shiv或PEX时的命令名检测。 #2332
如果命令帮助文本为空,则避免显示空行。 #2368
ZSH完成脚本在从加载时起作用
fpath
。 #2344 。EOFError
andKeyboardInterrupt
tracebacks are not suppressed whenstandalone_mode
is disabled. #2380@group.command
does not fail if the group was created with a customcommand_class
. #2416multiple=True
is 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 withpythonw
on 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_default
overridesContext.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 。@command
decorator is annotated as returning the correct type if acls
argument is used. #2211A
Group
使用invoke_without_command=True
和chain=False
将使用GROUP函数的返回值调用其结果回调。 #2124to_info_dict
will not fail if aParamType
doesn't define aname
. #2168Shell补全将带有选项前缀的选项值优先于新选项。 #2040
使用获取环境变量值的选项
autoenvvar_prefix
将空值视为None
,与直接的envvar
。 #2146
版本8.0.4¶
已发布2022-02-18
版本8.0.3¶
发布时间2021/10/10
版本8.0.2¶
已发布2021/10/08
is_bool_flag
is not set toTrue
ifis_flag
isFalse
. #1925Bash版本检测是独立于区域设置的。 #1940
空的
default
值不会显示为multiple=True
。 #1969修复以正斜杠开头的参数(如绝对文件路径)的Shell完成。 #1929
Path
type withresolve_path=True
resolves relative symlinks to be relative to the containing directory. #1921的FIX类型批注
type
中的论点prompt
功能。 #2062修复添加下划线时错误添加的上划线和斜体样式。 #2058
一个选项,带有
count=True
将不会显示“ [x>=0] “在帮助文本中。 #2072在处理过程中,不会两次将默认值强制转换为参数类型。 #2085
选项:
multiple
和flag_value
使用标志值,而不是保留内部占位符。 #2001
版本8.0.1¶
已发布2021-05-19
将顶级名称标记为已导出,以便类型检查了解用户项目中的导入。 #1879
注解
Context.obj
ASAny
因此,类型检查允许对任意对象执行所有操作。 #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_option
usesimportlib.metadata
(or theimportlib_metadata
backport) 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
则该值不会显示在错误消息中。 #1460IntRange
andFloatRange
bounds can be open (<
) instead of closed (<=
) by settingmin_open
andmax_open
. Error messages have changed to reflect this. #1100使用重复的标志名称定义的选项 (
"--foo/--foo"
)引发了一个ValueError
。 #1465echo()
will not fail when using pytest'scapsys
fixture on Windows. #1590解析命令将返回规范的命令名称,而不是匹配的名称。这会使诸如帮助文本和
Context.invoked_subcommand
在使用如下模式时保持一致AliasedGroup
。 #1422这个
BOOL
类型接受“开”和“关”的值。 #1629A
Group
使用invoke_without_command=True
将始终调用其结果回调。 #1178nargs == -1
andnargs > 1
is 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
完成时的选项。 #1504ParameterSource
is anenum.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=True
或nargs=-1
默认为空元组。 #472处理空的环境变量,就像没有传递选项一样。这将7.1中引入的更改扩展为在更多情况下保持一致。 #1285
Parameter.get_default()
checksContext.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
是一个字符串,则即使在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_prompt
can be set to a custom string. #723在Windows上的Jupyter中允许样式化输出。 #1271
style()
supports thestrikethrough
,italic
, andoverline
styles. #805, #1821将从简短的帮助文本中删除多行标记。 #1597
如果文件不是TTY,则恢复仅回显标签的进度条行为。 #1138
即使执行时间少于0.5秒,也会显示进度条输出。 #1648
进度条
item_show_func
显示当前项,而不是上一项。 #1353这个
Path
可以传递参数类型path_type=pathlib.Path
返回路径对象而不是字符串。 #405TypeError
is raised when parameter withmultiple=True
ornargs > 1
has non-iterable default. #1749添加
pass_meta_key
用于传递密钥的装饰器Context.meta
。这对于使用以下功能的扩展模块非常有用meta
来存储信息。 #1739Path
resolve_path
resolves 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_text
uses 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
当重定向到NUL
Windows上的流。 #1065修复了在Windows上解析Unicode参数时的内存泄漏。 #1136
修复新AppEngine环境中的错误。 #1462
增列
no_args_is_help
选项以click.Command
,默认为FALSE #1167增列
show_default
参数设置为Context
要启用全局显示默认设置,请执行以下操作。 #1018手柄
env MYPATH=''
就好像这个选项没有通过一样。 #1196再次可以调用
next(bar)
在活动进度条实例上。 #1125open_file
withatomic=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换行的选项帮助文本在末尾添加额外的换行符,以将其与下一个选项区分开来。 #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中不能从字节数组中解析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添加了对bash完成的支持
type=click.Choice
为Options
和Arguments
。 #535 , #681增列
case_sensitive=False
作为选择的一种选择。 #569click.getchar()
correctly raisesKeyboardInterrupt
on "^C" andEOFError
on "^D" on Linux. #583, #1115修复了以下项的编码问题
click.getchar(echo=True)
在Linux上。 #1115param_hint
in errors now derived from param itself. #598, #704, #709添加一个测试,以确保在将参数格式化为用法错误时,使用其元变量,而不是其名称。 #612
launch
now works properly under Cygwin. #650CliRunner.invoke
now may receiveargs
as 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
NoSuchOption
errors takectx
so that--help
hint 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
_AtomicFile
now uses therealpath
of 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()
它的工作原理类似于Windowspause
Cmd是内置的,但如果应用程序不通过终端运行,它将自动成为noop。添加了一些有关缺少选择参数的额外信息。
已更改帮助功能的实现方式,以允许全局覆盖帮助选项。
添加了对令牌标准化的支持,以实现不区分大小写的处理。
添加了对为上下文设置提供默认设置的支持。
1.1版¶
已发布2014-05-23
修复了导致Python2中的文本文件不接受原生字符串的错误。
1.0版¶
已发布2014-05-21
初始版本。