Nuxeo REST API Python客户端
项目描述
Nuxeo API客户端库
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构建一个查询,该查询将找到所有具有File或Picture类型且未删除的子元素。
# 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的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 31fc973c55d7fc7567860e589c6c59c386d2e3563cb8f7709276551a76902daa |
|
MD5 | 0d46d64d84332dbb3a3a45fce30eb1fe |
|
BLAKE2b-256 | 70b6c885ec495637a7a23cbc6606b4d5c0ac56843abeda5113a958d29c7afaeb |
nuxeo-6.1.1-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d7e30368fa2ca02e3981cdadee27c9f8011fddb091b5af879735543900009767 |
|
MD5 | 8ab8c60ba4d1399c49cafe41612d5154 |
|
BLAKE2b-256 | fbc5637712148b134cf663585d34cfe9184a0e17df02e4088e77fefe732d57db |