可移植的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快速入门

  1. 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/。确保:

  1. Be logged-in using your Tribe account
  2. Select “Confidential” under ^{tt4}$ and
  3. Select “Authorization Code” under ^{tt5}$
  4. 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远程集合和版本,从 客户端服务器。

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

推荐PyPI第三方库


热门话题
java如何从数组中打印int值?   prepared语句Java中奇怪的异常PreparedStatement:参数索引超出范围   封装如何在OOP Java中为主方法编码?   java某些手机显示快捷方式徽章需要什么权限?   java TextView不会随OnItemSelectedListener更改   java注释处理器不会自动触发吗?   java Spring JPA如何计算外键数   c#对于这个简单的OOAD问题,哪种设计最优雅?   java如何处理while循环中的异常?   Android Studio错误:进程'command'/home/draven/Downloads/安卓studio/jre/bin/java''结束,退出值为非零2   在使用Payara服务器的Vaadin应用程序中导航到根目录时,java将丢失上下文根目录   使用contentType application/json而不是application/jsonpatch+json的java修补程序   带有tomcat的java HAproxy连接不足   Java:在应用过滤器后创建一个简单的通用方法进行计数   java如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?