此扩展将数据包的导入和导出添加到CKAN数据集。
ckanext-datapackager的Python项目详细描述
[![构建状态](https://travis ci.org/ckan/ckanext datapackager.png)(https://travis-ci.org/ckan/ckanext-datapackager)[![覆盖状态](https://coveralls.io/repos/ckan/ckanext-datapackager/badge.png?branch=master)](https://coveralls.io/r/ckan/ckanext-datapackager?branch=master)
ckan数据包包的导入和导出添加到ckan数据包的导入和导出。
*python 2.7
>要将ckanext data包安装到ckan实例中,请执行以下操作:
>
1.如果您正在为ckan使用虚拟环境,请激活它,例如:
source/usr/lib/ckan/default/bin/activate
2。使用pip安装"ckanext datapackager"扩展:
pip install ckanext datapackager
pip install-r requirements.txt
>3。将"datapackager"添加到ckan配置文件中的"ckan.plugins"设置中;
4。重新启动ckan。
[导入数据包](doc/images/ckanext datapackager import demo.gif)
1.访问数据集列表页(例如"http://your ckan address.com/dataset")
2。单击"导入数据包"按钮;
3。上传或链接到数据包json或zip文件;
*根据您的ckan配置,您可能还需要在这里定义数据集的组织和可见性。
4。查看创建的数据集。
[将ckan数据集导出为数据包](doc/images/ckanext datapackager export link.png)
1.转到数据集页;
2。单击"下载数据包"按钮。
[ckanext/datapackager/logic/action](ckanext/datapackager/logic/action)。
```
curl-x post\
-h"授权:你的"ckan_-api_-api密钥"\
-d{"url":"https://link.to/datapackage.json"\
http://ckan_-host/api/action/package_-create_from_-datapackage
```
curl-x post\
curl-x-post\
br/>ckanapi action package-create_-creu from_-datapackage-url=url地址地址:你也可以使用[ckanapi][ckanapi][ckanapi]:
br=拥有er_organization_id-r http://ckan_host
要上载数据包,请使用[ckanapi]查看有关上载文件的文档(https://github.com/ckan/ckanapi_file uploads),或使用[requests]检查此示例(http://docs.python requests.org/en/latest/):
``python
导入请求
r=requests.post('http://ckan_host/api/action/package/package从"数据包"中创建数据包,
headers={'authorization':您的"数据包"密钥},
files=[('upload',file('/path/to/datapackage.json/or/file.zip')]]))
`` `
`
/>
/>数据包`WI相关数据集ID:
curl'http://ckan_host/api/action/package_show_as_datapackage?id=940a5fe0-0c72-41c4-8a28-8c794f399036'
{"帮助":"http://ckan\u host/api/3/action/help\u show?name=package_show_as_datapackage",
"success":true,
"result"{
"name":"bond yields-uk-2-7334836228",
"title":"测试数据包",
"resources":[
{"url":"http://some.file",
"format":"csv"}
]
}
}
或者如果使用ckanapi:
ckanapi action package_show_as_datapackage id=packageGE ID-R http://ckan_url
注意,这将返回标准的ckan API输出,其中"result"键下返回"datapackage.json"文件。
如果希望直接获取"datapackage.json"文件,则可以使用此直接端点:
http://ckan_host/dataset/dataset_name_或_id/datapackage.json
例如
curl http://ckan_host/dataset/bond-yiels-uk-10y/datapackage.json
pip install-r dev requirements.txt
运行测试:
注意,ckanext datapackager的"test.ini"文件假定从它到ckan的"test core.ini"文件的相对路径是`../ckan/test core.ini`,即t您已在同一目录中相邻安装了
ckan和ckanext datapackager。如果您已经完成了ckan和ckanext数据打包程序的开发安装,那么通常会出现这种情况。
[开放知识数据打包程序](http://data packager.okfn.org)是为一个旧的ckan版本(2.2)编写的,现在已经被弃用。此扩展实现了其功能的
部分并对其进行了改进,支持当前的ckan
版本(2.4)。
如果仍需要旧数据打包程序,请签出此存储库的commit
[57cff1f](https://github.com/ckan/ckanext-data packager/commit/57cff112504091891195a097433579275F968)。
[ckan]:http://ckan.org
[data packages]:http://dataprotocols.org/data packages/
[ckanapi]:https://github.com/ckan/ckanapi
ckan数据包包的导入和导出添加到ckan数据包的导入和导出。
>要将ckanext data包安装到ckan实例中,请执行以下操作:
>
1.如果您正在为ckan使用虚拟环境,请激活它,例如:
source/usr/lib/ckan/default/bin/activate
2。使用pip安装"ckanext datapackager"扩展:
pip install ckanext datapackager
pip install-r requirements.txt
>3。将"datapackager"添加到ckan配置文件中的"ckan.plugins"设置中;
4。重新启动ckan。
[导入数据包](doc/images/ckanext datapackager import demo.gif)
1.访问数据集列表页(例如"http://your ckan address.com/dataset")
2。单击"导入数据包"按钮;
3。上传或链接到数据包json或zip文件;
*根据您的ckan配置,您可能还需要在这里定义数据集的组织和可见性。
4。查看创建的数据集。
[将ckan数据集导出为数据包](doc/images/ckanext datapackager export link.png)
1.转到数据集页;
2。单击"下载数据包"按钮。
[ckanext/datapackager/logic/action](ckanext/datapackager/logic/action)。
```
curl-x post\
-h"授权:你的"ckan_-api_-api密钥"\
-d{"url":"https://link.to/datapackage.json"\
http://ckan_-host/api/action/package_-create_from_-datapackage
```
curl-x post\
curl-x-post\
br/>ckanapi action package-create_-creu from_-datapackage-url=url地址地址:你也可以使用[ckanapi][ckanapi][ckanapi]:
br=拥有er_organization_id-r http://ckan_host
要上载数据包,请使用[ckanapi]查看有关上载文件的文档(https://github.com/ckan/ckanapi_file uploads),或使用[requests]检查此示例(http://docs.python requests.org/en/latest/):
``python
导入请求
r=requests.post('http://ckan_host/api/action/package/package从"数据包"中创建数据包,
headers={'authorization':您的"数据包"密钥},
files=[('upload',file('/path/to/datapackage.json/or/file.zip')]]))
`` `
`
/>
/>数据包`WI相关数据集ID:
curl'http://ckan_host/api/action/package_show_as_datapackage?id=940a5fe0-0c72-41c4-8a28-8c794f399036'
{"帮助":"http://ckan\u host/api/3/action/help\u show?name=package_show_as_datapackage",
"success":true,
"result"{
"name":"bond yields-uk-2-7334836228",
"title":"测试数据包",
"resources":[
{"url":"http://some.file",
"format":"csv"}
]
}
}
或者如果使用ckanapi:
ckanapi action package_show_as_datapackage id=packageGE ID-R http://ckan_url
注意,这将返回标准的ckan API输出,其中"result"键下返回"datapackage.json"文件。
如果希望直接获取"datapackage.json"文件,则可以使用此直接端点:
http://ckan_host/dataset/dataset_name_或_id/datapackage.json
例如
curl http://ckan_host/dataset/bond-yiels-uk-10y/datapackage.json
pip install-r dev requirements.txt
运行测试:
注意,ckanext datapackager的"test.ini"文件假定从它到ckan的"test core.ini"文件的相对路径是`../ckan/test core.ini`,即t您已在同一目录中相邻安装了
ckan和ckanext datapackager。如果您已经完成了ckan和ckanext数据打包程序的开发安装,那么通常会出现这种情况。
[开放知识数据打包程序](http://data packager.okfn.org)是为一个旧的ckan版本(2.2)编写的,现在已经被弃用。此扩展实现了其功能的
部分并对其进行了改进,支持当前的ckan
版本(2.4)。
如果仍需要旧数据打包程序,请签出此存储库的commit
[57cff1f](https://github.com/ckan/ckanext-data packager/commit/57cff112504091891195a097433579275F968)。
[ckan]:http://ckan.org
[data packages]:http://dataprotocols.org/data packages/
[ckanapi]:https://github.com/ckan/ckanapi