…
alfredo-python的Python项目详细描述
Idiomatic way for Python developers to integrate with Alfredo services.
1 Installation
在大多数系统上,您可以使用pip(推荐):
# Make sure we have an up-to-date version of pip and setuptools:
pip install --upgrade pip setuptools
pip install alfredo-python
python 2和3都受支持。
2 Command Line Interface Usage
与alfredo stack交互的主命令是alfredo。
输入应为yaml格式,输出也应以这种方式序列化。
您可以设置RUOTE_ROOT和/或VIRGO_ROOTenv vars,将cli和sdk指向所需的alfredo堆栈安装。
之后,您可以执行alfredo以获取使用帮助。
您还可以执行alfredo -help以获取您拥有的选项的更新列表,并提供示例。
3 Python Software Development Kit
要与alfredo堆栈交互,需要导入的主要模块是alfredo。
该模块的主要功能是ruote和virgo两个,以使客户机对象与各自的服务进一步交互。
您可以使用alfredo.ruote()获得对ruote中打开端点的无注释访问。这同样适用于virgo。
例如,您可以使用annonymous访问来获取给定电子邮件和密码的令牌。
在实际的python代码中使用sdk之前,请不要使用python控制台来熟悉它。
>>>alfredo.ruote().sso.token_by_email.create(email='alice@example.com',password='*******')400-BadRequestnon_field_errors:-Unabletologinwithprovidedcredentials.>>>alfredo.ruote().sso.token_by_email.create(email='alice@example.com',password='********')200-OKtoken:b1cff2aab075744ddda6b00805617f561e940107
您可以使用alfredo.ruote(token='b1cff2aab075744ddda6b00805617f561e940107')针对ruote获取经过身份验证的客户端。
>>>alfredo.ruote(token='b1bff2aab075744ddda6b00805617f561e940107')200-OKAWSclusters:http://api.teamjamon.com/AWSclusters/apps:http://api.teamjamon.com/apps/clusters:http://api.teamjamon.com/clusters/datasets:http://api.teamjamon.com/datasets/files:http://api.teamjamon.com/files/jobs:http://api.teamjamon.com/jobs/queues:http://api.teamjamon.com/queues/users:http://api.teamjamon.com/users/vdcs:http://api.teamjamon.com/vdcs/
大多数函数模拟http api的url结构,并接收命名参数作为输入。
有关详细信息,请参阅alfredo api文档。
4 Development
您可以在进行任何更改之前创建回购分叉。
如果您使用的是独立的virtualenv:pip install -r requirements.txt
如果您计划在本地通过测试,则包括测试要求pip install -rrequirements-test.txt
您可以使用nosetests --with-coverage--cover-package=alfredo--stop
运行测试目前,主分支是develop,因为代码仍在beta版中。您可以对develop生成prs。