服务不可知特性标志客户端

featureflagclient的Python项目详细描述


功能标志客户端

允许您在代码中使用功能标志,与任何json功能标志服务一起使用。

功能:

  • 非常轻。
  • 功能标志服务不可知。

featureflag.tech创建。

开始

您可以从软件包索引中通过pip安装它,如下所示

pip install featureflagclient

如果您在云中有这样一个json文件:

featureflag.tech/node/exampleflag.json

您可以像这样访问它

from featureflagclient.client import Featureflagclient

f2c = Featureflagclient("https://featureflag.tech/node/exampleflag.json")

if (f2c.get( "trueBoolean" )) {
	// do some python
}

使用功能标志的一个好方法是使用标志源中的值,但在特定上下文中重写它们。例如,对于web应用程序,可以在实时生产中默认禁用某个功能,但随后在请求中使用cookie或参数覆盖该值。

例如:

from featureflagclient.client import Featureflagclient

f2c = Featureflagclient(
	"https://featureflag.tech/node/exampleflag.json",
	{
		"falseBoolean": req.param("falseBooleanOverride") or None
	}
)

if (f2c.get( "trueBoolean" )) {
	// do some python
}

开发

从头开始设置

project使用以下python库:

  • python 3.6
  • pyenv用于管理python的版本
  • pipenv用于管理依赖项和python环境
  • pytest用于单元测试
  • mypy用于静态类型(尚未为真)
  • flake8用于代码linting(尚未为真)

pyenv-python版本管理器

brew install pyenv

将此添加到.bash_profile

eval "$(pyenv init -)"

重新加载终端会话。

python 3.6.5

pyenv install 3.6.5

具有依赖项的setup env

cd [repo directory]
pipenv install
pipenv shell

运行测试

pytest -v

发布新版本

  1. setup.py中插入版本号

  2. 删除dist目录的所有内容

  3. 创建分发文件:

python setup.py sdist bdist_wheel
  1. 推到PYPI:
twine upload dist/*
  1. 检查展开位置:
https://pypi.org/manage/project/featureflagclient/releases/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java NIO选择器最多只能选择50个SelectionKeys?   java阻止ImageButton创建新活动   为什么Java方法“Arrays.copyOf”处理中的整数数组与处理对象数组时的行为不同   java将安卓 1.6日历字段提取到vcal   将字符串转换为双精度后的java问题   java使用Webflux,是否可以使用AOP获取用于日志记录的ServerHttpRequest   java与jTextArea的基本区别是什么。setText()和jTextArea。append()方法?   java程序执行时间|将值保存到文件或数据结构?   java如何将表示字符的整数转换为字符串?   Java LWJGL新的渲染问题windows   java GUI提供异常   java创建第二个对象使类的函数不再工作   如何在java中将000验证为3位数字?   java bigO算法的时间复杂度,可以在不重复的情况下找到最长的子串   在30像素内点击按钮后,java在两个图像之间转换   java eclipse maven nexus不可解父pom   当存在其他SecurityConstraint时,java TransportGuary机密将被忽略   重新连接后激发的java Red5客户端流断开事件   javafx聊天应用程序中连接客户端的java问题