服务不可知特性标志客户端
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
发布新版本
在
setup.py
中插入版本号删除
dist
目录的所有内容创建分发文件:
python setup.py sdist bdist_wheel
- 推到PYPI:
twine upload dist/*
- 检查展开位置:
https://pypi.org/manage/project/featureflagclient/releases/