Skip to main content

TNSA API Python Client

A powerful, OpenAI-compatible Python SDK for TNSA NGen3 Pro and Lite Models.

Features

  • 🚀 OpenAI-Compatible API - Familiar interface for easy migration
  • ⚡ Async & Sync Support - Both synchronous and asynchronous clients
  • 🌊 Streaming Responses - Real-time token streaming for interactive applications
  • 🔧 Comprehensive Error Handling - Robust error handling with retry logic
  • 📊 Usage Tracking - Built-in token counting and cost estimation
  • 💬 Conversation Management - Automatic chat history and context management
  • 🔒 Secure Authentication - API key management with environment variable support
  • 📝 Type Safety - Full type hints for better IDE support
  • 🎯 Framework Integration - Works seamlessly with FastAPI, Django, and more

Installation

pip install tnsa-api

Quick Start

from tnsa_api_v2 import TNSA

# Initialize the client
client = TNSA(api_key="your-api-key")

# List available models
models = client.models.list()
print("Available models:", [model.id for model in models])

# Create a chat completion
response = client.chat.completions.create(
    model="NGen3.9-Pro",
    messages=[
        {"role": "user", "content": "Hello, how are you?"}
    ]
)

print(response.choices[0].message.content)

Streaming Example

# Streaming responses
stream = client.chat.completions.create(
    model="NGen3.9-Lite",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Async Usage

import asyncio
from tnsa_api_v2 import AsyncTNSA

async def main():
    client = AsyncTNSA(api_key="your-api-key")
    
    response = await client.chat.completions.acreate(
        model="NGen3.9-Pro",
        messages=[{"role": "user", "content": "Hello!"}]
    )
    
    print(response.choices[0].message.content)

asyncio.run(main())

Configuration

The client can be configured using environment variables, configuration files, or direct parameters:

Environment Variables

export TNSA_API_KEY="your-api-key"
export TNSA_BASE_URL="https://api.tnsaai.com"
export TNSA_TIMEOUT=30.0

Configuration File (config.yaml)

api_key: "your-api-key"
base_url: "https://api.tnsaai.com"
timeout: 30.0
max_retries: 3
default_model: "NGen3.9-Pro"

Direct Parameters

client = TNSA(
    api_key="your-api-key",
    base_url="https://api.tnsaai.com",
    timeout=30.0,
    max_retries=3
)

Available Models

  • NGen3.9-Pro - High-performance model for complex tasks
  • NGen3.9-Lite - Fast, efficient model for general use
  • NGen3-7B-0625 - Specialized model variant
  • Farmvaidya-Bot - Agricultural domain-specific model

Error Handling

from tnsa_api_v2 import TNSAError, RateLimitError, AuthenticationError

try:
    response = client.chat.completions.create(
        model="NGen3.9-Pro",
        messages=[{"role": "user", "content": "Hello!"}]
    )
except AuthenticationError:
    print("Invalid API key")
except RateLimitError:
    print("Rate limit exceeded")
except TNSAError as e:
    print(f"API error: {e}")

Documentation

For detailed documentation, examples, and API reference, visit: https://docs.tnsaai.com

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for tnsa-api 2.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tnsa-api 2.1.2
File Size Uploaded
tnsa_api-2.1.2.tar.gz 41.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tnsa-api 2.1.2
File Interpreter ABI Platform
tnsa_api-2.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 92.2 kB

Release files / tnsa_api-2.1.2.tar.gz

Download URL tnsa_api-2.1.2.tar.gz
Size 41.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1e5cc29226a4419cf9436c3cc28d1f7a12a11c582ba1e89bdc4e3d0299306940
BLAKE2b-256 checksum
How to use checksums
765976cafd2e11ad1892a00c484e66b7b97cc6c90a55e2a14b3ff3bc2df500f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / tnsa_api-2.1.2-py3-none-any.whl

Download URL tnsa_api-2.1.2-py3-none-any.whl
Size 50.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1bfa5a5c38df5991da1a63029d5e4a236a6bd0b035c134e14d28061ab7bde3b1
BLAKE2b-256 checksum
How to use checksums
0c7d095be0ac22c6c88ef9a9399ceda5be16e7d5d632bb2b2918827a55ca2ab1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

2.1.2 This release

2 release files

2.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page