Skip to main content

XecureCode Reliability SDK - Python

AI-driven reliability SDK for Python applications.

The official Python SDK for the XecureCode 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-reliability-sdk

Or install with framework support:

pip install xecurecode-reliability-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": "my-service",
  "environment": "development",
  "severity": "critical",
  "errorType": "DATABASE",
  "serviceContext": {
    "pid": 12345,
    "runtime": "python",
    "runtimeVersion": "3.11.0",
    "pythonVersion": "3.11.0",
    "platform": "Linux-5.10.0",
    "hostname": "server-01"
  },
  "requestContext": {
    "method": "GET",
    "url": "/api/users",
    "ip": "10.0.0.5"
  },
  "occurrenceCount": 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
  • Medium → 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

Download files

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

Source Distribution

xecurecode_reliability_sdk-0.2.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

xecurecode_reliability_sdk-0.2.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file xecurecode_reliability_sdk-0.2.0.tar.gz.

File metadata

File hashes

Hashes for xecurecode_reliability_sdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 54e3526483fd7deaa0e7a78a9c87ed0e093b64e7eb552e318c8ade48e9c494c1
MD5 b3188d0c70210597e87e90029730749e
BLAKE2b-256 36d88d37f54ac52ee034a8611531f8a9769c81b40adc3769da870b0eac71a2ab

See more details on using hashes here.

File details

Details for the file xecurecode_reliability_sdk-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for xecurecode_reliability_sdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d07a8cec96d625619d8161a1d242c80c595a9e56f0c3da1cfcd8268bbaf9495
MD5 94cd857a7554a3d4c069c694d28059fa
BLAKE2b-256 a3bbb95ae564cf60258b06df06bbe7a0d4bcab935d9f0853cc6ffcb0b65a5201

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.1

2 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