# Prism SDK for Python π
[](https://badge.fury.io/py/prism-sdk)
[](https://pypi.org/project/prism-sdk/)
[](https://opensource.org/licenses/MIT)
Official Python SDK for **Prism Labs** - AI-Powered Trust Verification API
## π Features
- **Trust Verification**: Verify claims and statements with AI-powered analysis
- **Source Analysis**: Get detailed source reliability and credibility scores
- **Knowledge Graphs**: Generate and explore knowledge graphs for complex topics
- **Async Support**: Full async/await support for modern Python applications
- **Type Safety**: Complete type hints with Pydantic models
- **Retry Logic**: Built-in retry mechanisms with exponential backoff
- **Error Handling**: Comprehensive error handling with detailed error information
## π¦ Installation
```bash
pip install prism-sdk
```
For development with extra dependencies:
```bash
pip install prism-sdk[dev]
```
## π Getting Started
### 1. Get Your API Key
Sign up at [Prism Labs](https://prismlabs.ai) to get your API key.
### 2. Basic Usage
```python
from prism_sdk import PrismClient
# Initialize the client
client = PrismClient(api_key="your-api-key-here")
# Verify a claim
result = client.query("Is renewable energy more cost-effective than fossil fuels?")
print(f"Summary: {result.summary}")
print(f"Trust Score: {result.trust_score.overall_score}")
print(f"Confidence: {result.trust_score.confidence_level}")
# Get detailed sources
for source in result.sources:
print(f"- {source.title} (Trust: {source.trust_score:.2f})")
```
### 3. Async Usage
```python
import asyncio
from prism_sdk import PrismClient
async def main():
async with PrismClient(api_key="your-api-key") as client:
result = await client.query_async("What is quantum computing?")
print(f"Trust Score: {result.trust_score.overall_score}")
asyncio.run(main())
```
## π API Reference
### Query Verification
```python
# Basic query
result = client.query("Your question here")
# Advanced query with options
result = client.query(
query="Is artificial intelligence safe?",
include_reasoning=True, # Include reasoning steps
include_sources=True, # Include source information
max_sources=15, # Maximum sources to return
trust_threshold=0.7 # Minimum trust threshold
)
```
### Trust Scoring
```python
# Score specific content
score = client.score_content(
content="AI will replace all human jobs by 2030",
context="Discussion about AI impact on employment",
source_url="https://example.com/article"
)
print(f"Overall Score: {score.overall_score}")
print(f"Source Reliability: {score.source_reliability}")
print(f"Content Accuracy: {score.content_accuracy}")
```
### Knowledge Graphs
```python
# Get verification result
result = client.query("Explain climate change")
# Get knowledge graph
if result.knowledge_graph_id:
graph = client.get_knowledge_graph(result.knowledge_graph_id)
print(f"Nodes: {len(graph.nodes)}")
print(f"Edges: {len(graph.edges)}")
print(f"Central Concepts: {graph.central_concepts}")
```
### Usage Monitoring
```python
# Check API usage
usage = client.get_usage()
print(f"Current Usage: {usage.current_usage}/{usage.quota_limit}")
print(f"Remaining: {usage.remaining_requests}")
print(f"Usage: {usage.usage_percentage}%")
```
### Retrieve Past Verifications
```python
# Get specific verification by ID
verification = client.get_verification("ver_abc123")
print(f"Status: {verification.status}")
print(f"Query: {verification.result.query}")
print(f"Summary: {verification.result.summary}")
```
## π§ Configuration
### Environment Variables
You can set your API key as an environment variable:
```bash
export PRISM_API_KEY="your-api-key-here"
```
```python
import os
from prism_sdk import PrismClient
# Will automatically use PRISM_API_KEY environment variable
client = PrismClient(api_key=os.getenv("PRISM_API_KEY"))
```
### Custom Configuration
```python
client = PrismClient(
api_key="your-api-key",
base_url="https://api.prismlabs.ai", # Production URL
timeout=60.0, # Request timeout
max_retries=3, # Max retry attempts
retry_delay=1.0 # Delay between retries
)
```
## π‘οΈ Error Handling
```python
from prism_sdk import PrismClient, PrismError
client = PrismClient(api_key="your-api-key")
try:
result = client.query("Your question")
except PrismError as e:
print(f"API Error: {e.message}")
print(f"Status Code: {e.status_code}")
print(f"Response Data: {e.response_data}")
except Exception as e:
print(f"Unexpected error: {e}")
```
## π Response Models
All API responses are returned as typed Pydantic models:
- `QueryResult` - Complete verification result
- `TrustScore` - Trust score breakdown
- `VerificationResult` - Stored verification
- `KnowledgeGraph` - Knowledge graph structure
- `UsageInfo` - API usage statistics
- `SourceInfo` - Source information
- `ReasoningStep` - Reasoning process step
## π§ͺ Testing
```bash
# Install development dependencies
pip install prism-sdk[dev]
# Run tests
pytest
# Run with coverage
pytest --cov=prism_sdk
# Type checking
mypy prism_sdk/
# Code formatting
black prism_sdk/
isort prism_sdk/
```
## π Examples
Check out our [examples directory](examples/) for more usage examples:
- [Basic Verification](examples/basic_verification.py)
- [Async Batch Processing](examples/async_batch.py)
- [Trust Score Analysis](examples/trust_analysis.py)
- [Knowledge Graph Exploration](examples/knowledge_graphs.py)
## π€ Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π Support
- π [Documentation](https://docs.prismlabs.ai)
- π [Issue Tracker](https://github.com/prismlabs/prism-sdk-python/issues)
- π¬ [Discord Community](https://discord.gg/prismlabs)
- π§ [Email Support](mailto:support@prismlabs.ai)
## πΊοΈ Roadmap
- [ ] Streaming responses for real-time verification
- [ ] Webhook support for async processing
- [ ] Bulk verification APIs
- [ ] Enhanced knowledge graph visualization
- [ ] Custom model fine-tuning support
---
Made with β€οΈ by the Prism Labs team
Raw data
{
"_id": null,
"home_page": "https://github.com/prismlabs/prism-sdk-python",
"name": "prism-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Prism Labs <support@prismlabs.ai>",
"keywords": "prism, trust, verification, fact-checking, ai, api, sdk",
"author": "Prism Labs",
"author_email": "Prism Labs <support@prismlabs.ai>",
"download_url": "https://files.pythonhosted.org/packages/76/3b/9a612accf09facae822629570aad4f9d4b43accdfa59b964c9077548d780/prism_sdk-1.0.0.tar.gz",
"platform": null,
"description": "# Prism SDK for Python \ud83d\udc0d\r\n\r\n[](https://badge.fury.io/py/prism-sdk)\r\n[](https://pypi.org/project/prism-sdk/)\r\n[](https://opensource.org/licenses/MIT)\r\n\r\nOfficial Python SDK for **Prism Labs** - AI-Powered Trust Verification API\r\n\r\n## \ud83d\ude80 Features\r\n\r\n- **Trust Verification**: Verify claims and statements with AI-powered analysis\r\n- **Source Analysis**: Get detailed source reliability and credibility scores \r\n- **Knowledge Graphs**: Generate and explore knowledge graphs for complex topics\r\n- **Async Support**: Full async/await support for modern Python applications\r\n- **Type Safety**: Complete type hints with Pydantic models\r\n- **Retry Logic**: Built-in retry mechanisms with exponential backoff\r\n- **Error Handling**: Comprehensive error handling with detailed error information\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n```bash\r\npip install prism-sdk\r\n```\r\n\r\nFor development with extra dependencies:\r\n```bash\r\npip install prism-sdk[dev]\r\n```\r\n\r\n## \ud83d\udd11 Getting Started\r\n\r\n### 1. Get Your API Key\r\n\r\nSign up at [Prism Labs](https://prismlabs.ai) to get your API key.\r\n\r\n### 2. Basic Usage\r\n\r\n```python\r\nfrom prism_sdk import PrismClient\r\n\r\n# Initialize the client\r\nclient = PrismClient(api_key=\"your-api-key-here\")\r\n\r\n# Verify a claim\r\nresult = client.query(\"Is renewable energy more cost-effective than fossil fuels?\")\r\n\r\nprint(f\"Summary: {result.summary}\")\r\nprint(f\"Trust Score: {result.trust_score.overall_score}\")\r\nprint(f\"Confidence: {result.trust_score.confidence_level}\")\r\n\r\n# Get detailed sources\r\nfor source in result.sources:\r\n print(f\"- {source.title} (Trust: {source.trust_score:.2f})\")\r\n```\r\n\r\n### 3. Async Usage\r\n\r\n```python\r\nimport asyncio\r\nfrom prism_sdk import PrismClient\r\n\r\nasync def main():\r\n async with PrismClient(api_key=\"your-api-key\") as client:\r\n result = await client.query_async(\"What is quantum computing?\")\r\n print(f\"Trust Score: {result.trust_score.overall_score}\")\r\n\r\nasyncio.run(main())\r\n```\r\n\r\n## \ud83d\udcd6 API Reference\r\n\r\n### Query Verification\r\n\r\n```python\r\n# Basic query\r\nresult = client.query(\"Your question here\")\r\n\r\n# Advanced query with options\r\nresult = client.query(\r\n query=\"Is artificial intelligence safe?\",\r\n include_reasoning=True, # Include reasoning steps\r\n include_sources=True, # Include source information\r\n max_sources=15, # Maximum sources to return\r\n trust_threshold=0.7 # Minimum trust threshold\r\n)\r\n```\r\n\r\n### Trust Scoring\r\n\r\n```python\r\n# Score specific content\r\nscore = client.score_content(\r\n content=\"AI will replace all human jobs by 2030\",\r\n context=\"Discussion about AI impact on employment\",\r\n source_url=\"https://example.com/article\"\r\n)\r\n\r\nprint(f\"Overall Score: {score.overall_score}\")\r\nprint(f\"Source Reliability: {score.source_reliability}\")\r\nprint(f\"Content Accuracy: {score.content_accuracy}\")\r\n```\r\n\r\n### Knowledge Graphs\r\n\r\n```python\r\n# Get verification result\r\nresult = client.query(\"Explain climate change\")\r\n\r\n# Get knowledge graph\r\nif result.knowledge_graph_id:\r\n graph = client.get_knowledge_graph(result.knowledge_graph_id)\r\n \r\n print(f\"Nodes: {len(graph.nodes)}\")\r\n print(f\"Edges: {len(graph.edges)}\")\r\n print(f\"Central Concepts: {graph.central_concepts}\")\r\n```\r\n\r\n### Usage Monitoring\r\n\r\n```python\r\n# Check API usage\r\nusage = client.get_usage()\r\n\r\nprint(f\"Current Usage: {usage.current_usage}/{usage.quota_limit}\")\r\nprint(f\"Remaining: {usage.remaining_requests}\")\r\nprint(f\"Usage: {usage.usage_percentage}%\")\r\n```\r\n\r\n### Retrieve Past Verifications\r\n\r\n```python\r\n# Get specific verification by ID\r\nverification = client.get_verification(\"ver_abc123\")\r\n\r\nprint(f\"Status: {verification.status}\")\r\nprint(f\"Query: {verification.result.query}\")\r\nprint(f\"Summary: {verification.result.summary}\")\r\n```\r\n\r\n## \ud83d\udd27 Configuration\r\n\r\n### Environment Variables\r\n\r\nYou can set your API key as an environment variable:\r\n\r\n```bash\r\nexport PRISM_API_KEY=\"your-api-key-here\"\r\n```\r\n\r\n```python\r\nimport os\r\nfrom prism_sdk import PrismClient\r\n\r\n# Will automatically use PRISM_API_KEY environment variable\r\nclient = PrismClient(api_key=os.getenv(\"PRISM_API_KEY\"))\r\n```\r\n\r\n### Custom Configuration\r\n\r\n```python\r\nclient = PrismClient(\r\n api_key=\"your-api-key\",\r\n base_url=\"https://api.prismlabs.ai\", # Production URL\r\n timeout=60.0, # Request timeout\r\n max_retries=3, # Max retry attempts \r\n retry_delay=1.0 # Delay between retries\r\n)\r\n```\r\n\r\n## \ud83d\udee1\ufe0f Error Handling\r\n\r\n```python\r\nfrom prism_sdk import PrismClient, PrismError\r\n\r\nclient = PrismClient(api_key=\"your-api-key\")\r\n\r\ntry:\r\n result = client.query(\"Your question\")\r\nexcept PrismError as e:\r\n print(f\"API Error: {e.message}\")\r\n print(f\"Status Code: {e.status_code}\")\r\n print(f\"Response Data: {e.response_data}\")\r\nexcept Exception as e:\r\n print(f\"Unexpected error: {e}\")\r\n```\r\n\r\n## \ud83d\udcca Response Models\r\n\r\nAll API responses are returned as typed Pydantic models:\r\n\r\n- `QueryResult` - Complete verification result\r\n- `TrustScore` - Trust score breakdown \r\n- `VerificationResult` - Stored verification\r\n- `KnowledgeGraph` - Knowledge graph structure\r\n- `UsageInfo` - API usage statistics\r\n- `SourceInfo` - Source information\r\n- `ReasoningStep` - Reasoning process step\r\n\r\n## \ud83e\uddea Testing\r\n\r\n```bash\r\n# Install development dependencies\r\npip install prism-sdk[dev]\r\n\r\n# Run tests\r\npytest\r\n\r\n# Run with coverage\r\npytest --cov=prism_sdk\r\n\r\n# Type checking\r\nmypy prism_sdk/\r\n\r\n# Code formatting\r\nblack prism_sdk/\r\nisort prism_sdk/\r\n```\r\n\r\n## \ud83d\udcda Examples\r\n\r\nCheck out our [examples directory](examples/) for more usage examples:\r\n\r\n- [Basic Verification](examples/basic_verification.py)\r\n- [Async Batch Processing](examples/async_batch.py) \r\n- [Trust Score Analysis](examples/trust_analysis.py)\r\n- [Knowledge Graph Exploration](examples/knowledge_graphs.py)\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83c\udd98 Support\r\n\r\n- \ud83d\udcd6 [Documentation](https://docs.prismlabs.ai)\r\n- \ud83d\udc1b [Issue Tracker](https://github.com/prismlabs/prism-sdk-python/issues)\r\n- \ud83d\udcac [Discord Community](https://discord.gg/prismlabs)\r\n- \ud83d\udce7 [Email Support](mailto:support@prismlabs.ai)\r\n\r\n## \ud83d\uddfa\ufe0f Roadmap\r\n\r\n- [ ] Streaming responses for real-time verification\r\n- [ ] Webhook support for async processing\r\n- [ ] Bulk verification APIs\r\n- [ ] Enhanced knowledge graph visualization\r\n- [ ] Custom model fine-tuning support\r\n\r\n---\r\n\r\nMade with \u2764\ufe0f by the Prism Labs team\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Official Python SDK for Prism Labs - AI-Powered Trust Verification API",
"version": "1.0.0",
"project_urls": {
"API Reference": "https://api.prismlabs.ai/docs",
"Bug Tracker": "https://github.com/prismlabs/prism-sdk-python/issues",
"Documentation": "https://docs.prismlabs.ai/sdk/python",
"Homepage": "https://github.com/prismlabs/prism-sdk-python",
"Repository": "https://github.com/prismlabs/prism-sdk-python"
},
"split_keywords": [
"prism",
" trust",
" verification",
" fact-checking",
" ai",
" api",
" sdk"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2e2d825daccab3ecc5b23d3c37a106d6ac1d9507438d1c2faf0b206c7ef29c0e",
"md5": "f426ee0a40821306561e421b22b4aa25",
"sha256": "6619d832d095b7b76820791314c8d381bbd3753aa828d44f464f7b36414f13db"
},
"downloads": -1,
"filename": "prism_sdk-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f426ee0a40821306561e421b22b4aa25",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10683,
"upload_time": "2025-10-29T23:34:26",
"upload_time_iso_8601": "2025-10-29T23:34:26.170087Z",
"url": "https://files.pythonhosted.org/packages/2e/2d/825daccab3ecc5b23d3c37a106d6ac1d9507438d1c2faf0b206c7ef29c0e/prism_sdk-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "763b9a612accf09facae822629570aad4f9d4b43accdfa59b964c9077548d780",
"md5": "8a9d08cc66859c65c0facf4c8f03a594",
"sha256": "ba647c7277641e0ec5716bf925263bf9c0443b781667c7184d631102fb8e40cc"
},
"downloads": -1,
"filename": "prism_sdk-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "8a9d08cc66859c65c0facf4c8f03a594",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 17183,
"upload_time": "2025-10-29T23:34:27",
"upload_time_iso_8601": "2025-10-29T23:34:27.471970Z",
"url": "https://files.pythonhosted.org/packages/76/3b/9a612accf09facae822629570aad4f9d4b43accdfa59b964c9077548d780/prism_sdk-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-29 23:34:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "prismlabs",
"github_project": "prism-sdk-python",
"github_not_found": true,
"lcname": "prism-sdk"
}