跳转到主要内容

啤酒花园插件和实用库

项目描述

brewtils 是用于与 Beergarden 系统交互的 Python 库。如果您计划编写 beer-garden 插件,这是您正确的库。除了编写插件外,它还提供了简单的查询 API 的方法,并得到 beer-garden 团队的官方支持。

Gitter PyPI Build Status Code Coverage Documentation Status Pyup Updates

特性

brewtils 帮助您与 beer-garden 交互。

  • 轻松创建 beer-garden 插件

  • 完全支持整个 Beer-Garden API

  • 由 beer-garden 团队官方支持

安装

要安装 brewtils,请在您的终端中运行以下命令

$ pip install brewtils

或者将其添加到您的 requirements.txt

$ cat brewtils >> requirements.txt
$ pip install -r requirements.txt

快速入门

您可以在没有任何问题的情况下创建自己的 beer-garden 插件。为了开始,我们将创建必需的 hello-world 插件。创建插件就像

from brewtils.decorators import system, parameter, command
from brewtils.plugin import RemotePlugin

@system
class HelloWorld(object):

    @parameter(key="message", description="The message to echo", type="String")
    def say_hello(self, message="World!"):
        print("Hello, %s!" % message)
        return "Hello, %s!" % message

if __name__ == "__main__":
    client = HelloWorld()
    plugin = RemotePlugin(client,
                          name="hello",
                          version="0.0.1",
                          bg_host='127.0.0.1',
                          bg_port=2337)
    plugin.run()

假设您在本地主机的 2337 端口上运行了 Beer Garden,运行此命令将注册并启动您的插件!现在您的第一个插件已在 beer-garden 中运行。让我们使用 brewtils 库的另一部分来从 Python 练习您的插件。

SystemClient 被设计用来帮助您将已注册的系统视为原生的 Python 对象。

from brewtils.rest.system_client import SystemClient

hello_client = SystemClient('localhost', 2337, 'hello')

request = hello_client.say_hello(message="from system client")

print(request.status) # 'SUCCESS'
print(request.output) # Hello, from system client!

在后台,SystemClient 已执行一个带有获取 beer-garden 执行所需有效负载的 HTTP POST 请求。当您在 Python 的上下文中与 beer-garden 交互并想要发出请求时,通常会使用 SystemClient

当然,API 的其余部分可通过 brewtils 包访问。 EasyClient 提供简单方便的方法调用 API 并自动序列化响应。假设您想要获取所有系统上的所有命令列表

from brewtils.rest.easy_client import EasyClient

client = EasyClient('localhost', 2337)

systems = client.find_systems()

for system in systems:
    for command in system.commands:
        print(command.name)

这仅仅是 EasyClient 可能做到的一小部分。请随意探索所有公开的方法。

有关更详细的信息和更好的说明,请查看完整文档!

文档

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

brewtils-3.27.2.tar.gz (100.5 kB 查看哈希值)

上传时间 源代码

构建分发

brewtils-3.27.2-py2.py3-none-any.whl (113.2 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下提供支持