Skip to main content

snowleopard.ai client library

Project description

Snow Leopard SDK for Python

This repo contains the Python client library for Snow Leopard APIs.

See our API documentation for more details.

Installation

pip install snowleopard

Quick Start

from snowleopard import SnowLeopardClient

# Initialize the client (or AsyncSnowLeopardClient)
client = SnowLeopardClient(api_key="your-api-key")

# Query your data in natural language
response = client.retrieve(user_query="How many users signed up last month?", instance_id="your-instance-id")

Getting Started

  1. Try Snow Leopard here https://cloud.snowleopard.ai

  2. Set your API key via environment variable:

    export SNOWLEOPARD_API_KEY="your-api-key"
    

    Or pass it directly to the client:

    SnowLeopardClient(api_key="your-api-key")
    

Usage

Synchronous Client

from snowleopard import SnowLeopardClient

with SnowLeopardClient() as client:
   # Get data directly from a natural language query
   response = client.retrieve(user_query="How many superheroes are there?")
   print(response.data)

   # Stream natural language summary of live data
   for chunk in client.response(user_query="How many superheroes are there?"):
      print(chunk)

   # Give feedback to help Snow Leopard understand your business logic better
   client.feedback(
      feedback_text="The revenue column in the orders table should be labeled "
      "'gross revenue before discounts', not 'net revenue'.",
      instance_id="<instance-id>"
   )

Async Client

from snowleopard import AsyncSnowLeopardClient

async with AsyncSnowLeopardClient() as client:
   # Get complete results
   response = await client.retrieve(user_query="How many superheroes are there?")
   print(response.data)

   # Get streaming results
   async for chunk in client.response(user_query="How many superheroes are there?"):
      print(chunk)

   # Give feedback to help Snow Leopard understand your business logic better
   await client.feedback(
      feedback_text="The revenue column in the orders table should be labeled "
      "'gross revenue before discounts', not 'net revenue'.",
      instance_id="<instance-id>"
   )

CLI

The SDK includes a command-line interface:

pip install snowleopard
snowy retrieve --instance <instance-id> "How many records are there?"
snowy response --instance <instance-id> "Summarize the data"
snowy feedback --instance <instance-id> "The revenue totals looked wrong"

On-Premises Customers

For our customers who have a separate deployment per dataset, you should declare explicitly when creating a client and omit <instance_id> when querying.

Example:

client = SnowLeopardClient(url="https://{your-vm-ip}:{port}", api_key="your-api-key")
response = client.retrieve(user_query="How many users signed up last month?")

Contributing

For SDK developer docs and how to contribute, see CONTRIBUTING.md

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

snowleopard-0.5.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

snowleopard-0.5.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file snowleopard-0.5.1.tar.gz.

File metadata

  • Download URL: snowleopard-0.5.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for snowleopard-0.5.1.tar.gz
Algorithm Hash digest
SHA256 5d263cf2f3a5b044f30c157e2ed811b37c301b24bad8189ce9f48976ffb8708a
MD5 ef7386c82b75a36b743c627c08ba88d3
BLAKE2b-256 26e6e1884e6d08e21f9742abd09b876bc87b9a5a0aba03e3d7eb405fcba0b012

See more details on using hashes here.

File details

Details for the file snowleopard-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: snowleopard-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for snowleopard-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 820c582e6538935e72103baeb094ab70e0fb9bd1e2051de0df524ad1d81c0d29
MD5 18993757a90ec286ff4000403a70cff8
BLAKE2b-256 3c83ad7f75933f7c133d2bcf135c4b21d948c64bbc83d112c79b39206d6ab903

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