Skip to main content

Lightweight governance and trace SDK for AI systems

Project description

Monora v1 SDK

Lightweight governance and trace SDK for AI systems

Monora provides minimal viable trust through immutable event logs, policy enforcement, and comprehensive auditability for LLM applications.

Features

  • 🔒 Immutable Event Logs: Cryptographic hash chains for tamper detection
  • 📋 Policy Enforcement: Model allowlists/denylists with data classification controls
  • 🧭 Provider Registry: Explicit model-to-provider mapping with unknown-model alerts
  • 🧾 Versioned Registry: Registry versioning, history, and provider deprecation metadata
  • 🔍 Full Auditability: JSON-lines event logs with CLI reporting tools
  • ⚡ Non-blocking: Background worker with bounded queue for zero user-code latency
  • 🎯 Simple API: Decorator-based interface with sensible defaults
  • 🧩 Auto-Instrumentation: Optional OpenAI/Anthropic patching for drop-in logging
  • ✅ Completeness Checks: Event sequencing and security review reports
  • 🔌 Pluggable Sinks: Stdout, file, and HTTPS endpoints
  • 🚨 Violation Alerts: Callback or webhook notifications for policy violations
  • 🧹 Data Handling: Regex redaction rules tied to data classifications
  • 🛡️ Signed Attestations: Optional GPG-signed security review bundles

Installation

pip install -e .

# With YAML config support
pip install -e ".[yaml]"

# With HTTPS sink support
pip install -e ".[https]"

# Development dependencies
pip install -e ".[dev]"

Quick Start

Minimal Example (Dev Mode)

import monora

# Initialize with defaults (stdout logging, no policies)
monora.init()

@monora.llm_call(purpose="customer_support")
def ask_gpt(prompt: str, model: str = "gpt-4o-mini"):
    # Your LLM call here
    return {"response": "Hello!"}

# Use trace context for grouping events
with monora.trace("ticket_123"):
    response = ask_gpt("How do I reset my password?")

Guided Setup (Wizard)

monora init

This generates a monora.yml you can edit and pass to monora.init(config_path="monora.yml").

Validate & Diagnose

monora validate --config monora.yml
monora doctor --config monora.yml

See README.md for full documentation and examples.

Testing

pytest

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

monora-1.0.1.tar.gz (96.7 kB view details)

Uploaded Source

Built Distribution

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

monora-1.0.1-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

Details for the file monora-1.0.1.tar.gz.

File metadata

  • Download URL: monora-1.0.1.tar.gz
  • Upload date:
  • Size: 96.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for monora-1.0.1.tar.gz
Algorithm Hash digest
SHA256 5e4af8ee5988ee612c59d83c22496d89475796e4fb9aeff84a5654eb27bc7ef5
MD5 f41ed61ed621c94381b539f6cc986f29
BLAKE2b-256 5b55f1296d73d3820ec14e5bc3d4c6cedcbad5002e3ae11c03de8d9da1a80260

See more details on using hashes here.

File details

Details for the file monora-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: monora-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for monora-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb2ed2f05723fdededc47e7f85ed3f21b802163be4732f49760e3238575862cb
MD5 3f4eaabf383f21366f3b64dcd3d46775
BLAKE2b-256 f9522084565c3307cb8f0b243636a29f7f5719fd115d37abbce6899abff647ba

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