Skip to main content

Official Python SDK for KeiroLabs API - Search, Research, and Web Crawling

Project description

KeiroLabs Python SDK

Official Python SDK for KeiroLabs - AI-powered search, research, and web crawling.

PyPI version Python Support License: MIT


Installation

pip install keirolabs

Quick Start

from keirolabs import Keiro
import os

# Initialize with your API key
client = Keiro(api_key=os.getenv("KEIRO_API_KEY"))

# Search
result = client.search("machine learning trends 2024")
print(result['data'])

# Get detailed answers
answer = client.answer("How does neural network training work?")
print(answer['data'])

# Research topics
research = client.research("quantum computing applications")
print(research['data'])

Get your API key: https://www.keirolabs.cloud/


API Methods

search

Perform a neural search query.

Parameters:

  • query (str, required): Search query
  • **kwargs: Additional search parameters

Returns: Dictionary with search results and remaining credits

Example:

result = client.search("Python best practices")
print(f"Found {len(result['data'])} results")
print(f"Credits remaining: {result['creditsRemaining']}")

Credits: 1 per search


search_pro

Advanced search with enhanced capabilities.

Parameters:

  • query (str, required): Search query
  • **kwargs: Additional parameters

Example:

result = client.search_pro("advanced AI architectures")

answer

Generate detailed answers to questions using AI.

Parameters:

  • query (str, required): Your question
  • **kwargs: Additional parameters

Returns: Dictionary with answer and remaining credits

Example:

answer = client.answer("What is reinforcement learning?")
print(answer['data'])

Credits: 5 per answer


research

Conduct comprehensive research on any topic.

Parameters:

  • query (str, required): Research topic
  • **kwargs: Additional parameters

Example:

research = client.research("climate change solutions")
print(research['data'])

research_pro

Advanced research with deeper analysis.

Parameters:

  • query (str, required): Research topic
  • **kwargs: Additional parameters

Example:

research = client.research_pro("blockchain consensus mechanisms")

web_crawler

Extract structured data from any URL.

Parameters:

  • url (str, required): Website URL to crawl
  • **kwargs: Additional parameters

Example:

data = client.web_crawler("https://example.com")
print(data['data'])

search_engine

Access search engine functionality.

Parameters:

  • query (str, required): Search query
  • **kwargs: Additional parameters

Example:

results = client.search_engine("latest AI papers")

health_check

Check API server status.

Example:

health = client.health_check()
print(f"Status: {health['status']}")
print(f"Environment: {health['environment']}")

Error Handling

The SDK provides specific exception types for different error scenarios:

from keirolabs import Keiro
from keirolabs.exceptions import (
    KeiroAuthError,
    KeiroRateLimitError,
    KeiroValidationError,
    KeiroConnectionError
)

client = Keiro(api_key="your-api-key")

try:
    result = client.search("query")
except KeiroAuthError:
    print("Invalid API key")
except KeiroRateLimitError:
    print("Out of credits")
except KeiroValidationError as e:
    print(f"Invalid parameter: {e}")
except KeiroConnectionError as e:
    print(f"Connection error: {e}")

Exception Types

  • KeiroError - Base exception class
  • KeiroAuthError - Authentication failed (invalid API key)
  • KeiroRateLimitError - Out of credits
  • KeiroValidationError - Invalid request parameters
  • KeiroConnectionError - Network connection issues
  • KeiroAPIError - General API errors

Custom Configuration

Timeout

Set custom timeout for requests:

client = Keiro(
    api_key="your-api-key",
    timeout=60  # seconds
)

Local Development

For local development servers only:

client = Keiro(
    api_key="your-api-key",
    base_url="http://localhost:8000/api"
)

Environment Variables

Recommended for production:

from dotenv import load_dotenv
import os
from keirolabs import Keiro

load_dotenv()
client = Keiro(api_key=os.getenv("KEIRO_API_KEY"))

Create .env file:

KEIRO_API_KEY=your-api-key-here

Advanced Examples

Example 1: Batch Search

from keirolabs import Keiro

client = Keiro(api_key="your-api-key")

queries = ["AI trends", "machine learning", "deep learning"]
results = []

for query in queries:
    result = client.search(query)
    results.append(result)
    print(f"Query: {query}")
    print(f"Results: {len(result['data'])}")
    print(f"Credits: {result['creditsRemaining']}")

Example 2: Research with Error Handling

from keirolabs import Keiro
from keirolabs.exceptions import KeiroRateLimitError

client = Keiro(api_key="your-api-key")

try:
    research = client.research("quantum computing")
    answer = client.answer("How does quantum entanglement work?")
    print(research['data'])
    print(answer['data'])
except KeiroRateLimitError:
    print("Please add more credits to continue")

Example 3: Web Scraping Pipeline

from keirolabs import Keiro

client = Keiro(api_key="your-api-key")

urls = [
    "https://example.com/article1",
    "https://example.com/article2"
]

for url in urls:
    data = client.web_crawler(url)
    print(f"Extracted from {url}:")
    print(data['data'])

Context Manager

Automatic session cleanup:

with Keiro(api_key="your-api-key") as client:
    result = client.search("query")
    print(result)
# Session automatically closed

Requirements

  • Python >= 3.7
  • requests >= 2.28.0

Links


License

MIT License - see LICENSE file for details.


Version 0.1.3

Made by KeiroLabs Team

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

keirolabs-0.1.3.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

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

keirolabs-0.1.3-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file keirolabs-0.1.3.tar.gz.

File metadata

  • Download URL: keirolabs-0.1.3.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for keirolabs-0.1.3.tar.gz
Algorithm Hash digest
SHA256 38cc067d5e71a7d09970ca1dbd2b4a13a52b4d161b4634f3eb0ab62ad190b6e6
MD5 5d78f196161972c5a0611f431c42c881
BLAKE2b-256 7d8e2d63b9f53de7ca587a5abe9255369c609124b7a4a7f3c04675279e32fda1

See more details on using hashes here.

File details

Details for the file keirolabs-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: keirolabs-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for keirolabs-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d2e7ce88e93711e0cf5bb2ed9750c6e52c18031b0dcec0be6cafba83b53857ee
MD5 35a4c8ed5675f045f2e405c2696b476f
BLAKE2b-256 e77b3b7d3477b536d9937041f36fc997d01a5dc6a8b47b838a245f496550ba13

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