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.39.tar.gz (10.0 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.39-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dev_nectarpy-0.0.39.tar.gz
  • Upload date:
  • Size: 10.0 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.39.tar.gz
Algorithm Hash digest
SHA256 bac29144435413b174f79d6b9283dcbecf755aef7346630ed0a0ae46997cf617
MD5 1e9d45cac6b303be0e814253bcc2214a
BLAKE2b-256 754be9a02da57cee0a7a01c253f7a25a53f42b5dc31b13c22fdd4474cc5079a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dev_nectarpy-0.0.39-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.39-py3-none-any.whl
Algorithm Hash digest
SHA256 f912c1d957512a0ae47fac6414d7cc94cff4a18fb49b5b972181d2aefc7390c0
MD5 2946b6145ddd1af44d5fd51d558f8cb8
BLAKE2b-256 926aef6c3db7d839f58a89999ee7d00700a264912c0330dc37586a56623bae49

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