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://keiro-production.up.railway.app


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.1

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.2.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.2-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: keirolabs-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7dea5bae3ecce4a369fabfa0dce3dacb8f1a827a3a8cde7df5b9c528e8294967
MD5 09aa49b44dd450803da32c0231729dc0
BLAKE2b-256 52ed6bace8197b535f8648832c3d2b05d00ae67e4d885fbe8095a20f6fe4b8f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: keirolabs-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9b5de0f6270243fc53c579c151f4ca13a53a648421abd522a0cfdd68d988aa1b
MD5 39d162849df508e51de0cb27c25d9759
BLAKE2b-256 3c94199c2a7f8ddef867d1f362888fb841cf8582305e3dc50aa4ba4746e1896b

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