olakai-sdk


Nameolakai-sdk JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryA Python SDK for monitoring function calls and controlling execution with real-time API decisions
upload_time2025-10-24 18:14:06
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords monitoring ai ml api sdk olakai
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Olakai Python SDK

**The simplest way to monitor your AI/ML applications** - Track every prompt, response, and interaction with just one line of code.

[![PyPI version](https://badge.fury.io/py/olakai-sdk.svg)](https://badge.fury.io/py/olakai-sdk)
[![Python](https://img.shields.io/badge/Python-3.7+-blue?style=flat&logo=python&logoColor=white)](https://www.python.org/)
[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)

---

## What This Does

Transform any Python function into a monitored AI interaction with **zero configuration**. Perfect for:

- **AI/LLM Applications** - Monitor OpenAI, Anthropic, or any AI model calls
- **Analytics & Insights** - Track usage patterns, performance, and user behavior
- **Content Safety** - Detect and block inappropriate content automatically
- **User Management** - Track individual users and their AI interactions
- **Business Intelligence** - Understand how your AI features are being used

---

## Quick Start (30 seconds)

```python
from olakaisdk import olakai_config, olakai_monitor

# 1. Initialize (one time setup)
olakai_config("your-api-key", "https://your-domain.ai")

# 2. Wrap any function (that's it!)
@olakai_monitor()
def my_ai_function(prompt: str):
    # Your AI logic here
    return f"AI response to: {prompt}"

# 3. Use normally - monitoring happens automatically
result = my_ai_function("Hello world!")
```

**That's it!** Your function is now being monitored. Check your [Olakai dashboard](https://app.olakai.ai) to see the data.

---

## Installation

```bash
pip install olakaisdk
```

**Requirements:** Python 3.7+ and `requests` library (installed automatically)

---

## Real-World Examples

### OpenAI Integration

```python
from olakaisdk import olakai_config, olakai_monitor
from openai import OpenAI

# Setup
olakai_config("your-olakai-key", "https://your-domain.ai")
client = OpenAI(api_key="your-openai-key")

# Monitor your AI calls
@olakai_monitor(
    userEmail="user@example.com",
    task="Customer Support",
    customDimensions={"dim1": "gpt-4", "dim2": "support"},
    customMetrics={"metric1": 150, "metric2": 2.3}
)
def get_ai_response(user_question: str) -> str:
    response = client.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": user_question}],
        max_tokens=200
    )
    return response.choices[0].message.content

# Use it!
answer = get_ai_response("How do I reset my password?")
```

### E-commerce AI Assistant

```python
@olakai_monitor(
    userEmail=lambda args: get_user_email(args[0]),  # Dynamic user email
    chatId=lambda args: get_session_id(args[0]),  # Dynamic session
    task="Customer Experience",
    subTask="customer service",
    customDimensions={"dim1": "premium", "dim2": "fashion"},
    customMetrics={"metric1": 5, "metric2": 0.23}
)
def recommend_products(user_id: str, preferences: dict) -> list:
    # Your recommendation logic
    return ["Product A", "Product B", "Product C"]
```

### Email AI Writer

```python
@olakai_monitor(
    task="Communication Strategy",
    subTask="communication/persuasion",
    customDimensions={"dim1": "promotional", "dim2": "existing_customers"},
    customMetrics={"metric1": 250, "metric2": 0.8}
)
def generate_email_campaign(topic: str, tone: str) -> str:
    # Your email generation logic
    return f"Subject: {topic}\n\nDear Customer, ..."
```

---

## Advanced Features

### Custom Dimensions & Metrics

Track any data you want alongside your AI interactions:

```python
@olakai_monitor(
    # String dimensions (categorical data)
    customDimensions={"dim1": "gpt-4", "dim2": "production", "dim3": "premium", "dim4": "en"},
    # Numeric metrics (quantitative data)
    customMetrics={"metric1": 150, "metric2": 2.5, "metric3": 0.95, "metric4": 0.02}
)
def advanced_ai_function(prompt: str) -> str:
    return "AI response"
```

### User Tracking

Track individual users and their AI interactions:

```python
@olakai_monitor(
    userEmail="john.doe@company.com",  # User email
    chatId="session-abc123",       # Session/conversation ID
    task="Personal Productivity",
    subTask="email management"
)
def personal_assistant(user_request: str) -> str:
    return "Assistant response"
```

### Direct Reporting

Report events manually without decorators:

```python
from olakaisdk import olakai_report

olakai_report(
    prompt="User asked about pricing",
    response="Here are our pricing plans...",
    options={
        "userEmail": "user@example.com",
        "chatId": "pricing-session-123",
        "task": "Sales Support",
        "customDimensions": {"dim1": "pricing"},
        "customMetrics": {"metric1": 1.2}
    }
)
```

### Low-Level Event Tracking

For maximum control:

```python
from olakaisdk import olakai, OlakaiEventParams

params = OlakaiEventParams(
    prompt="Custom prompt",
    response="Custom response",
    userEmail="user@example.com",
    chatId="custom-session",
    task="Custom Task",
    customDimensions={"dim1": "lowlevel"},
    customMetrics={"metric1": 0.85},
    shouldScore=True,
    tokens=100,
    requestTime=500
)

olakai("ai_activity", "custom_event", params)
```

---

## Configuration Options

### Basic Setup

```python
from olakaisdk import olakai_config

# Simple setup
olakai_config("your-api-key")

# With custom endpoint
olakai_config("your-api-key", "https://your-domain.ai")

# With debug logging
olakai_config("your-api-key", "https://your-domain.ai", debug=True)
```

### Monitor Options

| Option             | Type   | Description             | Example              |
| ------------------ | ------ | ----------------------- | -------------------- |
| `userEmail`        | `str`  | User email for tracking | `"user@example.com"` |
| `chatId`           | `str`  | Session/conversation ID | `"session-123"`      |
| `task`             | `str`  | Task category           | `"Customer Support"` |
| `subTask`          | `str`  | Specific task           | `"password-reset"`   |
| `customDimensions` | `dict` | String metadata         | `{"dim1": "gpt-4"}`  |
| `customMetrics`    | `dict` | Numeric data            | `{"metric1": 150}`   |
| `shouldScore`      | `bool` | Enable content scoring  | `True`               |

---

## Migration from v0.3.x

**This is a breaking change** - the SDK has been completely simplified!

### Old Way (v0.3.x)

```python
from olakaisdk import init_olakai_client, olakai_supervisor

# Complex setup
init_olakai_client("api-key", "domain", debug=True, batchSize=10, enableStorage=True)

# Complex decorator
@olakai_supervisor(
    sanitize=True,
    priority="high",
    send_on_function_error=True
)
def old_function():
    pass
```

### New Way (v0.4.0)

```python
from olakaisdk import olakai_config, olakai_monitor

# Simple setup
olakai_config("api-key", "https://domain.ai", debug=True)

# Simple decorator
@olakai_monitor(
    userEmail="user@example.com",
    customDimensions={"dim1": "production"}
)
def new_function():
    pass
```

### Migration Steps

1. **Replace initialization:**

   - `init_olakai_client()` → `olakai_config()`

2. **Replace decorator:**

   - `@olakai_supervisor()` → `@olakai_monitor()`

3. **Update parameters:**

   - Use `customDimensions={"dim1": "...", "dim2": "..."}` for string data
   - Use `customMetrics={"metric1": 1.0, "metric2": 2.0}` for numeric data
   - Add `userEmail` and `chatId` for user tracking

4. **Remove complex options:**
   - No more `sanitize`, `priority`, `batchSize`, etc.

---

## Troubleshooting

### Common Issues

**"SDK not initialized"**

```python
# Wrong - using functions before setup
from olakaisdk import olakai_monitor
@olakai_monitor()  # This will fail
def my_function():
    pass

# Correct - setup first
from olakaisdk import olakai_config, olakai_monitor
olakai_config("your-api-key")  # Setup first
@olakai_monitor()  # Now this works
def my_function():
    pass
```

**"Import errors"**

```bash
# Make sure you have the right version
pip install --upgrade olakaisdk

# Check Python version (3.7+ required)
python --version
```

**"API calls not working"**

```python
# Enable debug mode to see what's happening
olakai_config("your-api-key", debug=True)

# Check your API key and endpoint
olakai_config("your-api-key", "https://your-domain.ai", debug=True)
```

**"Monitoring seems slow"**

- Monitoring happens asynchronously and won't slow down your app
- API calls are made in the background
- Check your network connection if issues persist

### Debug Mode

Enable debug mode to see what's happening:

```python
olakai_config("your-api-key", debug=True)

# You'll see output like:
# Olakai SDK initialized with endpoint: https://your-domain.ai
# API call to https://your-domain.ai/api/monitoring/prompt: 200
# API call successful
```

---

## Best Practices

### Do This

- **Start simple:** Begin with `@olakai_monitor()` and add options as needed
- **Use descriptive tasks:** `task="Customer Support"` instead of `task="cs"`
- **Track users:** Always include `userEmail` for user-specific analytics
- **Use custom dimensions:** Track model, environment, user type, etc. with `customDimensions={"dim1": "...", "dim2": "..."}`
- **Use custom metrics:** Track tokens, response time, costs, etc. with `customMetrics={"metric1": 1.0, "metric2": 2.0}`
- **Group related calls:** Use consistent `task` and `subTask` names

### Avoid This

- **Don't monitor everything:** Only monitor important AI interactions
- **Don't put sensitive data in task names:** Use `custom_dimensions` instead
- **Don't monitor auth functions:** Avoid monitoring password/API key handling
- **Don't use the old API:** It's deprecated and will be removed

### Security Tips

- **User emails should match Olakai accounts** for proper user tracking
- **Use custom dimensions** to exclude sensitive parameters with `customDimensions={"dim1": "...", "dim2": "..."}`
- **Never log passwords or API keys** in prompts/responses
- **Consider data privacy** when tracking user interactions

---

## Use Cases

### Enterprise Applications

```python
@olakai_monitor(
    userEmail=lambda args: get_user_email(args[0]),
    task="Enterprise AI",
    subTask="document-analysis",
    customDimensions={"dim1": "acme-corp", "dim2": "legal", "dim3": "contract"},
    customMetrics={"metric1": 10, "metric2": 0.92}
)
def analyze_document(user_id: str, document: str) -> dict:
    # Document analysis logic
    return {"summary": "...", "key_points": [...]}
```

### Educational Platforms

```python
@olakai_monitor(
    userEmail="student@university.edu",
    task="Educational AI",
    subTask="homework-help",
    customDimensions={"dim1": "computer-science", "dim2": "intermediate", "dim3": "algorithms"},
    customMetrics={"metric1": 3, "metric2": 15.5}
)
def help_with_homework(question: str, student_level: str) -> str:
    # Educational AI logic
    return "Here's how to solve this problem..."
```

### Healthcare Applications

```python
@olakai_monitor(
    userEmail="doctor@hospital.com",
    task="Medical AI",
    subTask="symptom-analysis",
    customDimensions={"dim1": "cardiology", "dim2": "adult", "dim3": "routine"},
    customMetrics={"metric1": 5, "metric2": 0.88}
)
def analyze_symptoms(symptoms: list, patient_info: dict) -> dict:
    # Medical AI logic (with proper compliance)
    return {"possible_conditions": [...], "recommendations": [...]}
```

---

## Dashboard & Analytics

After setting up monitoring, visit your [Olakai dashboard](https://app.olakai.ai) to see:

- **Usage Analytics** - Track API calls, users, and trends
- **User Insights** - See individual user behavior and patterns
- **Task Performance** - Monitor different tasks and their success rates
- **Custom Metrics** - View your custom dimensions and metrics
- **Content Safety** - Review flagged content and safety scores
- **Cost Tracking** - Monitor AI usage costs and optimization opportunities

---

## Support & Community

- **Documentation:** [Olakai Docs](https://app.olakai.ai/docs)
- **Support:** [support@olakai.ai](mailto:support@olakai.ai)
- **Issues:** [GitHub Issues](https://github.com/olakai/sdk-python/issues)
- **Examples:** [SDK Examples](https://github.com/olakai/sdk-examples-python)

---

## License

MIT © [Olakai](https://olakai.ai)

---

**Ready to get started?**

```python
from olakaisdk import olakai_config, olakai_monitor

olakai_config("your-api-key")
@olakai_monitor()
def my_first_monitored_function():
    return "Hello, monitored world!"
```

**Happy monitoring!**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "olakai-sdk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "monitoring, ai, ml, api, sdk, olakai",
    "author": null,
    "author_email": "Olakai <support@olakai.ai>",
    "download_url": "https://files.pythonhosted.org/packages/2f/31/1ce8519e32de8a7cea5434e03d16ecaad7fe92007cfa0916940371b55ece/olakai_sdk-0.4.0.tar.gz",
    "platform": null,
    "description": "# Olakai Python SDK\n\n**The simplest way to monitor your AI/ML applications** - Track every prompt, response, and interaction with just one line of code.\n\n[![PyPI version](https://badge.fury.io/py/olakai-sdk.svg)](https://badge.fury.io/py/olakai-sdk)\n[![Python](https://img.shields.io/badge/Python-3.7+-blue?style=flat&logo=python&logoColor=white)](https://www.python.org/)\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\n\n---\n\n## What This Does\n\nTransform any Python function into a monitored AI interaction with **zero configuration**. Perfect for:\n\n- **AI/LLM Applications** - Monitor OpenAI, Anthropic, or any AI model calls\n- **Analytics & Insights** - Track usage patterns, performance, and user behavior\n- **Content Safety** - Detect and block inappropriate content automatically\n- **User Management** - Track individual users and their AI interactions\n- **Business Intelligence** - Understand how your AI features are being used\n\n---\n\n## Quick Start (30 seconds)\n\n```python\nfrom olakaisdk import olakai_config, olakai_monitor\n\n# 1. Initialize (one time setup)\nolakai_config(\"your-api-key\", \"https://your-domain.ai\")\n\n# 2. Wrap any function (that's it!)\n@olakai_monitor()\ndef my_ai_function(prompt: str):\n    # Your AI logic here\n    return f\"AI response to: {prompt}\"\n\n# 3. Use normally - monitoring happens automatically\nresult = my_ai_function(\"Hello world!\")\n```\n\n**That's it!** Your function is now being monitored. Check your [Olakai dashboard](https://app.olakai.ai) to see the data.\n\n---\n\n## Installation\n\n```bash\npip install olakaisdk\n```\n\n**Requirements:** Python 3.7+ and `requests` library (installed automatically)\n\n---\n\n## Real-World Examples\n\n### OpenAI Integration\n\n```python\nfrom olakaisdk import olakai_config, olakai_monitor\nfrom openai import OpenAI\n\n# Setup\nolakai_config(\"your-olakai-key\", \"https://your-domain.ai\")\nclient = OpenAI(api_key=\"your-openai-key\")\n\n# Monitor your AI calls\n@olakai_monitor(\n    userEmail=\"user@example.com\",\n    task=\"Customer Support\",\n    customDimensions={\"dim1\": \"gpt-4\", \"dim2\": \"support\"},\n    customMetrics={\"metric1\": 150, \"metric2\": 2.3}\n)\ndef get_ai_response(user_question: str) -> str:\n    response = client.chat.completions.create(\n        model=\"gpt-4\",\n        messages=[{\"role\": \"user\", \"content\": user_question}],\n        max_tokens=200\n    )\n    return response.choices[0].message.content\n\n# Use it!\nanswer = get_ai_response(\"How do I reset my password?\")\n```\n\n### E-commerce AI Assistant\n\n```python\n@olakai_monitor(\n    userEmail=lambda args: get_user_email(args[0]),  # Dynamic user email\n    chatId=lambda args: get_session_id(args[0]),  # Dynamic session\n    task=\"Customer Experience\",\n    subTask=\"customer service\",\n    customDimensions={\"dim1\": \"premium\", \"dim2\": \"fashion\"},\n    customMetrics={\"metric1\": 5, \"metric2\": 0.23}\n)\ndef recommend_products(user_id: str, preferences: dict) -> list:\n    # Your recommendation logic\n    return [\"Product A\", \"Product B\", \"Product C\"]\n```\n\n### Email AI Writer\n\n```python\n@olakai_monitor(\n    task=\"Communication Strategy\",\n    subTask=\"communication/persuasion\",\n    customDimensions={\"dim1\": \"promotional\", \"dim2\": \"existing_customers\"},\n    customMetrics={\"metric1\": 250, \"metric2\": 0.8}\n)\ndef generate_email_campaign(topic: str, tone: str) -> str:\n    # Your email generation logic\n    return f\"Subject: {topic}\\n\\nDear Customer, ...\"\n```\n\n---\n\n## Advanced Features\n\n### Custom Dimensions & Metrics\n\nTrack any data you want alongside your AI interactions:\n\n```python\n@olakai_monitor(\n    # String dimensions (categorical data)\n    customDimensions={\"dim1\": \"gpt-4\", \"dim2\": \"production\", \"dim3\": \"premium\", \"dim4\": \"en\"},\n    # Numeric metrics (quantitative data)\n    customMetrics={\"metric1\": 150, \"metric2\": 2.5, \"metric3\": 0.95, \"metric4\": 0.02}\n)\ndef advanced_ai_function(prompt: str) -> str:\n    return \"AI response\"\n```\n\n### User Tracking\n\nTrack individual users and their AI interactions:\n\n```python\n@olakai_monitor(\n    userEmail=\"john.doe@company.com\",  # User email\n    chatId=\"session-abc123\",       # Session/conversation ID\n    task=\"Personal Productivity\",\n    subTask=\"email management\"\n)\ndef personal_assistant(user_request: str) -> str:\n    return \"Assistant response\"\n```\n\n### Direct Reporting\n\nReport events manually without decorators:\n\n```python\nfrom olakaisdk import olakai_report\n\nolakai_report(\n    prompt=\"User asked about pricing\",\n    response=\"Here are our pricing plans...\",\n    options={\n        \"userEmail\": \"user@example.com\",\n        \"chatId\": \"pricing-session-123\",\n        \"task\": \"Sales Support\",\n        \"customDimensions\": {\"dim1\": \"pricing\"},\n        \"customMetrics\": {\"metric1\": 1.2}\n    }\n)\n```\n\n### Low-Level Event Tracking\n\nFor maximum control:\n\n```python\nfrom olakaisdk import olakai, OlakaiEventParams\n\nparams = OlakaiEventParams(\n    prompt=\"Custom prompt\",\n    response=\"Custom response\",\n    userEmail=\"user@example.com\",\n    chatId=\"custom-session\",\n    task=\"Custom Task\",\n    customDimensions={\"dim1\": \"lowlevel\"},\n    customMetrics={\"metric1\": 0.85},\n    shouldScore=True,\n    tokens=100,\n    requestTime=500\n)\n\nolakai(\"ai_activity\", \"custom_event\", params)\n```\n\n---\n\n## Configuration Options\n\n### Basic Setup\n\n```python\nfrom olakaisdk import olakai_config\n\n# Simple setup\nolakai_config(\"your-api-key\")\n\n# With custom endpoint\nolakai_config(\"your-api-key\", \"https://your-domain.ai\")\n\n# With debug logging\nolakai_config(\"your-api-key\", \"https://your-domain.ai\", debug=True)\n```\n\n### Monitor Options\n\n| Option             | Type   | Description             | Example              |\n| ------------------ | ------ | ----------------------- | -------------------- |\n| `userEmail`        | `str`  | User email for tracking | `\"user@example.com\"` |\n| `chatId`           | `str`  | Session/conversation ID | `\"session-123\"`      |\n| `task`             | `str`  | Task category           | `\"Customer Support\"` |\n| `subTask`          | `str`  | Specific task           | `\"password-reset\"`   |\n| `customDimensions` | `dict` | String metadata         | `{\"dim1\": \"gpt-4\"}`  |\n| `customMetrics`    | `dict` | Numeric data            | `{\"metric1\": 150}`   |\n| `shouldScore`      | `bool` | Enable content scoring  | `True`               |\n\n---\n\n## Migration from v0.3.x\n\n**This is a breaking change** - the SDK has been completely simplified!\n\n### Old Way (v0.3.x)\n\n```python\nfrom olakaisdk import init_olakai_client, olakai_supervisor\n\n# Complex setup\ninit_olakai_client(\"api-key\", \"domain\", debug=True, batchSize=10, enableStorage=True)\n\n# Complex decorator\n@olakai_supervisor(\n    sanitize=True,\n    priority=\"high\",\n    send_on_function_error=True\n)\ndef old_function():\n    pass\n```\n\n### New Way (v0.4.0)\n\n```python\nfrom olakaisdk import olakai_config, olakai_monitor\n\n# Simple setup\nolakai_config(\"api-key\", \"https://domain.ai\", debug=True)\n\n# Simple decorator\n@olakai_monitor(\n    userEmail=\"user@example.com\",\n    customDimensions={\"dim1\": \"production\"}\n)\ndef new_function():\n    pass\n```\n\n### Migration Steps\n\n1. **Replace initialization:**\n\n   - `init_olakai_client()` \u2192 `olakai_config()`\n\n2. **Replace decorator:**\n\n   - `@olakai_supervisor()` \u2192 `@olakai_monitor()`\n\n3. **Update parameters:**\n\n   - Use `customDimensions={\"dim1\": \"...\", \"dim2\": \"...\"}` for string data\n   - Use `customMetrics={\"metric1\": 1.0, \"metric2\": 2.0}` for numeric data\n   - Add `userEmail` and `chatId` for user tracking\n\n4. **Remove complex options:**\n   - No more `sanitize`, `priority`, `batchSize`, etc.\n\n---\n\n## Troubleshooting\n\n### Common Issues\n\n**\"SDK not initialized\"**\n\n```python\n# Wrong - using functions before setup\nfrom olakaisdk import olakai_monitor\n@olakai_monitor()  # This will fail\ndef my_function():\n    pass\n\n# Correct - setup first\nfrom olakaisdk import olakai_config, olakai_monitor\nolakai_config(\"your-api-key\")  # Setup first\n@olakai_monitor()  # Now this works\ndef my_function():\n    pass\n```\n\n**\"Import errors\"**\n\n```bash\n# Make sure you have the right version\npip install --upgrade olakaisdk\n\n# Check Python version (3.7+ required)\npython --version\n```\n\n**\"API calls not working\"**\n\n```python\n# Enable debug mode to see what's happening\nolakai_config(\"your-api-key\", debug=True)\n\n# Check your API key and endpoint\nolakai_config(\"your-api-key\", \"https://your-domain.ai\", debug=True)\n```\n\n**\"Monitoring seems slow\"**\n\n- Monitoring happens asynchronously and won't slow down your app\n- API calls are made in the background\n- Check your network connection if issues persist\n\n### Debug Mode\n\nEnable debug mode to see what's happening:\n\n```python\nolakai_config(\"your-api-key\", debug=True)\n\n# You'll see output like:\n# Olakai SDK initialized with endpoint: https://your-domain.ai\n# API call to https://your-domain.ai/api/monitoring/prompt: 200\n# API call successful\n```\n\n---\n\n## Best Practices\n\n### Do This\n\n- **Start simple:** Begin with `@olakai_monitor()` and add options as needed\n- **Use descriptive tasks:** `task=\"Customer Support\"` instead of `task=\"cs\"`\n- **Track users:** Always include `userEmail` for user-specific analytics\n- **Use custom dimensions:** Track model, environment, user type, etc. with `customDimensions={\"dim1\": \"...\", \"dim2\": \"...\"}`\n- **Use custom metrics:** Track tokens, response time, costs, etc. with `customMetrics={\"metric1\": 1.0, \"metric2\": 2.0}`\n- **Group related calls:** Use consistent `task` and `subTask` names\n\n### Avoid This\n\n- **Don't monitor everything:** Only monitor important AI interactions\n- **Don't put sensitive data in task names:** Use `custom_dimensions` instead\n- **Don't monitor auth functions:** Avoid monitoring password/API key handling\n- **Don't use the old API:** It's deprecated and will be removed\n\n### Security Tips\n\n- **User emails should match Olakai accounts** for proper user tracking\n- **Use custom dimensions** to exclude sensitive parameters with `customDimensions={\"dim1\": \"...\", \"dim2\": \"...\"}`\n- **Never log passwords or API keys** in prompts/responses\n- **Consider data privacy** when tracking user interactions\n\n---\n\n## Use Cases\n\n### Enterprise Applications\n\n```python\n@olakai_monitor(\n    userEmail=lambda args: get_user_email(args[0]),\n    task=\"Enterprise AI\",\n    subTask=\"document-analysis\",\n    customDimensions={\"dim1\": \"acme-corp\", \"dim2\": \"legal\", \"dim3\": \"contract\"},\n    customMetrics={\"metric1\": 10, \"metric2\": 0.92}\n)\ndef analyze_document(user_id: str, document: str) -> dict:\n    # Document analysis logic\n    return {\"summary\": \"...\", \"key_points\": [...]}\n```\n\n### Educational Platforms\n\n```python\n@olakai_monitor(\n    userEmail=\"student@university.edu\",\n    task=\"Educational AI\",\n    subTask=\"homework-help\",\n    customDimensions={\"dim1\": \"computer-science\", \"dim2\": \"intermediate\", \"dim3\": \"algorithms\"},\n    customMetrics={\"metric1\": 3, \"metric2\": 15.5}\n)\ndef help_with_homework(question: str, student_level: str) -> str:\n    # Educational AI logic\n    return \"Here's how to solve this problem...\"\n```\n\n### Healthcare Applications\n\n```python\n@olakai_monitor(\n    userEmail=\"doctor@hospital.com\",\n    task=\"Medical AI\",\n    subTask=\"symptom-analysis\",\n    customDimensions={\"dim1\": \"cardiology\", \"dim2\": \"adult\", \"dim3\": \"routine\"},\n    customMetrics={\"metric1\": 5, \"metric2\": 0.88}\n)\ndef analyze_symptoms(symptoms: list, patient_info: dict) -> dict:\n    # Medical AI logic (with proper compliance)\n    return {\"possible_conditions\": [...], \"recommendations\": [...]}\n```\n\n---\n\n## Dashboard & Analytics\n\nAfter setting up monitoring, visit your [Olakai dashboard](https://app.olakai.ai) to see:\n\n- **Usage Analytics** - Track API calls, users, and trends\n- **User Insights** - See individual user behavior and patterns\n- **Task Performance** - Monitor different tasks and their success rates\n- **Custom Metrics** - View your custom dimensions and metrics\n- **Content Safety** - Review flagged content and safety scores\n- **Cost Tracking** - Monitor AI usage costs and optimization opportunities\n\n---\n\n## Support & Community\n\n- **Documentation:** [Olakai Docs](https://app.olakai.ai/docs)\n- **Support:** [support@olakai.ai](mailto:support@olakai.ai)\n- **Issues:** [GitHub Issues](https://github.com/olakai/sdk-python/issues)\n- **Examples:** [SDK Examples](https://github.com/olakai/sdk-examples-python)\n\n---\n\n## License\n\nMIT \u00a9 [Olakai](https://olakai.ai)\n\n---\n\n**Ready to get started?**\n\n```python\nfrom olakaisdk import olakai_config, olakai_monitor\n\nolakai_config(\"your-api-key\")\n@olakai_monitor()\ndef my_first_monitored_function():\n    return \"Hello, monitored world!\"\n```\n\n**Happy monitoring!**\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python SDK for monitoring function calls and controlling execution with real-time API decisions",
    "version": "0.4.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/ailocalnode/py-sdk/issues",
        "Documentation": "https://app.olakai.ai/docs/getting-started/getting-started",
        "Homepage": "https://olakai.ai",
        "Repository": "https://github.com/ailocalnode/py-sdk"
    },
    "split_keywords": [
        "monitoring",
        " ai",
        " ml",
        " api",
        " sdk",
        " olakai"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e85c32d3acbe6c3273815cf01df13d8fee15ccffa73444fe93177968733cebf9",
                "md5": "594860551c77d1ac1d1d2be6b7e09d9b",
                "sha256": "5061fdbda0342735dc02f1ad4910269d4da8193e51b4674ff2f48332cc3379cb"
            },
            "downloads": -1,
            "filename": "olakai_sdk-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "594860551c77d1ac1d1d2be6b7e09d9b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 15386,
            "upload_time": "2025-10-24T18:14:05",
            "upload_time_iso_8601": "2025-10-24T18:14:05.190148Z",
            "url": "https://files.pythonhosted.org/packages/e8/5c/32d3acbe6c3273815cf01df13d8fee15ccffa73444fe93177968733cebf9/olakai_sdk-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f311ce8519e32de8a7cea5434e03d16ecaad7fe92007cfa0916940371b55ece",
                "md5": "797cce3d476e2de628d771ae4f2b360e",
                "sha256": "b52ad32d875185e6d66428f38b9e41c4a1ba9e47cf8fe1e71281c08084195395"
            },
            "downloads": -1,
            "filename": "olakai_sdk-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "797cce3d476e2de628d771ae4f2b360e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 13399,
            "upload_time": "2025-10-24T18:14:06",
            "upload_time_iso_8601": "2025-10-24T18:14:06.466233Z",
            "url": "https://files.pythonhosted.org/packages/2f/31/1ce8519e32de8a7cea5434e03d16ecaad7fe92007cfa0916940371b55ece/olakai_sdk-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-24 18:14:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ailocalnode",
    "github_project": "py-sdk",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "olakai-sdk"
}
        
Elapsed time: 0.93126s