Python SDK for Compresr - Intelligent prompt compression service
Project description
Compresr Python SDK
Intelligent context compression service to optimize LLM costs and performance.
Installation
pip install compresr
Quick Start
API Key Setup
Get your API key from compresr.ai and set it up:
import os
os.environ["COMPRESR_API_KEY"] = "cmp_your_api_key_here"
# Or pass directly to client
from compresr import CompressionClient
client = CompressionClient(api_key="cmp_your_api_key_here")
Compression Client
Get compressed context for use with your own LLM:
from compresr import CompressionClient
client = CompressionClient(api_key="cmp_your_api_key")
# Get compressed context
result = client.compress(
context="Your very long context that needs compression...",
compression_model_name="cmprsr_v1"
)
compressed_context = result.data.compressed_context
print(f"Original: {result.data.original_tokens} tokens")
print(f"Compressed: {result.data.compressed_tokens} tokens")
print(f"Compression ratio: {result.data.actual_compression_ratio:.2%}")
print(f"Tokens saved: {result.data.tokens_saved}")
# Use compressed context with your own LLM
# openai.chat.completions.create(messages=[{"role": "user", "content": compressed_context}])
Streaming Support
Compression client supports real-time streaming:
from compresr import CompressionClient
client = CompressionClient(api_key="cmp_your_api_key")
# Compression streaming
for chunk in client.compress_stream(
context="Your long context...",
compression_model_name="cmprsr_v1"
):
print(chunk.content, end="", flush=True)
Async Support
All methods have async variants:
import asyncio
from compresr import CompressionClient
async def main():
client = CompressionClient(api_key="cmp_your_api_key")
result = await client.compress_async(
context="Your context...",
compression_model_name="cmprsr_v1"
)
print(result.data.compressed_context)
await client.close()
asyncio.run(main())
Batch Processing
Process multiple contexts efficiently:
from compresr import CompressionClient
client = CompressionClient(api_key="cmp_your_api_key")
results = client.compress_batch(
contexts=[
"First context to compress...",
"Second context to compress..."
],
compression_model_name="cmprsr_v1"
)
for result in results.data.results:
print(f"Original tokens: {result.original_tokens}")
print(f"Compressed: {result.compressed_context}")
print(f"Tokens saved: {result.tokens_saved}")
Key Features
- 🗜️ Intelligent Compression: Reduce context lengths while preserving meaning
- 💰 Cost Optimization: Save 30-70% on LLM API costs through intelligent compression
- ⚡ Compression Service: Focus on context compression for your own LLM integration
- 🔄 Streaming Support: Real-time response streaming
- 📊 Usage Tracking: Monitor credits, costs, and compression ratios
- 🔗 Async Ready: Full async/await support
- 📦 Batch Processing: Handle multiple requests efficiently
Available Models
Compression Models:
cmprsr_v1- Compresr V1 (default compression model)
Error Handling
from compresr import CompressionClient
from compresr.exceptions import CompresrError, AuthenticationError, RateLimitError
client = CompressionClient(api_key="cmp_your_api_key")
try:
result = client.compress(
context="Your context...",
compression_model_name="cmprsr_v1"
)
except AuthenticationError:
print("Invalid API key")
except RateLimitError:
print("Rate limit exceeded")
except CompresrError as e:
print(f"API error: {e}")
Authentication
The Compresr SDK uses API key authentication. You can get your API key from compresr.ai:
- Create an account at compresr.ai
- Navigate to your API Keys section
- Generate a new API key
- Use it with the SDK
Requirements
- Python 3.9+
httpx >= 0.27.0pydantic >= 2.10.0
License
Proprietary License
Support
- 📖 Documentation: docs.compresr.ai
- 💬 Support: hello@compresr.ai
- 🐛 Issues: GitHub Issues
- 🌐 Website: compresr.ai
Project details
Release history Release notifications | RSS feed
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 compresr-1.0.16.tar.gz.
File metadata
- Download URL: compresr-1.0.16.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
955686115c86db1b0dfc2fef985361d308127f4dc68b0745f9eda59964d423d7
|
|
| MD5 |
46ba729b19ba21641a4344a3e6f24e47
|
|
| BLAKE2b-256 |
690996212e81143a1f5b10cd9cb208d5f6a656a1d555867645b9ccf2e53c085c
|
File details
Details for the file compresr-1.0.16-py3-none-any.whl.
File metadata
- Download URL: compresr-1.0.16-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f70e8d6d668edaf1ede18143472b0d8821f963e76b414934246a59cd13acc177
|
|
| MD5 |
6b888b96bb46369adb9d1a2a2625b3bf
|
|
| BLAKE2b-256 |
350991dc8dc8bc68f58a3e96bdbaaf80b0bbc86f4d98f01fd03d8474a5761ba4
|