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.
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
- Homepage: https://keiro.com
- API Dashboard: https://keiro-production.up.railway.app
- PyPI: https://pypi.org/project/keirolabs
- Support: support@keiro.com
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dea5bae3ecce4a369fabfa0dce3dacb8f1a827a3a8cde7df5b9c528e8294967
|
|
| MD5 |
09aa49b44dd450803da32c0231729dc0
|
|
| BLAKE2b-256 |
52ed6bace8197b535f8648832c3d2b05d00ae67e4d885fbe8095a20f6fe4b8f2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b5de0f6270243fc53c579c151f4ca13a53a648421abd522a0cfdd68d988aa1b
|
|
| MD5 |
39d162849df508e51de0cb27c25d9759
|
|
| BLAKE2b-256 |
3c94199c2a7f8ddef867d1f362888fb841cf8582305e3dc50aa4ba4746e1896b
|