zkui

zkui is a cross platform GUI frontend of Apache ZooKeeper implemented with Python3 + Qt5 + HTML5.

A screenshot on Xubuntu 15.04 The Main Window

Check Here For More Screenshots

Features

  • Browse the ZooKeeper node tree, edit the node's data.
  • Copy a node to new path recursively.
  • Export / Import between node and your local storage recursively.
  • Delete node and its children recursively.
  • ACL supportted, sheme including world,digest,ip
  • Use a pre-configured default ACL when create new node
  • Cross-platform, this is the nature given by Python3 and Qt5

Download Pre-built Binaries

If it's too complicated for you to build a Python3+PyQt5 environment, You can download pre-built binary executables here.

  • Currently, there are only MS Windows executables provided.
  • The latest binary package is uploaded on 2016-02-03

Build By Yourself

1. Install Python3.x

  • The latest version is 3.4.3 as I write this. This is also the recommended version. download it here

  • Install PyQt5 package.

    We use PyQt5 to draw the native window and use its QWebkit to render all the gui component inside the window.

    On Linux distribution, you can install it through software center, or download source code and compile it by yourself.

    On MS Windows, you can install it via a binary installer

  • IMPORTANT: Qt5.6 removed QtWebkit. So, Qt5.5 is the newest version we can use to build zkui.

    I was planning to port zkui to nw.js, but doesn't have enough spare time yest.

  • Install Kazoo package.

    Kazoo is a pure Python3 implemented ZooKeeper client.

    Install this package with this command: python3 -m pip install kazoo

  • Install pyyaml package.

    using this command: python3 -m pip install pyyaml

2. Run zkui

  • Start zkui with this command: python3 ./zkui.py

Freeze Python Scripts Into Binaries

Install Python3's cx_Freeze package.

  • cx_Freeze is a set of cross platform tools which can freeze Python scripts into executables.

  • Install this package with this commad: python3 -m pip install cx_Freeze

On MS-Windows

  • build executables: python3 ./cx_freeze_setup.py build

  • build MS Installer: python3 ./cx_freeze_setup.py bdist_msi

On Linux

  • build RPM (not tested): python3 ./cx_freeze_setup.py bdist_rpm

On Mac OSX

  • build DMG: python3 ./cx_freeze_setup.py bdist_dmg

Simple Usage Guidance

The whole UI is composed with three parts:

  • The top part is "navigation". It shows which node you are browsing. The "Go Up" and "Go Down" button is very helpful.
  • The left part is "children and operations". The blue blocks is the children of current node, click it to browse the child. The orange button has many useful operations, discover them by yourself.
  • The right part is "node data". You can view and edit the node data here.

Miscellaneous

license

  • I choose Apache License v2, but I am not an expert on license. Zkui uses many other opensource modules, I am not sure whether Apache Licese v2 is legal.

todo

  • switch to QT5.5/5.6 to use QtWebEngine for better html5 support
  • merge new upstream releases of h5 component
  • make editor window resizable instead of editor itself resizable
  • select export/import directory by dialog
  • support dump node tree at an interval
  • node value editor syntax highlighting
  • diff utility when editor node value


zkui

zkui是使用Python3 + Qt5 + HTML5实现的 Apache ZooKeeper 的跨平台GUI前端。

Xubuntu 15.04的屏幕截图

查看更多屏幕截图

Features

  • 浏览ZooKeeper节点树,编辑节点的数据。
  • 递归复制节点到新路径。
  • 递归导出/导出节点与本地存储。
  • 递归删除节点及其子节点。
  • ACL支持,主题包括world,digest,ip
  • 创建新节点时使用预先配置的默认ACL
  • 跨平台,这是Python3和Qt5
  • 给出的性质

Download Pre-built Binaries

如果对于构建Python3 + PyQt5环境来说太复杂了,您可以在这里下载预先构建的二进制可执行文件, a>。

  • 目前,只提供MS Windows可执行文件。
  • 最新的二进制文件包是在2016-02-03
  • 上传的

Build By Yourself

1. Install Python3.x

  • 最新版本是3.4.3,因为我写这个。这也是推荐的版本。 在这里下载

  • 安装PyQt5包。

    我们使用PyQt5绘制本机窗口,并使用其QWebkit在窗口中渲染所有的gui组件。

    在Linux发行版中,您可以通过软件中心进行安装,或者下载源代码,并自行编译。

    在MS Windows上,您可以通过二进制安装程序安装它

  • 重要:Qt5.6删除了QtWebkit。所以,Qt5.5是我们可以用来构建zkui的最新版本。

    我计划将zkui移植到nw.js,但没有足够的空余时间。

  • 安装Kazoo包。

    Kazoo是一个纯Python3实现的ZooKeeper客户端

    使用此命令安装此软件包: python3 -m pip install kazoo

  • 安装pyyaml包。

    使用此命令: python3 -m pip install pyyaml

2. Run zkui

  • 使用以下命令启动zkui: python3 ./zkui.py

Freeze Python Scripts Into Binaries

Install Python3's cx_Freeze package.

  • cx_Freeze是一套跨平台工具,可以将Python脚本冻结成可执行文件。

  • 使用这个逗号安装此软件包: python3 -m pip install cx_Freeze

On MS-Windows

  • 构建可执行文件: python3 ./cx_freeze_setup.py构建

  • 构建MS安装程序: python3 ./cx_freeze_setup.py bdist_msi

On Linux

  • 构建RPM (未测试) python3 ./cx_freeze_setup.py bdist_rpm

On Mac OSX

  • 构建DMG: python3 ./cx_freeze_setup.py bdist_dmg

Simple Usage Guidance

整个UI由三部分组成:

  • 顶部是导航。它显示您正在浏览的节点。 向上和向下按钮非常有用。
  • 左边的部分是孩子和操作。蓝色块是当前节点的子节点,单击它来浏览子节点。橙色按钮有许多有用的操作,可以自己发现。
  • 正确的部分是节点数据。您可以在此处查看和编辑节点数据。

Miscellaneous

license

  • 我选择Apache License v2,但我不是许可证的专家。 Zkui使用许多其他开源模块,我不知道Apache Licese v2是否合法。

todo

  • 切换到QT5.5 / 5.6以使用QtWebEngine更好的html5支持
  • 合并h5组件的新上游版本
  • 使编辑器窗口可调整大小,而不是编辑器本身可调整大小
  • 通过对话框
  • 选择导出/导入目录
  • 以间隔支持转储节点树
  • 节点值编辑器语法高亮显示
  • diff实用程序,当编辑器节点值




相关问题推荐