带有JSONPath集成的pythonnative fxlike终端JSON查看器。
python-fx的Python项目详细描述
pyfx公司
受fx的启发,JSON Viewer TUI的python实现。在
安装
使用pip
在使用pip之前,请检查Python版本,pyfx要求>;=3.8。在
pip install python-fx
源代码构建
克隆thisrepo,将目录更改为项目并运行
^{pr2}$使用
CLI
pyfx附带了一个CLI,您可以使用它直接打开JSON文件。在
- 您可以使用它打开一个JSON文件
pyfx JSON_FILE
在 - 您还可以使用它从管道中打开JSON数据
cat JSON_FILE | pyfx
在
作为模块导入
导入pyfx简单TUI
您可以直接将pyfx的TUI集成到您自己的项目中。
人们会认为这是CLI应用程序的最后一步。方法Controller#run_with_data
包含一个无限循环MainLoop,以呈现图像直到退出(按q
)。在
frompyfximportController...# data is the what you want to render as TUI# only supports dict, list and primitive variableController().run_with_data(data)
导入pyfx的本机JSON库并与您自己的TUI集成
您还可以导入pyfx原生JSON库,将其集成到您自己的urwidtui中,例如json_browser.py。在
frompyfx.view.json_libimportJSONListBox,JSONListWalker,NodeFactory...# create top node from the data (only supports dict, list and primitive variable)top_node=NodeFactory.create_node("",data,display_key=False)# create JSONListBox from top node, a urwid ListBox compatible widget (http://urwid.org/reference/widget.html#listbox)listbox=JSONListBox(JSONListWalker(top_node))# use listbox in your own TUI ...
配置
pyfx可以使用YAML配置,配置文件可以直接通过CLI选项传递,也可以自动传递 在预定义的配置文件夹中加载。在
如果在没有-c / --config
选项的情况下调用pyfx,它将按以下顺序搜索配置文件:
- ~/.config/pyfx/配置yml在
- PYTHON_DIR/site packages/pyfx/config/配置yml在
预定义键映射
使用以下配置架构配置密钥映射
keymap:
mode: string, accepted_options = ["basic" (The default) | "emacs" | "vim"]
基本模式
Key | Function |
---|---|
q | exit pyfx (except in Query Bar) |
JSON Browser | |
up | move cursor up one line |
down | move cursor down one line |
enter | toggle expansion |
. | enter query window (used to input JSONPath query) |
Query Bar | |
enter | apply JSONPath query and switch to JSON Browser |
esc | cancel query and restore to state before query |
Emacs模式
要启用,请在配置文件中添加以下配置:
keymap:mode:"emacs"
映射键
^{tb2}$Vim模式
要启用,请在配置文件中添加以下配置:
keymap:mode:"vim"
映射键
Key | Function |
---|---|
q | exit pyfx (except in Query Bar) |
JSON Browser | |
up / k | move cursor up one line |
down / j | move cursor down one line |
enter | toggle expansion |
. / : | enter query window (used to input JSONPath query) |
Query Bar | |
enter | apply JSONPath query and switch to JSON Browser |
esc | cancel query and restore to state before query |
完整的文档
许可证
请访问LICENSE
- 项目
标签: