跳转到主要内容

OpenStack索引和搜索API客户端库

项目描述

团队和存储库标签

https://governance.openstack.org/tc/badges/python-searchlightclient.svg

python-searchlightclient

OpenStack索引和搜索API客户端库

这是基于Searchlight API构建的Searchlight客户端库。它提供了一个Python API(searchlightclient模块)和命令行工具(searchlight)。

该项目托管在Storyboard上,可以在那里提交错误。代码托管在OpenStack git存储库中。补丁必须使用Gerrit提交,而不是git存储库拉取请求。

python-searchlightclient的许可证与OpenStack的其他部分一样,采用Apache许可证。

从PyPI安装客户端

程序python-searchlightclient软件包发布在PyPI上,因此可以使用pip工具安装,这将管理安装所有Python依赖项。

$ pip install python-searchlightclient

从源设置客户端

  • 克隆python-searchlightclient仓库

    $ git clone https://opendev.org/openstack/python-searchlightclient.git
    $ cd python-searchlightclient
  • 设置虚拟环境

$ tox -evenv --notest

在您想要在其中工作的任何时候激活虚拟环境。本节中所有后续命令都应在venv激活状态下运行

$ source .tox/venv/bin/activate
  • 安装Searchlightclient及其依赖项

    (venv) $ python setup.py develop

命令行API

设置Keystone环境变量以执行针对searchlight的CLI命令。

  • 要执行CLI命令

    $ export OS_USERNAME=<user>
    $ export OS_PASSWORD=<password>
    $ export OS_TENANT_NAME=<project>
    $ export OS_AUTH_URL='http://localhost:5000/v2.0/'
$ openstack
(openstack) search resource type list
+--------------------------+--------------------------+
| Name                     | Type                     |
+--------------------------+--------------------------+
| OS::Designate::RecordSet | OS::Designate::RecordSet |
| OS::Designate::Zone      | OS::Designate::Zone      |
| OS::Glance::Image        | OS::Glance::Image        |
| OS::Glance::Metadef      | OS::Glance::Metadef      |
| OS::Nova::Server         | OS::Nova::Server         |
+--------------------------+--------------------------+

以下是完整的子命令列表,使用-h查看选项

子命令

描述

search facet list

列出Searchlight Facet

search resource type list

列出Searchlight资源类型(插件)

search query

搜索Searchlight资源

Python API

用于与keystone作为认证系统一起使用

>>> from keystoneclient.auth.identity import generic
>>> from keystoneclient import session
>>> from searchlightclient import client
>>> auth = generic.Password(auth_url=OS_AUTH_URL, username=OS_USERNAME, password=OS_PASSWORD, tenant_name=OS_TENANT_NAME)
>>> keystone_session = session.Session(auth=auth)
>>> sc = client.Client('1', session=keystone_session)
>>> sc.resource_types.list()
[...]

测试

可以运行多个测试目标来验证代码。

  • tox -e pep8 - 遵守风格指南

  • tox -e py36 - 使用Python 3.6进行传统单元测试

  • tox -e py37 - 使用Python 3.7进行传统单元测试

项目详情


下载文件

下载您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。

源分发

python-searchlightclient-2.1.1.tar.gz (41.5 kB 查看散列)

上传时间:

构建分发

python_searchlightclient-2.1.1-py3-none-any.whl (44.2 kB 查看散列)

上传时间: Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面