Name | ckanext-cloudstorage_api JSON |
Version |
0.2.0
JSON |
| download |
home_page | |
Summary | Extension to manage CKAN resources in any S3-like object storage. |
upload_time | 2023-08-28 15:37:10 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | MIT |
keywords |
ckan
cloudstorage
s3
bucket
cloud
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# CKAN Cloudstorage API
<div align="center">
<em>Extension to manage CKAN resources in any S3-like object storage.</em>
</div>
<div align="center">
<a href="https://pypi.org/project/ckanext-cloudstorage_api" target="_blank">
<img src="https://img.shields.io/pypi/v/ckanext-cloudstorage_api?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
<a href="https://pypistats.org/packages/ckanext-cloudstorage_api" target="_blank">
<img src="https://img.shields.io/pypi/dm/ckanext-cloudstorage_api.svg" alt="Downloads">
</a>
<a href="https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api/-/raw/main/LICENSE" target="_blank">
<img src="https://img.shields.io/github/license/EnviDat/ckanext-cloudstorage_api.svg" alt="Licence">
</a>
</div>
---
**Documentation**: <a href="https://envidat.gitlab-pages.wsl.ch/ckanext-cloudstorage_api/" target="_blank">https://envidat.gitlab-pages.wsl.ch/ckanext-cloudstorage_api/</a>
**Source Code**: <a href="https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api" target="_blank">https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api</a>
---
**This plugin is primarily intended for custom frontends built on the CKAN API.**
Supports any S3-like API, e.g. Minio, Ceph Object Gateway.
Full support for all Apache libcloud drivers was dropped, due to primarily relying on S3 multipart and pre-signed URL capabilities.
## Install
```bash
pip install ckanext-cloudstorage-api
```
## Config
Required variables are set in your ckan.ini:
- **ckanext.cloudstorage_api.host**
- Type: str.
- Description: The S3 host URL.
- **ckanext.cloudstorage_api.region**
- Type: str.
- Description: The S3 host region.
- **ckanext.cloudstorage_api.access_key**
- Type: str.
- Description: Access key for S3.
- **ckanext.cloudstorage_api.secret_key**
- Type: str.
- Description: Secret key for S3.
- **ckanext.cloudstorage_api.bucket_name**
- Type: str.
- Description: The name of the S3 bucket to store files.
- **ckanext.cloudstorage_api.bucket_path**
- Type: str.
- Description: (Optional) The path within the S3 to store files.
Default: "/", i.e. bucket root.
- **ckanext.cloudstorage_api.max_multipart_lifetime**
- Type: str.
- Description: (Optional) maximum time a multipart part can exist.
Multiparts will be cleaned if older than this by
calling the cloudstorage_clean_multiparts endpoint.
- **ckanext.cloudstorage_api.leave_files**
- Type: bool.
- Description: (Optional) leave files on S3 after resource deletion.
## Endpoints
**Actions**
`{CKAN_HOST}/api/3/action/{ACTION_NAME}`
- cloudstorage_initiate_multipart
- cloudstorage_get_presigned_url_download
- cloudstorage_get_presigned_url_multipart
- cloudstorage_get_presigned_url_list_multipart
- cloudstorage_multipart_list_parts
- cloudstorage_finish_multipart
- cloudstorage_abort_multipart
- cloudstorage_check_multipart
- cloudstorage_clean_multipart
**Blueprints**
- `/download/<resource_id>`
- Description: redirect to download a resource directly.
Raw data
{
"_id": null,
"home_page": "",
"name": "ckanext-cloudstorage_api",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "CKAN,cloudstorage,s3,bucket,cloud",
"author": "",
"author_email": "Sam Woodcock <sam.woodcock@protonmail.com>",
"download_url": "https://files.pythonhosted.org/packages/71/a6/c1101b25488f41af5e748d4b26fffe90ac6c4b1dc3414db4b9f89ad0dee1/ckanext-cloudstorage-api-0.2.0.tar.gz",
"platform": null,
"description": "# CKAN Cloudstorage API\n\n<div align=\"center\">\n <em>Extension to manage CKAN resources in any S3-like object storage.</em>\n</div>\n<div align=\"center\">\n <a href=\"https://pypi.org/project/ckanext-cloudstorage_api\" target=\"_blank\">\n <img src=\"https://img.shields.io/pypi/v/ckanext-cloudstorage_api?color=%2334D058&label=pypi%20package\" alt=\"Package version\">\n </a>\n <a href=\"https://pypistats.org/packages/ckanext-cloudstorage_api\" target=\"_blank\">\n <img src=\"https://img.shields.io/pypi/dm/ckanext-cloudstorage_api.svg\" alt=\"Downloads\">\n </a>\n <a href=\"https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api/-/raw/main/LICENSE\" target=\"_blank\">\n <img src=\"https://img.shields.io/github/license/EnviDat/ckanext-cloudstorage_api.svg\" alt=\"Licence\">\n </a>\n</div>\n\n---\n\n**Documentation**: <a href=\"https://envidat.gitlab-pages.wsl.ch/ckanext-cloudstorage_api/\" target=\"_blank\">https://envidat.gitlab-pages.wsl.ch/ckanext-cloudstorage_api/</a>\n\n**Source Code**: <a href=\"https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api\" target=\"_blank\">https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api</a>\n\n---\n\n**This plugin is primarily intended for custom frontends built on the CKAN API.**\n\nSupports any S3-like API, e.g. Minio, Ceph Object Gateway.\n\nFull support for all Apache libcloud drivers was dropped, due to primarily relying on S3 multipart and pre-signed URL capabilities.\n\n## Install\n\n```bash\npip install ckanext-cloudstorage-api\n```\n\n## Config\n\nRequired variables are set in your ckan.ini:\n\n- **ckanext.cloudstorage_api.host**\n - Type: str.\n - Description: The S3 host URL.\n- **ckanext.cloudstorage_api.region**\n - Type: str.\n - Description: The S3 host region.\n- **ckanext.cloudstorage_api.access_key**\n - Type: str.\n - Description: Access key for S3.\n- **ckanext.cloudstorage_api.secret_key**\n - Type: str.\n - Description: Secret key for S3.\n- **ckanext.cloudstorage_api.bucket_name**\n - Type: str.\n - Description: The name of the S3 bucket to store files.\n- **ckanext.cloudstorage_api.bucket_path**\n - Type: str.\n - Description: (Optional) The path within the S3 to store files.\n Default: \"/\", i.e. bucket root.\n- **ckanext.cloudstorage_api.max_multipart_lifetime**\n - Type: str.\n - Description: (Optional) maximum time a multipart part can exist.\n Multiparts will be cleaned if older than this by\n calling the cloudstorage_clean_multiparts endpoint.\n- **ckanext.cloudstorage_api.leave_files**\n - Type: bool.\n - Description: (Optional) leave files on S3 after resource deletion.\n\n## Endpoints\n\n**Actions**\n\n`{CKAN_HOST}/api/3/action/{ACTION_NAME}`\n\n- cloudstorage_initiate_multipart\n- cloudstorage_get_presigned_url_download\n- cloudstorage_get_presigned_url_multipart\n- cloudstorage_get_presigned_url_list_multipart\n- cloudstorage_multipart_list_parts\n- cloudstorage_finish_multipart\n- cloudstorage_abort_multipart\n- cloudstorage_check_multipart\n- cloudstorage_clean_multipart\n\n**Blueprints**\n\n- `/download/<resource_id>`\n - Description: redirect to download a resource directly.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Extension to manage CKAN resources in any S3-like object storage.",
"version": "0.2.0",
"project_urls": {
"documentation": "https://envidat.gitlab-pages.wsl.ch/ckanext-cloudstorage_api",
"homepage": "https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api.git",
"repository": "https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api.git"
},
"split_keywords": [
"ckan",
"cloudstorage",
"s3",
"bucket",
"cloud"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "524b3ebe78fccba9aea32503aedf702d7e0b229749b8318c7a30010998de2b05",
"md5": "539544a2adaf39948d440a7132986f24",
"sha256": "f4bc031a7d6df3448e5c31fecc0e817705f711321f3dd3c0fca601380468b3f3"
},
"downloads": -1,
"filename": "ckanext_cloudstorage_api-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "539544a2adaf39948d440a7132986f24",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16325,
"upload_time": "2023-08-28T15:37:08",
"upload_time_iso_8601": "2023-08-28T15:37:08.779716Z",
"url": "https://files.pythonhosted.org/packages/52/4b/3ebe78fccba9aea32503aedf702d7e0b229749b8318c7a30010998de2b05/ckanext_cloudstorage_api-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "71a6c1101b25488f41af5e748d4b26fffe90ac6c4b1dc3414db4b9f89ad0dee1",
"md5": "136372ff85a90a19f0935651f43a6a6b",
"sha256": "7131b332206d9667d95c398b8b5c6598584263a0a1e6fce0055e163df12f786c"
},
"downloads": -1,
"filename": "ckanext-cloudstorage-api-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "136372ff85a90a19f0935651f43a6a6b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14956,
"upload_time": "2023-08-28T15:37:10",
"upload_time_iso_8601": "2023-08-28T15:37:10.449418Z",
"url": "https://files.pythonhosted.org/packages/71/a6/c1101b25488f41af5e748d4b26fffe90ac6c4b1dc3414db4b9f89ad0dee1/ckanext-cloudstorage-api-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-28 15:37:10",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ckanext-cloudstorage_api"
}