Skip to content

cencori/cencori-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cencori Python SDK

Official Python SDK for Cencori - AI Infrastructure for Production.

Installation

pip install cencori

Quick Start

from cencori import Cencori

cencori = Cencori(api_key="your-api-key")

# Chat
response = cencori.ai.chat(
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.content)

# Embeddings
embedding = cencori.ai.embeddings(
    input="Hello world",
    model="text-embedding-3-small"
)
print(len(embedding.embeddings[0]))

Async Support

All methods have async counterparts:

import asyncio
from cencori import Cencori

async def main():
    cencori = Cencori()
    
    # Async chat
    response = await cencori.ai.async_chat(
        messages=[{"role": "user", "content": "Hello!"}]
    )
    print(response.content)

asyncio.run(main())

Streaming

for chunk in cencori.ai.chat_stream(
    messages=[{"role": "user", "content": "Tell me a story"}],
    model="gpt-4o"
):
    print(chunk.delta, end="", flush=True)

Project Management

from cencori.types import CreateProjectParams

# List projects
projects = cencori.projects.list(org_slug="my-org")

# Create project
project = cencori.projects.create(
    org_slug="my-org",
    params=CreateProjectParams(name="New Project")
)

API Key Management

from cencori.types import CreateAPIKeyParams

# Create API key
key = cencori.api_keys.create(
    project_id="proj_123",
    params=CreateAPIKeyParams(name="Dev Key", environment="dev")
)
print(f"Secret Key: {key.key}") # Only shown once!

# Get key stats
stats = cencori.api_keys.get_stats(project_id="proj_123", key_id=key.id)

Metrics & Analytics

# Get usage metrics for last 24 hours
metrics = cencori.metrics.get(period="24h")

print(f"Total Requests: {metrics.requests.total}")
print(f"Total Cost: ${metrics.cost.total_usd}")

Error Handling

from cencori import (
    Cencori,
    AuthenticationError,
    RateLimitError,
    SafetyError
)

try:
    response = cencori.ai.chat(messages=[...])
except AuthenticationError:
    print("Invalid API key")
except RateLimitError:
    print("Too many requests")
except SafetyError as e:
    print(f"Content blocked: {e.reasons}")

Supported Models

Provider Models
OpenAI gpt-4o, gpt-4-turbo, gpt-3.5-turbo
Anthropic claude-3-opus, claude-3-sonnet, claude-3-haiku
Google gemini-2.5-flash, gemini-2.0-flash

License

MIT © FohnAI

About

Official Python SDK for Cencori

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages