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.46.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.46-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dev_nectarpy-0.0.46.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.46.tar.gz
Algorithm Hash digest
SHA256 d6a40473a143b9787e5cf7f47b0287cb922a5c018356b5a1b857b5517f5077eb
MD5 15665cfcc5c5ef3e6a8a8ecdfdfff7b9
BLAKE2b-256 9d2d179bab7f2149dd1acaef806c566ea5a5357496d2bc718a871f32665db30f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dev_nectarpy-0.0.46-py3-none-any.whl
  • Upload date:
  • Size: 11.7 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.46-py3-none-any.whl
Algorithm Hash digest
SHA256 71cccf420c6d722091a54f1ad08b11235a1d8032004d52b4317f95e3bd7bff99
MD5 e17f9c90d57e5b5cd7f06d6e09843db3
BLAKE2b-256 eecf1e87e6a2eb6db9899b2bf35cf20aa26ae9d915572a5dbf4b86dc45335360

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