Skip to main content

Quack Quack:一个简单的应用程序框架

项目描述

文档

概述

该项目旨在解决配置应用程序的问题,该应用程序需要具有初始化步骤(例如:用于收集设置或建立连接)并使用 Python 样式代码(上下文管理器和装饰器)来获取这些数据。

例如,通常您需要在 celery 应用程序和 Web 应用程序中使用两种独立的设置机制,因为您不应该在 celery 应用程序中使用 Web 应用程序启动过程。这个包为这个问题提供了一个解决方案,通过提供一个简单且独立于其他框架的机制来在任何地方实现。

快速使用示例

要使用 Quack Quack,您需要创建应用程序类(从 qq.Application继承),您需要在其中添加插件。配置后,您需要“启动”应用程序。之后,您可以将配置器用作上下文管理器。

from qq import Application, Context, InjectApplication, SimpleInjector
from qq.plugins import SettingsPlugin
from qq.plugins.types import Settings

class MyApplication(Application):
    def create_plugins(self):
        self.plugins["settings"] = SettingsPlugin('settings')

application = MyApplication()
application.start('application')

with Context(application) as ctx:
    print(ctx["settings"])

@InjectApplication(application)
def samplefun(settings: Settings = SimpleInjector("settings")):
    print(settings)

上例中的context.settings是由 SettingsPlugin 生成的变量。如果您想了解更多,请前往教程

安装

pip install quackquack

项目详情


下载文件

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

源分布

quackquack-1.1.1.tar.gz (23.9 kB 查看哈希

已上传 source

内置分布

quackquack-1.1.1-py3-none-any.whl (39.6 kB 查看哈希

已上传 py3