A Python API module designed to run queries on Nectar
Project description
PYTHON NECTAR MODULE
This is a Python API module designed to run queries on Nectar, add bucket information, and set policies.
Installation
To install the nectarpy module, use the following command:
pip3 install nectarpy
Getting Started
Importing the Module
To use nectarpy, first import the Nectar class:
from nectarpy import Nectar
Setting Up API Credentials
You must provide your API_SECRET key to authenticate requests:
API_SECRET = "<api-secret>"
Creating an Instance
Initialize the Nectar client using the API secret:
nectar = Nectar(API_SECRET)
Policy Management
Adding Policies
Policies define which columns can be accessed and under what conditions.
Adding a Policy for All Columns
Allows access to all columns with a validity period of 1000 days and a price of 0.0123 USD:
policy_id = nectar.add_policy(
allowed_categories=["*"], # All data categories are allowed
allowed_addresses=["<address-value>"], # Only this wallet address is allowed to query. Example: 0x39Ccc3519e16ec309Fe89Eb782792faFfB1b399d
allowed_columns=["*"], # All columns in the dataset are accessible
valid_days=1000, # Policy is valid for 1000 days
usd_price=0.0123, # Cost per query in USD
)
Adding a Policy for Specific Columns
Restricts access to only the age and height columns:
policy_id = nectar.add_policy(
allowed_categories=["*"], # All data categories are allowed
allowed_addresses=["<address-value>"], # Only this wallet address is allowed to query. Example: 0x39Ccc3519e16ec309Fe89Eb782792faFfB1b399d
allowed_columns=["age", "height"], # Only the age and height column in the dataset are accessible
valid_days=1000, # Policy is valid for 1000 days
usd_price=0.0123, # Cost per query in USD
)
Parameters
| Parameter | Description |
|---|---|
allowed_categories |
List of allowed data categories (e.g., ["ONLY_PHARMA"], ["*"] for all). |
allowed_addresses |
List of wallet addresses allowed to access this policy, this address can be found at https://nectar.tamarin.health. Required |
allowed_columns |
List of accessible data columns (e.g., ["age", "income"], or ["*"]). |
valid_days |
How long (in days) the policy remains active. |
usd_price |
Price per access in USD (floating-point number). |
Bucket Management
Adding a Bucket
The TEE_DATA_URL represents the secure enclave node where the data is stored.
TEE_DATA_URL = "tls://<ip-address>:5229"
bucket_id = nectar.add_bucket(
policy_ids=[policy_id],
data_format="std1",
node_address=TEE_DATA_URL,
)
Executing Queries
You can retrieve results from stored data using defined policies and bucket IDs.
print(bucket_id)
Exception Handling
Case 1: API_SECRET Has No Balance
If your API_SECRET does not have sufficient funds, transactions will fail.
API_SECRET = "<api-secret>"
nectar = Nectar(API_SECRET)
policy_id = nectar.add_policy(
allowed_categories=["*"],
allowed_addresses=[],
allowed_columns=["*"],
valid_days=1000,
usd_price=0.0123,
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dev_nectarpy-0.0.50.tar.gz.
File metadata
- Download URL: dev_nectarpy-0.0.50.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a75f9b051e46dcfd781afb4da9bd91623a1b1dd5d1b61c3c691b48ac4df6fc1d
|
|
| MD5 |
bdedbaf36c63f4ef67df33776d328798
|
|
| BLAKE2b-256 |
103cb7764b2b1d673c7376bd668049bffdaf010a2db52d570a4f91c03ea41a1b
|
File details
Details for the file dev_nectarpy-0.0.50-py3-none-any.whl.
File metadata
- Download URL: dev_nectarpy-0.0.50-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64b4b95613729a0a1dc6f2a288ee09b2548844b702036355cb8cd733c553217b
|
|
| MD5 |
30f8e498024d1cbbe691692fbf361482
|
|
| BLAKE2b-256 |
2a8ed8222a270abf798e6607c1e69eeda4d82a3aa55fa02fdb3001ef489c3c43
|