跳转到主要内容

CKAN Python SDK for CKAN3 instances with CKAN3 cloud storage.

项目描述

CKAN Client: Python SDK

contributions welcome ckan-client-py actions The MIT License

CKAN 3 SDK for CKAN instances with CKAN v3 style cloud storage.
This SDK will communicate with ckanext-authz-service (using CKAN to provide authorization tokens for other related systems) and Giftless (a highly customizable and extensible Git LFS server implemented in Python) to upload data to blob storage.

了解更多关于它的设计

安装

从Python包索引安装它

$ pip install ckan-client

用法

ckanclient.Client

参数

名称 描述
api_url CKAN API密钥
api_key CKAN实例URL
organization 组织
dataset_id 数据集ID
lfs_url Git LFS URL

示例

from ckanclient import Client


client = Client(
    '771a05ad-af90-4a70-beea-cbb050059e14',
    'http://localhost:5000',
    'datopian',
    'dailyprices',
    'http://localhost:9419',
)

这些设置符合ckanext-blob-storage开发环境的规范,但您仍然需要在那里创建用户和组织。

ckanclient.Client.action

参数

名称 类型 默认 描述
name str (必需) 动作名称,例如,site_readpackage_show
payload dict (必需) 发送到CKAN的负载。如果为GET请求提供了负载,它将被转换为URL参数,每个键都将转换为蛇形案例。
http_get bool False 可选的,如果设置为 True 将进行 GET 请求,否则进行 POST
transform_payload 函数 None 在发送请求之前修改 payload 的函数(用于在 CKAN 和 Frictionless 格式之间转换)。
transform_response 函数 None 在返回之前修改响应数据的函数(用于在 CKAN 和 Frictionless 格式之间转换)。

此方法被以下方法内部使用。

ckanclient.Client.create

参数

名称 类型 描述
dataset_name_or_metadata strdict 它可以是表示有效数据集名称的字符串或包含 Frictionless 格式数据集元数据的字典。

示例

dataset = client.create('dailyprices')

ckanclient.Client.push

参数

名称 类型 描述
dataset_metadata dict Frictionless 格式的数据集元数据。

示例

dataset_metadata = {
    'id': '16d6e8d7-a848-48b1-91d0-fd393c1c6c01',
    'name': 'dailyprices',
    'owner_org': '57f97769-a982-4ccd-91f0-1d86dee822e3',
    'title': 'dailyprices',
    'type': 'dataset',
    'contributors': [],
    # …
}
dataset = client.push(dataset_metadata)

ckanclient.Client.retrieve

参数

名称 类型 描述
name_or_id str 数据集的 ID 或名称。

示例

dataset = client.retrieve('dailyprices')

ckanclient.Client.push_blob

参数

名称 类型 描述
resource dict 一个 Frictionless 资源。

开发

您只需要 Git 和 Python 3.6+ 及符合 PEP 527 的工具,例如 Poetry

首先,克隆此仓库

$ git clone https://github.com/datopian/ckan-client-py.git

然后,移动到该目录

$ cd ckan-client-py

并使用 Poerty 或其他方式安装包及其依赖项,例如

$ poetry install

要运行测试

$ poetry run pytest

许可证

本项目采用 MIT 许可证 - 详细信息请参阅 LICENSE 文件

项目详情


下载文件

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

源分发

ckan-client-0.1.1.tar.gz (7.8 kB 查看散列)

上传时间

构建分发

ckan_client-0.1.1-py3-none-any.whl (10.0 kB 查看散列)

上传时间 Python 3

由以下机构支持

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