Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dev_nectarpy-0.0.36.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dev_nectarpy-0.0.36-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file dev_nectarpy-0.0.36.tar.gz.

File metadata

  • Download URL: dev_nectarpy-0.0.36.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for dev_nectarpy-0.0.36.tar.gz
Algorithm Hash digest
SHA256 33654a9d17927c8ae53a40c9b9b648a5337390425685c2313d38f0df568f4d2e
MD5 f8d4f288ee5194e15e4505b8fa40ed2b
BLAKE2b-256 9006c453a8e33b222b802db2d391f94df2c7e00dc4c77cae56b4750d57f9b3e8

See more details on using hashes here.

File details

Details for the file dev_nectarpy-0.0.36-py3-none-any.whl.

File metadata

  • Download URL: dev_nectarpy-0.0.36-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for dev_nectarpy-0.0.36-py3-none-any.whl
Algorithm Hash digest
SHA256 8879e9d9688d501e5a266bd1db1fc266eeda10c54806af8350fc14f1da4c2b9b
MD5 8457881c69529d84227d4dac49f5f9fc
BLAKE2b-256 5aaed107c89c4c20c8d6f5d07d608dcb7df469bf0e12f7cddacb17788ac90129

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page