Skip to main content

AI-driven reliability SDK for Python applications

Project description

XecureTrace Reliability SDK - Python

AI-driven reliability SDK for Python applications.

The official Python SDK for the XecureTrace Reliability Platform — a human-first failure analysis and recovery recommendation system.


Why This SDK Exists

Modern backend systems fail in unpredictable ways.

This SDK:

  • Captures structured runtime errors
  • Generates deterministic fingerprints
  • Classifies error types (DATABASE, NETWORK, VALIDATION, etc.)
  • Determines severity
  • Sends non-blocking telemetry to your backend
  • Never crashes your application

AI assists. Humans decide. Nothing executes automatically.


Requirements

  • Python 3.8+
  • FastAPI, Flask, or Django (optional)

Installation

pip install xecurecode-python-sdk

Or install with framework support:

pip install xecurecode-python-sdk[fastapi,flask,django]

Quick Start

1️⃣ Initialize the SDK

from reliability import ReliabilityClient, ReliabilityConfig

config = ReliabilityConfig(
    api_key="your-api-key",
    service_id="your-service",
    mode="development"
)
client = ReliabilityClient(config)

Configuration Options:

Parameter Required Description
api_key Yes Your API key
service_id Yes Service identifier
mode Yes development or production
timeout No Request timeout (default: 5000ms)

2️⃣ Automatic Global Error Capture

The SDK automatically handles:

  • Uncaught exceptions
  • Thread exceptions
# This will be automatically captured
raise ValueError("Database timeout")

3️⃣ FastAPI Integration

from fastapi import FastAPI
from reliability import ReliabilityClient, ReliabilityConfig
from reliability.fastapi_integration import FastAPIMiddleware

config = ReliabilityConfig(...)
client = ReliabilityClient(config)

app = FastAPI()
app.add_middleware(FastAPIMiddleware, client=client)

4️⃣ Flask Integration

from flask import Flask
from reliability import ReliabilityClient, ReliabilityConfig
from reliability.flask_integration import init_flask

config = ReliabilityConfig(...)
client = ReliabilityClient(config)

app = Flask(__name__)
init_flask(app, client)

5️⃣ Django Integration

In settings.py:

RELIABILITY_API_KEY = "your-api-key"
RELIABILITY_SERVICE_ID = "your-service"
RELIABILITY_MODE = "development"

In settings.py MIDDLEWARE:

MIDDLEWARE = [
    ...
    'reliability.django_integration.ReliabilityMiddleware',
    ...
]

6️⃣ Manual Capture

try:
    risky_operation()
except Exception as e:
    client.capture(e)

# With request context
client.capture(e, request)

What Gets Sent

Example structured payload:

{
  "message": "Database connection failed",
  "name": "ValueError",
  "fingerprint": "a8c39c21...",
  "timestamp": 1700000000000,
  "service_id": "my-service",
  "environment": "development",
  "severity": "critical",
  "error_type": "DATABASE",
  "service_context": {
    "pid": 12345,
    "python_version": "3.11.0",
    "platform": "Linux-5.10.0",
    "hostname": "server-01"
  },
  "request_context": {
    "method": "GET",
    "url": "/api/users",
    "ip": "10.0.0.5"
  },
  "occurrence_count": 1
}

Error Classification

Type Example
DATABASE Timeout, SQL errors, connection issues
NETWORK HTTP failures, socket errors
VALIDATION Invalid input, type errors
AUTH Permission denied
RUNTIME Standard Python errors

Severity Detection

  • Critical → Database, timeout, connection errors
  • Warning → Validation, recoverable issues

Design Guarantees

  • Non-blocking HTTP calls
  • Timeout protected (5s default)
  • Retry logic (3 attempts)
  • Deduplication (1-minute window)
  • Rate limiting (max 100 concurrent)
  • Never throws inside SDK
  • Never crashes host application
  • Works with FastAPI, Flask, Django

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xecurecode_python_sdk-0.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xecurecode_python_sdk-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file xecurecode_python_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: xecurecode_python_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for xecurecode_python_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 855d0f1be5486dbe16545cbc9619f6db8033caa607f052627b03890f27a5bc8e
MD5 1e18f4aea50d0504eb8013c6b85c1215
BLAKE2b-256 dca63e9c26a69a866fcbd5e5f4eceffdd5c252a97a42d50456a5dbdb42359e61

See more details on using hashes here.

File details

Details for the file xecurecode_python_sdk-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for xecurecode_python_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55e5c03b2203877f68ee49b4bac313dadcb2372d0d42d81e114640c373f2a8fc
MD5 b2609b47113ba2a93bb3c38c6998f428
BLAKE2b-256 89e7283c0c9fb5dcf0f64985ae05a0cddca706c70193c3bd8f31ffcb8b879c89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page