ckanext-cloudstorage_api


Nameckanext-cloudstorage_api JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryExtension to manage CKAN resources in any S3-like object storage.
upload_time2023-08-28 15:37:10
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT
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"
}
        
Elapsed time: 0.12038s