Skip to main content

Official Python SDK for Llama Search AI Platform

Project description

Llama Search Python SDK

The official Python SDK for the Llama Search AI Platform. This SDK provides a simple, intuitive interface for integrating AI-powered web search capabilities into your applications.

Installation

pip install llama-search

Quick Start

Async Usage (Recommended)

from llama_search import AsyncLlamaSearch

async def main():
    async with AsyncLlamaSearch(api_key="your_api_key_here") as client:
        # Perform a web search
        result = await client.web_search(
            query="Tesla Model 3 battery specifications",
            search_depth="standard"
        )

        print(f"Found {len(result.sources)} sources")
        for source in result.sources:
            print(f"- {source.url}: {source.content[:100]}...")

        # Get available search types
        search_types = await client.get_search_types()
        for search_type in search_types.search_types:
            print(f"{search_type.name}: {search_type.credits} credits")

        # Check account status
        balance = await client.get_credit_balance()
        stats = await client.get_usage_stats()
        print(f"Credits remaining: {balance.balance}")
        print(f"Total searches: {stats.total_searches}")

        # Purchase more credits if needed
        if balance.balance < 50:  # Low credit threshold
            packages = await client.get_credit_packages()
            print("Available credit packages:")
            for package in packages.packages:
                print(f"- {package.name}: {package.credits} credits for {package.price_display}")

        # Get search history
        history = await client.get_search_history(limit=5)
        for search in history.searches:
            print(f"Recent: {search.query} ({search.credits_consumed} credits)")

import asyncio
asyncio.run(main())

Sync Usage

from llama_search import LlamaSearch

with LlamaSearch(api_key="your_api_key_here") as client:
    # Check account status and purchase credits if needed
    balance = client.get_credit_balance()
    stats = client.get_usage_stats()
    print(f"Credits: {balance.balance}, Total searches: {stats.total_searches}")

    # Get available credit packages
    if balance.balance < 20:
        packages = client.get_credit_packages()
        print(f"Low credits! Available packages:")
        for package in packages.packages[:2]:
            print(f"- {package.name}: {package.credits} credits for {package.price_display}")

    # Perform a web search
    result = client.web_search(
        query="Tesla Model 3 battery specifications",
        search_depth="standard"
    )

    print(f"Found {len(result.sources)} sources")
    for source in result.sources:
        print(f"- {source.url}: {source.content[:100]}...")

    # View recent searches and purchases
    history = client.get_search_history(limit=3)
    purchases = client.get_purchase_history(limit=2)
    print(f"Recent searches: {len(history.searches)}")
    print(f"Recent purchases: ${purchases.total_spent_cents / 100:.2f} spent")

API Reference

Search Methods

web_search(query, search_depth="standard", domain="", with_full_content=False)

Perform intelligent web search using AI.

Parameters:

  • query (str): The search query to execute
  • search_depth (str): Search depth level affecting cost and quality
    • "basic": 5 credits, 2 tool calls, low context
    • "standard": 8 credits, 3 tool calls, medium context (default)
    • "extensive": 15 credits, 5 tool calls, high context
  • domain (str): Optional domain filter (e.g., "reddit.com")
  • with_full_content (bool): Whether to fetch full content from URLs

Returns: WebSearchResult containing sources and metadata

get_search_types()

Get available search types and their costs.

Returns: SearchTypesResponse containing available search types

Account Management Methods

get_usage_stats()

Get current usage statistics for your account.

Returns: UsageStats containing search counts, credits used/remaining, monthly usage

stats = await client.get_usage_stats()
print(f"Credits remaining: {stats.credits_remaining}")
print(f"Searches this month: {stats.searches_this_month}")

get_search_history(limit=10)

Get your recent search history.

Parameters:

  • limit (int): Maximum number of searches to return (1-100, default: 10)

Returns: SearchHistory containing list of recent searches

history = await client.get_search_history(limit=20)
for search in history.searches:
    print(f"{search.created_at}: {search.query} ({search.credits_consumed} credits)")

get_credit_balance()

Get current credit balance and purchase history.

Returns: CreditBalance containing balance, total purchased, last update

balance = await client.get_credit_balance()
print(f"Balance: {balance.balance} credits")
print(f"Total purchased: {balance.total_purchased} credits")

Requirements

  • Python 3.10+
  • httpx >= 0.24.0
  • pydantic >= 2.0.0

Development

Running Tests

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=llama_search

Code Quality

# Format code
ruff format .

# Lint code
ruff check .

# Type checking
mypy llama_search

License

MIT License - see LICENSE file for details.

Support

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

llama_search-0.3.1.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

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

llama_search-0.3.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file llama_search-0.3.1.tar.gz.

File metadata

  • Download URL: llama_search-0.3.1.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for llama_search-0.3.1.tar.gz
Algorithm Hash digest
SHA256 775dd9cb88b53ce79a8519f52a838abfc752b6b773794dda67f4d4dde6705a55
MD5 aabbdb57d163125f861fb5d8d7cf3ffb
BLAKE2b-256 0cb3a1bdda5bbffca54c382f2afcae4cf8b885b2ce96f7df076f29c9a7c553f3

See more details on using hashes here.

File details

Details for the file llama_search-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: llama_search-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for llama_search-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1410114e40a0c7ae05a5a5d4d26fd2b76022c25304d7cbed79a27e35556b9acb
MD5 9d8f746a16741c8d938ef62f6bb667cd
BLAKE2b-256 8b74aa7b0717c9311a637645f9f352d76d3ef4ba43d0cca9eecd671b093d71a4

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