Pythonic接口到fzf
项目描述
演示会话
另请参阅 API参考。
主要功能
无依赖,只需Python。每个平台的预构建 fzf 二进制文件都已打包进轮子中。通过 pip install iterfzf 即可使用一切。(注意,并非所有支持的平台的轮子都上传到PyPI,因为它们不支持较小的平台,例如FreeBSD。完整的轮子可以在 GitHub发行版 中找到。)
消费可迭代对象而不是列表。当输入数据长且从低延迟网络中 流式传输 时,这会使用户体验大大提升。它可以在只准备好部分项目后立即开始显示项目,甚至在完整的项目准备好之前。
支持Python 3.8或更高版本。
iterfzf.iterfzf(iterable, *, **options)
消费给定的字符串 iterable,并使用 fzf 显示它们。如果用户选择了一些内容,它将立即返回所选择的内容。
以下是参数的完整列表。除了 iterable 之外,都应作为 关键字参数 传递
- iterable(必需)
唯一必需的参数。每当生成一个元素时,该 iterable 生成的每个元素都会立即显示。换句话说,传递的 iterable 被惰性消费。
它可以是字节字符串(例如 [b'foo', b'bar'])或Unicode字符串(例如 [u'foo', u'bar'])的可迭代对象,但不能混合使用(例如 [u'foo', b'bar'])。如果是字节字符串,函数返回字节。如果是Unicode字符串,则返回Unicode字符串。有关更多信息,请参阅 encoding 参数。
- sort
如果为 True,则对结果进行排序。默认为 False。
- multi
设置为 True 允许用户选择多个。用户可以使用 tab/shift-tab 选择项目。如果 multi=True,函数将返回一个字符串列表,而不是单个字符串。
设置为 False 允许用户只选择一个。如果 multi=False,则返回一个字符串而不是列表。
在这两种模式下,如果没有匹配项或用户取消,函数返回 None。
默认为 False。
对应于 -m/--multi 选项。
- bind
将传递给 fzf 的键/事件绑定。
形式为 {KEY: ACTION} 或 {EVENT: ACTION} 的字典。
对应于 --bind=KEYBINDS 选项。
- print_query
如果为 True,则返回类型为元组,其中第一个元素是用户实际输入的查询,第二个元素是如上所述选择的输出,具体取决于 multi 的状态。
默认为 False。
对应于 --print-query 选项。
自版本 0.3.0 以来新增。
- encoding
用于编码 iterable 值和解码返回值的文本编码名称(例如 'utf-8','ascii')。如果 iterable 值是字节字符串,则忽略此参数。
默认使用 Python 的默认编码(即 sys.getdefaultencoding())。
- extended
设置为 True 为扩展搜索模式。设置为 False 关闭。
默认为 True。
设置为 True 对应于 -x/--extended 选项,设置为 False 对应于 +x/--no-extended 选项。
- exact
模糊匹配为 False,精确匹配为 True。
默认为 False。
对应于 -e/--exact 选项。
- case_sensitive
区分大小写为 True,不区分大小写为 False。默认为智能匹配的 None。
True 对应于 +i 选项,False 对应于 -i 选项。
- query
首先填充的查询字符串。(用户可以将其删除。)
默认为空字符串。
对应于 -q/--query 选项。
- prompt
提示序列。默认为 ' >'。
对应于 --prompt 选项。
- preview
要执行的预览命令。默认为 None。
对应于 --preview 选项。
- mouse
禁用鼠标为 False,默认为 True。
对应于 --no-mouse 选项。
- ansi
启用 ANSI 颜色模式为 True,默认为 None。
对应于 --ansi 选项。
- cycle
启用循环滚动为 True。
默认为 False。
对应于 --cycle 选项。
- __extra__
传递给 fzf 的额外原始选项/参数的可迭代对象。
默认为空。
更新日志
版本号方案
注意,iterfzf 不遵循 语义版本控制。版本由其自己的主版本号和次版本号以及捆绑的 fzf 版本组成。例如,1.2.3.4.5 表示 iterfzf 的主版本号为 1,次版本号为 2,捆绑的 fzf 版本为 3.4.5。
/---------- 1. iterfzf's major version
| /------ 3. bundled fzf's major version
| | /-- 5. bundled fzf's patch version
| | |
v v v
1.2.3.4.5
^ ^
| |
| \---- 4. bundled fzf's minor version
\-------- 2. iterfzf's minor version
版本 1.4.0.54.3
于 2024 年 8 月 24 日发布。捆绑 fzf 0.54.3。
版本 1.4.0.51.0
于 2024 年 5 月 7 日发布。捆绑 fzf 0.51.0。
版本 1.3.0.51.0
于 2024 年 5 月 6 日发布。捆绑 fzf 0.51.0。
版本 1.2.0.46.1
于 2024 年 3 月 6 日发布。捆绑 fzf 0.46.1。
在等待前关闭stdin以允许--select-1工作。[由Alex Wood在#34提交]
版本1.1.0.44.0
发布于2023年11月18日。捆绑fzf 0.44.0。
版本1.0.0.42.0
发布于2023年9月18日。捆绑fzf 0.42.0。
取消支持Python 2.7, 3.5, 3.6和3.7。
官方支持Python 3.8, 3.9, 3.10和3.11。
取消支持FreeBSD i386, Linux i686, Linux armv8l, OpenBSD i386和Windows 32位,因为fzf不再支持它们。
取消支持OpenBSD amd64。
除了第一个参数iterable外,所有参数都必须是关键字参数。(请注意,尽管以前没有强制执行,但这始终是推荐的方式。)
添加了ansi选项。[由Erik Lilja在#16提交]
现在,executable参数接受os.PathLike而不是str,这具有向后兼容性。
为模块添加了__version__和__fzf_version__属性。
为模块添加了POSIX_EXECUTABLE_NAME和WINDOWS_EXECUTABLE_NAME属性。
模块属性EXECUTABLE_NAME现在是Literal['fzf', 'fzf.exe']类型,与之前的str类型向后兼容。
模块属性BUNDLED_EXECUTABLE现在是Optional[pathlib.Path]类型。
版本0.5.0.20.0
发布于2020年2月9日。捆绑fzf 0.20.0。
版本0.4.0.17.3
发布于2017年12月4日。捆绑fzf 0.17.3。
版本0.4.0.17.1
发布于2017年10月19日。捆绑fzf 0.17.1。
再次添加了缺失的macOS二进制轮。[这些在0.3.0.17.1(之前的版本)中缺失。]
版本0.3.0.17.1
发布于2017年10月16日。捆绑fzf 0.17.1。
添加了print_query选项。[由George Kettleborough在#1提交]
版本0.2.0.17.0
发布于2017年8月27日。捆绑fzf 0.17.0。
版本0.2.0.16.11
发布于2017年7月23日。捆绑fzf 0.16.11。
版本0.2.0.16.10
发布于2017年7月23日。捆绑fzf 0.16.10。
版本0.2.0.16.8
发布于2017年6月6日。捆绑fzf 0.16.8。
将fzf从0.16.7升级到0.16.8。
版本0.2.0.16.7
发布于2017年5月20日。捆绑fzf 0.16.7。
使源分布(sdists)能够正确安装,即使旧的 pip 无法处理 wheels,也可以安装 iterfzf。
版本 0.1.0.16.7
发布于 2017 年 5 月 19 日。包含 fzf 0.16.7。首次发布。
项目详情
iterfzf-1.4.0.54.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8a0b9dc4f1a126da959dd601643bf31de7fa69febb7c33f4b6e2fa8edc4be2e1 |
|
MD5 | 5de869fce78d5b2738b5788975a9fe45 |
|
BLAKE2b-256 | ed2d59f1b1eeaef868b24aba97e651c9c9bbf937b8a6967ffc23d1f9131c8f68 |
iterfzf-1.4.0.54.3-py3-none-win_arm64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bf78d55832e172fe7bce451f3b68becde28412a192f7161ca7bd2313bd5e842f |
|
MD5 | a98ab29a383d3dd1f0e97767875c05ac |
|
BLAKE2b-256 | 6c2442c53c9df027b630e54276e03d54d0ab80b4ecf425b9f74e1591765e54a6 |
iterfzf-1.4.0.54.3-py3-none-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8385d45359d6c392b10095d179f0b2857f64b33eba55e1b6a34eb5d82320377f |
|
MD5 | 843919cba395a2d77abe06ff50fca9f6 |
|
BLAKE2b-256 | 819cc94bf804b1c18024810ee3ebc4528faec4cedef18824776b9f3a37ad13fa |
iterfzf-1.4.0.54.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6c32312ce5599d84600d920b0db8986cf10b20e4b9fdb2aee5df6b67cc646d27 |
|
MD5 | 7e4451438a355e9a3d9fa57d239c5fc3 |
|
BLAKE2b-256 | 9c69ca3abe63b1a7296ff2b8cb173e69283abf5f235268c393b48fe355918aba |
iterfzf-1.4.0.54.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a7510bc99e503b12513fceca9add5ae6bcd9497e95a098ae682ca5b2916dc3c2 |
|
MD5 | b4b285d05ae8a4b34eb7c866cf4563b0 |
|
BLAKE2b-256 | 8a886962ea965f146fb9ca11062756eb4c5c86d54b20eb38d93e7c1297cb96a9 |
iterfzf-1.4.0.54.3-py3-none-manylinux_1_2_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c87a093cdd13b9604f3e7f457dd49ec1bc1dad63899476a01f5743ad1f394bb9 |
|
MD5 | 360a25ce20cc1287a69b7f609b669da7 |
|
BLAKE2b-256 | ad3ca6eebbfa3ab26d49e0f752b23cbd964011bd1de0579c97bab7ffe917bc8c |
iterfzf-1.4.0.54.3-py3-none-manylinux_1_2_aarch64.manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f981dcf71f44bd4aa7119cc8e19373a8a8726db6f829a505d131c263c2fe8d84 |
|
MD5 | 932fb0ec1de6730595eebe953e7b4af8 |
|
BLAKE2b-256 | a8446e7d873d292d17cb6af6c77d0f274408ae9da7dd9ac907eb48a2c83b39e7 |
iterfzf-1.4.0.54.3-py3-none-macosx_11_0_arm64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9d3edbd8184490bd9ab8cd399db462e010ae7c2273d933b040ca536d5c1a8915 |
|
MD5 | 9e1d9393b572013f5ac52996d04e374a |
|
BLAKE2b-256 | 45bb9d195462a6e8348aa9c16b47009f96cfa0cc84f62c53cdc7022c903c6c79 |
iterfzf-1.4.0.54.3-py3-none-macosx_10_7_x86_64.macosx_10_9_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0d070c575cb9e706651e2f753d0361639fcd7b79435ef4626a824a0a76b03dce |
|
MD5 | 47f4c8f761423c96fb621b8c4d030a91 |
|
BLAKE2b-256 | 202c3afd6d9911204f8324195a0cf91b39844faaf3ad56bffd35d5d8083d84aa |