Skip to main content

其他 CKAN 实用程序库

项目描述

# ckanutils

## 介绍

ckanutils 是一个 [Python 库](#library),用于与远程和本地 [CKAN](http://ckan.org/) 实例进行交互。它在底层使用 [ckanapi](https://github.com/ckan/ckanapi),本质上是它的高级包装器。[ckanny](https://github.com/reubano/ckanny) 提供了基于此库构建的命令行界面。

使用 ckanutils,您可以

- 下载 CKAN 资源
- 将 CSV/XLS/XLSX 文件上传到 CKAN DataStore
- 等等...

## 要求

ckanutils 已在以下配置上进行了测试:

- MacOS X 10.9.5
- Python 2.7 .9

ckanutils 需要以下内容才能正常运行:

- [Python >= 2.7](http://www.python.org/download) (MacOS X 自带 python 预装)

## 安装

(你使用的是 [virtualenv](http://www.virtualenv.org/ en/latest/index.html),对吗?)

sudo pip install ckanutils

## 用法

ckanutils 旨在直接从 Python 中使用。

### 示例

*获取远程资源*

```python
from ckanutils import CKAN

ckan = CKAN(remote='http://demo.ckan.org')
resource_id = '36f33846-cb43-438e-95fd-f518104a32ed'
r , filepath = ckan.fetch_resource(resource_id, filepath='path/to/file.csv')
print(r.encoding)
```

*获取本地资源*

```python
from ckanutils import CKAN

ckan = CKAN(api_key='mykey', remote=None)
resource_id = '36f33846-cb43-438e-95fd-f518104a32ed'
r, filepath = ckan.fetch_resource(resource_id, filepath='path/to/file.csv')
打印r.encoding
```
*show data*

```python
from ckanutils import CKAN

ckan = CKAN(api_key='mykey', remote=None)
resource_id = '36f33846-cb43-438e-95fd-f518104a32ed'
r = ckan.datastore_search (resource_id)
print r.next()
```

## 配置

ckanutils 将使用以下 [环境变量](http://www.cyberciti.biz/faq/set-environment-variable-linux/) 如果设置:

环境变量|描述
--------|------------
CKAN_API_KEY|您的 CKAN API 密钥
CKAN_REMOTE_URL|您的 CKAN 实例远程 url
CKAN_USER_AGENT|您的用户代理

## 哈希表

为了支持文件哈希,ckanutils 创建了一个名为 `hash_table.csv` 的哈希表资源,其架构如下:

field|type
------| ----
datastore_id|text
hash|text

默认情况下,哈希表资源将放在包`hash_table`中。如果此包不存在,ckanutils 将创建它。或者,您可以使用 `-H, --hash-table` 选项在命令行中设置哈希表包,或者在 Python 文件中作为 `api.CKAN` 的 `hash_table` 关键字参数。

示例:

```python
from ckanutils import api
ckan = api.CKAN(hash_table='custom_hash_table')
hash = ckan.get_hash('36f33846-cb43-438e-95fd-f518104a32ed')
```

## 脚本

ckanutils 带有一个内置的任务管理器 `manage.py` 和一个 `Makefile`。

### Setup

pip install -r dev-requirements.txt

### 示例

*运行 python linter 和 nose 测试*

```bash
manage lint
manage test
```

或者如果 `make` 更适合你的速度...

`` `bash
make lint
make test
```

## 贡献

视图 [CONTRIBUTING.rst](https://github.com/reubano/ckanutils/blob/master/CONTRIBUTING.rst)

## 许可证

ckanutils 在 [MIT 许可证](http://opensource.org/licenses/MIT) 下分发,与 [ckanapi](https://github.com/ckan/ckanapi) 相同。

项目详情


下载文件

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

内置分布

ckanutils-0.14.9-py27-none-any.whl (11.8 kB 查看哈希

已上传 py27