可移植的python包,用于连接宾夕法尼亚大学的tribe web服务
tribe-client的Python项目详细描述
部落客户端是一个可移植的python应用程序,用于连接生物信息服务器 或“部落”Web服务的工具(位于https://tribe.greenelab.com)。
此包允许使用 Django直接连接 去部落和利用它的资源。客户端Web服务器或工具的用户 可以通过部落OAuth2访问他们的部落资源 身份验证。
要求
如果在使用django的web服务器中使用tribe客户机,我们建议 您使用的是django 1.8或更高版本。
下载并安装
部落客户在pypi中注册为“部落客户”,是pip 可安装:
pip install tribe-client
Django快速入门
- 将tribe_client添加到INSTALLED_APPS设置:
INSTALLED_APPS=(...'tribe_client',)
2.在项目的urlconf中包含部落客户机urlconf(通常 urls.py):
fromdjango.conf.urlsimporturl,patterns,includeurlpatterns=patterns('',...(r'^tribe_client/',include('tribe_client.urls')),)
三。在注册客户端服务器 https://tribe.greenelab.com/oauth2/applications/。确保:
- Be logged-in using your Tribe account
- Select “Confidential” under ^{tt4}$ and
- Select “Authorization Code” under ^{tt5}$
- Enter your client server’s address plus “/tribe_client/get_token” in the ^{tt6}$ box. If your client server’s current address is http://example.com, enter http://example.com/tribe_client/get_token
Note
Currently, Tribe supports the following ^{tt7}$:
- Authorization code
- Resource owner password-based
并且不支持以下功能:
- Implicit
- Client credentials
四。在TRIBE_ID设置中记下客户端ID和客户端机密 在settings.py文件中的TRIBE_SECRET设置中,如下所示:
TRIBE_ID='*****Tribe Client ID*****'TRIBE_SECRET='*****Tribe Client Secret*****'
5个。TRIBE_REDIRECT_URI设置应该是客户端的地址 服务器加上“/tribe_client/get_token”。
TRIBE_REDIRECT_URI='http://example.com/tribe_client/get_token'
6.在设置中定义客户端服务器应具有的作用域 为了部落资源。两个选项是:“read”和“write”。默认值 是“读”。注意:“write”作用域包括“read”作用域访问。
TRIBE_SCOPE='write'# Or 'read'
7号。(可选)如果要使用Tribe_客户端的模板,请确保 基本模板(由其他模板扩展并包含 部落客户的{% block content %} {% endblock %}语句 模板可以扩展,并在设置中指定其名称。这个的名字 设置为TRIBE_CLIENT_BASE_TEMPLATE。默认情况下,部落客户将 查找名为base.html的模板。
TRIBE_CLIENT_BASE_TEMPLATE='name_of_your_main_template.html'
8个。(可选)如果要使用Tribe_客户端的内置登录模板和 创建一个链接,将用户带到 网站。此url将向用户显示内置的部落登录页面。 下面是网页导航栏中此类链接的示例:
<divclass="collapse navbar-collapse"><ulclass="nav navbar-nav navbar-right"><li><ahref="{% url "connect_to_tribe"%}">Login with Tribe</a></li></ul></div>
9号。(可选)如果要将用户重定向到 登录后的/tribe_client/display_genesetsurl, 您可以在 settings.py文件。注意:如果您不使用部落客户端 内置模板(见上文),您将需要定义此设置,以便 你的用户登录后有地方可以去。
TRIBE_LOGIN_REDIRECT='/place-to-go-after-login'
10个。(可选)如果要将用户重定向到 退出后,/tribe_clienturl,您可以在 TRIBE_LOGOUT_REDIRECT设置在settings.py文件中。 注意:如果您没有使用Tribe客户端内置模板(请参见上文), 您将需要定义此设置,以便您的用户有地方去追求 他们登出了。
TRIBE_LOGOUT_REDIRECT='/place-to-go-after-logout'
11号。(可选)如果要从 使用tribe_client_pickle_public_genesets管理命令进行部落, 必须在settings.py中自定义以下设置:
# Location of folder where pickled gene set files will be saved to.# This can be a subdirectory in your server's path (as shown here),# or not.PUBLIC_GENESET_FOLDER=os.path.join(<serverdirectory>,<folderforpickledgenesetsfiles>)
并运行以下管理命令:
python manage.py tribe_client_pickle_public_genesets
这将为每个 数据库中的有机体。如果你想做很多基因 在部落或任何 其他需要频繁、大量、耗时的请求的任务 对于基因集。
仔细看
在幕后,部落客户机具有以下功能:
1)获取访问令牌(通过OAuth2协议) 允许用户在部落中访问和创建资源。
2)检索公共和私有集合(及其版本)并显示 它们在客户端服务器上使用包中包含的视图和模板。
3)允许用户创建w远程集合和版本,从 客户端服务器。