prism-sdk


Nameprism-sdk JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/prismlabs/prism-sdk-python
SummaryOfficial Python SDK for Prism Labs - AI-Powered Trust Verification API
upload_time2025-10-29 23:34:27
maintainerNone
docs_urlNone
authorPrism Labs
requires_python>=3.8
licenseMIT
keywords prism trust verification fact-checking ai api sdk
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Prism SDK for Python 🐍

[![PyPI version](https://badge.fury.io/py/prism-sdk.svg)](https://badge.fury.io/py/prism-sdk)
[![Python Support](https://img.shields.io/pypi/pyversions/prism-sdk.svg)](https://pypi.org/project/prism-sdk/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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[![PyPI version](https://badge.fury.io/py/prism-sdk.svg)](https://badge.fury.io/py/prism-sdk)\r\n[![Python Support](https://img.shields.io/pypi/pyversions/prism-sdk.svg)](https://pypi.org/project/prism-sdk/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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"
}
        
Elapsed time: 2.18665s