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

First, set your API key as an environment variable:

export LLAMA_SEARCH_API_KEY="your_api_key_here"

Or create a .env file:

LLAMA_SEARCH_API_KEY=your_api_key_here

Async Usage (Recommended)

from llama_search import AsyncLlamaSearch

async def main():
    # API key loaded from LLAMA_SEARCH_API_KEY environment variable
    async with AsyncLlamaSearch() 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]}...")

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

import asyncio
asyncio.run(main())

Sync Usage

from llama_search import LlamaSearch

with LlamaSearch() as client:
    # 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]}...")

    # Check account usage
    stats = client.get_usage_stats()
    print(f"Credits remaining: {stats.credits_remaining}")
    print(f"Total searches: {stats.total_searches}")

API Reference

Core 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

result = await client.web_search("Python asyncio best practices", search_depth="extensive")
print(f"Credits consumed: {result.credits_consumed}")

get_search_types()

Get available search types and their costs.

Returns: SearchTypesResponse containing available search types

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

Account Management

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}")
print(f"Total searches: {stats.total_searches}")

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)")

Requirements

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

Development

Running Tests

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

# Run tests
make test

# Run tests with coverage
pytest --cov=llama_search

Code Quality

# Format code
make format

# Lint code
make lint

# Type checking
make typecheck

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.4.tar.gz (22.0 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.4-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llama_search-0.3.4.tar.gz
  • Upload date:
  • Size: 22.0 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.4.tar.gz
Algorithm Hash digest
SHA256 85967a32d85eaec6bee1207bd063b910ec0ecd1b10a852b788856928cb4e0722
MD5 2e7816f4f4f043a2e674f10674bb19ac
BLAKE2b-256 a93a47c03e002804aa68b310dc11e6f9cd1869911b9f2e524f2cde8ad341b8a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llama_search-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 16.9 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b8bcf85f248110ad0398152366d1452949805057da36e3cf3fac75ed04dffff6
MD5 32c8ad1655070a68c3b1940995e41bfb
BLAKE2b-256 456437b23d258039ccd9354179b388d5ccb2e61ef7e5b1e95b31c6a9fbce852e

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