Metadata-Version: 2.4
Name: safeprompt
Version: 1.4.0
Summary: Prompt injection protection for AI applications
Project-URL: Homepage, https://safeprompt.dev
Project-URL: Documentation, https://docs.safeprompt.dev
Project-URL: Repository, https://github.com/ianreboot/safeprompt
Project-URL: Bug Tracker, https://github.com/ianreboot/safeprompt/issues
Author-email: SafePrompt <support@safeprompt.dev>
License: MIT
Keywords: ai,llm,prompt-injection,safeguard,security
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: httpx>=0.24.0
Description-Content-Type: text/markdown

# SafePrompt Python SDK

Protect your AI application from prompt injection attacks with one function call.

[![PyPI version](https://img.shields.io/pypi/v/safeprompt.svg)](https://pypi.org/project/safeprompt/)
[![Python versions](https://img.shields.io/pypi/pyversions/safeprompt.svg)](https://pypi.org/project/safeprompt/)

## Install

```bash
pip install safeprompt
```

## Quick Start

```python
from safeprompt import SafePrompt

sp = SafePrompt(api_key="YOUR_API_KEY")

result = sp.check(user_input, user_ip=request.remote_addr)
if not result["safe"]:
    raise ValueError(f"Blocked: {result['threats'][0]}")
```

## Async Support

```python
from safeprompt import AsyncSafePrompt

async with AsyncSafePrompt(api_key="YOUR_API_KEY") as sp:
    result = await sp.check(user_input)
    if not result["safe"]:
        raise ValueError(f"Blocked: {result['threats'][0]}")
```

## Response Format

```python
{
    "safe": True,
    "threats": [],
    "confidence": 0.99,
    "processingTimeMs": 45,
    "passesUsed": 1
}
```

## Error Handling

```python
from safeprompt import SafePromptError

try:
    result = sp.check(user_input)
except SafePromptError as e:
    print(e.status_code)
    print(str(e))
```

## Links

- [Get API key](https://safeprompt.dev)
- [Documentation](https://docs.safeprompt.dev)
- [npm SDK](https://www.npmjs.com/package/safeprompt)
