Skip to main content

CKAN Cloudstorage API

Extension to manage CKAN resources in any S3-like object storage.

Documentation: https://envidat.gitlab-pages.wsl.ch/ckanext-cloudstorage_api/

Source Code: https://gitlabext.wsl.ch/EnviDat/ckanext-cloudstorage_api


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

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.

Metadata

Release files for ckanext-cloudstorage_api 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ckanext-cloudstorage_api 0.2.0
File Size Uploaded Provenance Actions
ckanext-cloudstorage-api-0.2.0.tar.gz 15.0 kB Without provenance Details for ckanext-cloudstorage-api-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ckanext-cloudstorage_api 0.2.0
File Interpreter ABI Platform Actions
ckanext_cloudstorage_api-0.2.0-py3-none-any.whl Python 3 none any Details for ckanext_cloudstorage_api-0.2.0-py3-none-any.whl

Total release size: 31.3 kB

Release files / ckanext-cloudstorage-api-0.2.0.tar.gz

Download URL ckanext-cloudstorage-api-0.2.0.tar.gz
Size 15.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7131b332206d9667d95c398b8b5c6598584263a0a1e6fce0055e163df12f786c
BLAKE2b-256 checksum
How to use checksums
71a6c1101b25488f41af5e748d4b26fffe90ac6c4b1dc3414db4b9f89ad0dee1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.8.2 CPython/3.9.18

Release files / ckanext_cloudstorage_api-0.2.0-py3-none-any.whl

Download URL ckanext_cloudstorage_api-0.2.0-py3-none-any.whl
Size 16.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f4bc031a7d6df3448e5c31fecc0e817705f711321f3dd3c0fca601380468b3f3
BLAKE2b-256 checksum
How to use checksums
524b3ebe78fccba9aea32503aedf702d7e0b229749b8318c7a30010998de2b05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.8.2 CPython/3.9.18

Security for ckanext-cloudstorage_api 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page