跳转到主要内容

Python命令行界面工具

项目描述

Clint 是一个模块,包含了一套用于开发命令行应用程序的强大工具。

https://raw.github.com/kennethreitz/clint/master/misc/clint.jpeg

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 (29.4 kB 查看哈希值)

上传时间: 源代码

由以下支持