跳转到主要内容

Pyramid、Pylons或TurboGears应用的特性切换器。

项目描述

Build Status Code Coverage

交换机板

交换机板是一个Python WSGI应用,它使得在多种Python Web框架中切换特性变得简单。它被创建来启用在SourceForge上的A/B测试和用户测试,它具有一个易于使用的管理仪表板,并提供了激活特定特性的强大条件。

Admin Dashboard

以下是对 Switchboard 完整文档 的简略版。

入门指南

想在您的应用程序中使用 Switchboard?请继续阅读。对在 Switchboard 上开发或本地运行小示例感兴趣?请查看 开发 部分。

安装

使用 pip 安装 Switchboard 及其依赖项

pip install switchboard

设置

接下来,在应用程序中嵌入 Switchboard 及其管理 UI。框架特定的详细信息可以在 Switchboard 文档 中找到。

使用开关

Switchboard 的基本单元是开关。每个开关都有一个与之关联的唯一键,并且是激活的(开启)或非激活的(关闭),因此在代码中使用它很简单

>>> from switchboard import operator
>>> operator.is_active('foo')
False

在这种情况下,我们检查了 "foo" 开关是否激活。默认情况下,Switchboard 将自动创建任何不存在的开关,例如 "foo"。自动创建的开关默认为非激活状态。这仅仅是冰山一角;开关的功能还有很多

开发

以下说明涵盖了为开发测试目的在本地设置 Switchboard 的步骤。有关如何在 Web 应用程序中使用 Switchboard 的说明,请参阅 入门指南

先决条件

  • Virtualenv:$ sudo easy_install virtualenv

初始化

  1. 创建虚拟环境工作区:$ virtualenv --no-site-packages .venv
  2. 激活虚拟环境:$ source .venv/bin/activate
  3. 安装所有依赖项:$ make install

运行示例应用

Switchboard 包含一个 示例应用,这对于开发和在非常简单的环境中进行测试都很有用。它还提供了一个将 Switchboard 设置为在基于 Bottle 的应用程序中运行的示例。

运行

$ make example

此时,一个非常简单的应用程序正在 http://localhost:8080 上运行,管理 UI 在 http://localhost:8080/_switchboard/ 上可访问。该应用程序有一个开关(example),输出文本告诉您该开关是否激活。

运行测试

Switchboard 包含了使用示例应用进行的单元测试和管理仪表板的函数测试。

运行单元测试

$ make test

功能测试需要更新后的 Firefoxgeckodriver

$ npm install -g geckodriver

运行功能测试

$ make functional-test

发布

要发布 Switchboard 的新版本

  1. 更新 setup.py 中的版本,遵循 语义版本控制
  2. 创建发布版本
$ make release

版本控制

我们使用 语义版本控制 进行版本控制。有关可用的版本,请参阅此存储库的 标签

贡献

请阅读 CONTRIBUTING.md 了解我们的行为准则以及向我们提交拉取请求的过程。

作者

请参阅参与此项目的 贡献者列表

许可

本项目采用 Apache 许可协议 - 有关详细信息,请参阅 LICENSE 文件。

致谢

交换机开始是Disqus' Gargoyle(一个用于Django的功能切换器)的一个端口。David Cramer的Pycon闪电演讲让我对在非Django应用程序中实现相同的功能切换功能非常感兴趣。

项目详情


下载文件

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

源分布

switchboard-1.6.6.tar.gz (52.0 kB 查看哈希值)

上传时间

构建分布

switchboard-1.6.6-py3-none-any.whl (59.5 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面