Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
CKAN 3 SDK for CKAN instances with CKAN v3 style cloud storage.
This SDK will communicate with ckanext-authz-service
(using CKAN to provide authorization tokens for other related systems) and Giftless (a highly customizable and extensible Git LFS server implemented in Python) to upload data to blob storage.
Read more about it's design.
Install it from the Python Package Index:
$ pip install ckan-client
ckanclient.Client
Arguments:
Name | Description |
---|---|
api_url | CKAN API key |
api_key | CKAN instance URL |
organization | Organization |
dataset_id | Dataset id |
lfs_url | Git LFS URL |
Example:
from ckanclient import Client
client = Client(
'771a05ad-af90-4a70-beea-cbb050059e14',
'http://localhost:5000',
'datopian',
'dailyprices',
'http://localhost:9419',
)
These settings matches the standard of ckanext-blob-storage
development environment, but you still need to create the user and organization there.
ckanclient.Client.action
Arguments:
Name | Type | Default | Description |
---|---|---|---|
name | str | (required) | The action name, for example, site_read , package_show … |
payload | dict | (required) | The payload being sent to CKAN. If a payload is provided for a GET request, it will be converted to URL parameters and each key will be converted to snake case. |
http_get | bool | False | Optional, if True will make GET request, otherwise POST . |
transform_payload | function | None | Function to mutate the payload before making the request (useful to convert to and from CKAN and Frictionless formats). |
transform_response | function | None | function to mutate the response data before returning it (useful to convert to and from CKAN and Frictionless formats). |
This method is used internally by the following methods.
ckanclient.Client.create
Arguments:
Name | Type | Description |
---|---|---|
dataset_name_or_metadata | str or dict | It is either a string being a valid dataset name or dictionary with meta-data for the dataset in Frictionless format. |
Example:
dataset = client.create('dailyprices')
ckanclient.Client.push
Arguments:
Name | Type | Description |
---|---|---|
dataset_metadata | dict | Dataset meta-data in Frictionless format. |
Example:
dataset_metadata = {
'id': '16d6e8d7-a848-48b1-91d0-fd393c1c6c01',
'name': 'dailyprices',
'owner_org': '57f97769-a982-4ccd-91f0-1d86dee822e3',
'title': 'dailyprices',
'type': 'dataset',
'contributors': [],
# …
}
dataset = client.push(dataset_metadata)
ckanclient.Client.retrieve
Arguments:
Name | Type | Description |
---|---|---|
name_or_id | str | Id or name of the dataset. |
Example:
dataset = client.retrieve('dailyprices')
ckanclient.Client.push_blob
Arguments:
Name | Type | Description |
---|---|---|
resource | dict | A Frictionless resource. |
All you need is Git, and Python 3.6+ with a PEP 527 compliant tool, such as Poetry.
First, clone this repository:
$ git clone https://github.com/datopian/ckan-client-py.git
Then, move to is directory:
$ cd ckan-client-py
And install the package and its dependencies, for example, with Poetry:
$ poetry install
To run tests:
$ poetry run pytest
This project is licensed under the MIT License - see the LICENSE file for details
FAQs
CKAN Python SDK for CKAN3 instances with CKAN3 cloud storage.
We found that ckan-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.