跳转到主要内容

Nuxeo REST API Python客户端

项目描述

Nuxeo API客户端库

Build Status Quality Coverage

Nuxeo Python客户端是Nuxeo自动化和REST API的Python客户端库。它与Python 3.6+兼容。

这是一个持续进行的项目,由Nuxeo支持。

入门指南

安装非常简单

python -m pip install -U --user nuxeo

客户端可以利用Amazon S3提供者来安装其需求

python -m pip install -U --user "nuxeo[s3]"

客户端与OAuth2机制兼容,以安装其需求

python -m pip install -U --user "nuxeo[oauth2]"

以及安装几个需求版本

python -m pip install -U --user "nuxeo[oauth2, s3]"

导入

然后,使用以下import语句来访问Nuxeo API

from nuxeo.client import Nuxeo

文档

查看API文档

需求

Nuxeo Python客户端仅与

  • Nuxeo平台 >= LTS 2015

  • requests >= 2.12.2(用于unicode身份验证)

  • setuptools >= 30.3.0

快速入门

本快速入门指南将展示如何使用客户端进行基本操作。

连接到Nuxeo平台

使用基本身份验证连接到Nuxeo平台的最简单方法是向客户端传递包含用户名和密码的元组,如下所示

nuxeo = Nuxeo(auth=('Administrator', 'Administrator'))

然后,您可以使用nuxeo对象与平台交互。如果您想使用特定实例,可以指定base_url,如下所示

nuxeo = Nuxeo(
    host='http://demo.nuxeo.com/nuxeo/',
    auth=('Administrator', 'Administrator')
)

下载/上传配置

nuxeo/constants.py文件中,您有多个常量,它们在客户端中用于更改以满足您的需求。其中一些是

  • CHECK_PARAMS(默认为False),用于检查每个HTTP调用的操作参数。

  • CHUNK_LIMIT(默认为10 MiB),上传大小超过此值时,将自动分块。

  • CHUNK_SIZE(默认为8 KiB),下载时分块的大小。

  • MAX_RETRY(默认为5),任何HTTP调用上连接错误的重试次数。

  • UPLOAD_CHUNK_SIZE(默认为20 MiB),上传时分块的大小。

运行NXQL查询

您可以在NXQL(NXQL是SQL的子集,您可以在文档中查看其用法)中运行查询。这里,我们首先获取一个工作区,然后使用其uid构建一个查询,该查询将找到所有具有FilePicture类型且未删除的子元素。

# Fetch a workspace
ws = nuxeo.documents.get(path='/default-domain/workspaces/ws')

# Build a query using its UID
nxql = ("SELECT * FROM Document WHERE ecm:ancestorId = '{uid}'"
        "   AND ecm:primaryType IN ('File', 'Picture')"
        "   AND ecm:currentLifeCycleState != 'deleted'")
query = nxql.format(uid=ws.uid)

# Make the request
search = nuxeo.client.query(query, params={'properties': '*'})

# Get results
entries = search['entries']

entries将是一个包含查询返回的每个元素的dict的列表。

使用方法

现在您的客户端已设置好,以下是一些帮助您了解可用主要功能的页面

您还可以查看此Python客户端的API文档以获取更多选项。

贡献

查看我们的贡献文档

设置

git clone https://github.com/nuxeo/nuxeo-python-client
cd nuxeo-python-client
python -m pip install -e ".[oauth2, s3]"

测试

测试运行需要Nuxeo平台实例在http://localhost:8080/nuxeo上运行,然后

python -m pip install -U --user tox
tox

Sentry

我们使用Sentry来捕获测试中的未处理错误。您可以在运行tox之前对其进行调整。

可以禁用

export SKIP_SENTRY=1

您还可以自定义Sentry DSN以供您的团队使用

export SENTRY_DSN="XXX"

并且还可以自定义Sentry环境

# Note that the default value is "testing"
export SENTRY_ENV="testing"

部署

发布是完全自动化的,请参阅GitHub Action

报告问题

您可以在我们的JIRA错误跟踪器的Nuxeo Python客户端项目中跟踪发展: NXPY

您可以在answers.nuxeo.com上报告问题。

许可

Apache License 2.0 版权 (c) Nuxeo

关于Nuxeo

纽赛奥(Nuxeo)极大地提升了基于内容的应用程序的开发、管理和部署方式,使客户更具敏捷性、创新性和成功性。纽赛奥提供了一个下一代企业级平台,用于构建传统和前沿的内容导向应用程序。结合强大的应用程序开发环境、基于SaaS的工具和模块化架构,纽赛奥平台和产品为包括威瑞森、艺电、夏普、FICO、美国海军和波音在内的众多知名品牌提供了明确的企业价值。纽赛奥总部位于纽约和巴黎。更多信息请访问 www.nuxeo.com

项目详情


下载文件

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

源代码分发

nuxeo-6.1.1.tar.gz (44.1 kB 查看哈希)

上传时间 源代码

构建分发

nuxeo-6.1.1-py3-none-any.whl (53.4 kB 查看哈希)

上传时间 Python 3

支持者

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