Python命令行界面工具
项目描述
Clint 是一个模块,包含了一套用于开发命令行应用程序的强大工具。
C ommand L ine IN terface T ools .
Clint 很棒。疯狂棒。它支持颜色,但会检测会话是否为 TTY,因此如果您的操作中涉及管道,则不会渲染颜色。自动。
很棒的嵌套缩进上下文管理器。示例:(with indent(4): puts('indented text'))。它支持自定义电子邮件风格引号。当然,如果需要,它也支持颜色。
它有一个很棒的列打印器,具有可选的自动扩展列。它会检测您的当前控制台的宽度并相应调整。它正确地包装您的单词以适应列大小。带或不带颜色混合。所有通过一个函数调用。
世界上最容易使用的隐式参数系统,具有链式方法的过滤。真的。
运行示例中的各种可执行文件,以了解Clint提供的内容。
您绝对不想不使用它。
当前功能
少量文档(请现在就忍受一下)
CLI颜色和缩进
极其简单且功能强大的列打印机
基于迭代器的进度条
隐式参数处理
简单支持入站Unix管道
应用程序目录管理
未来功能
文档!
简单的选择系统 您确定吗? [Yn]
欢迎提出建议。
示例
我想缩进我的控制台文本。
>>> from clint.textui import puts, indent >>> puts('not indented text') >>> with indent(4): >>> puts('indented text') not indented text indented text
我想引用我的控制台文本(就像电子邮件一样)。
>>> puts('not indented text') >>> with indent(4, quote=' >'): >>> puts('quoted text') >>> puts('pretty cool, eh?') not indented text > quoted text > pretty cool, eh?
我想给我的控制台文本着色。
>>> from clint.textui import colored, puts >>> puts(colored.red('red text')) red text # It's red in Windows, OSX, and Linux alike.
我想从stdin接收数据管道。
>>> clint.piped_in() # if no data was piped in, piped_in returns None
我想获取传递的第一个命令行参数。
>>> from clint import arguments >>> args = arguments.Args() >>> args.get(0) # if no argument was passed, get returns None
我想存储配置文件。
>>> from clint import resources >>> resources.init('Company', 'AppName') >>> resources.user.write('config.ini', file_contents) # OSX: '/Users/appuser/Library/Application Support/AppName/config.ini' # Windows: 'C:\\Users\\appuser\\AppData\\Local\\Company\\AppName\\config.ini' # Linux: '/home/appuser/.config/appname/config.ini'
即使stdout不是TTY,我也想强制输出颜色。
$ export CLINT_FORCE_COLOR=1
我想请求输入。
>>> from clint.textui import prompt, validators >>> path = prompt.query('Installation Path', default='/usr/local/bin/', validators=[validators.PathValidator()])
安装
要安装clint,只需
$ pip install clint
或者,如果您绝对必须
$ easy_install clint
但是,您真的不应该这样做。
许可证
ISC许可证。
Copyright (c) 2011, Kenneth Reitz <me@kennethreitz.com> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
贡献
如果您想贡献,只需将存储库分叉,将您的更改提交到master分支(或从其分叉),然后发送拉取请求。确保您已将自己添加到AUTHORS。
路线图
单元测试
Sphinx文档
历史
0.5.1
在使用彩色文本时修复max_width中的行宽计算(感谢@wkentaro)
0.5.0
添加选项提示
0.4.1
修复了决定进度条是否应该隐藏的逻辑中的错误
0.4.0
clint.textui.prompt现在有一个带有验证器的查询函数!(感谢@aeby) - 见 examples/prompt.py
Clint文档现在包含在sdist中(感谢@alunduil)
其他错误修复
0.3.7
Clint现在遵循CLINT_FORCE_COLOR环境变量
0.3.6
修复了有缺陷的PyPI部署
0.3.5
progress.bar现在是一个上下文管理器 - 不再需要可迭代的对象(感谢@jric)
错误修复
0.3.4
修复了Python 3 basestring弃用
修复了示例
0.3.3
修复了Python 3构建问题
修复了README和HISTORY被安装到/usr的问题
添加了对加粗文本的支持
0.3.2
未知
0.3.1
未知
0.3.0
Python 3支持!
0.2.4
新的eng模块
Win32错误修复
0.2.3
仅在需要时初始化颜色(与iPython兼容性)
新的进度模块
各种错误修复
0.2.2
自动禁用颜色
进度命名空间更改
新的进度条
textui.puts换行修复
0.2.1 (2011-03-24)
Python 2.5支持
可用颜色列表
0.2.0 (2011-03-23)
列打印!!!
(自动/手动)禁用颜色
更智能的颜色
max_width,min_width
去除cli颜色
错误修复
0.1.2 (2011-03-21)
错误修复
0.1.1 (2011-03-20)
错误修复
缩进换行注入
资源:标志,非标志,文件,非文件
大量示例
0.1.0 (2011-03-20)
首次发布!
项目详情
clint-0.5.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa |
|
MD5 | 8afd569f077886e2f4e6cca377da2623 |
|
BLAKE2b-256 | 3db441ecb1516f1ba728f39ee7062b9dac1352d39823f513bb6f9e8aeb86e26d |