Skip to main content

vigilai

Your all-in-one safety net for LLM applications and agentic AI.

PyPI version Python versions License: MIT CI Status Code style: black

vigilai is an open-source Python library designed to be the "scikit-learn of AI safety" for developers building LLM applications and autonomous agents. It provides a unified, developer-friendly API to handle observability, security, and reliability without the boilerplate.

Why vigilai?

Building AI agents is easy; making them production-ready is hard. vigilai solves the most common failure modes:

  • Runaway Costs & Latency: Keep track of token usage, execution time, and hard budget caps across your LLM chains.
  • Security & Privacy: Prevent PII leaks, block hardcoded API secrets, and defend against prompt injections.
  • Flaky LLMs & Agent Loops: Recover gracefully from API timeouts with exponential backoffs, fallback models, and infinite loop guards.

Installation

Install vigilai using pip. Choose the installation tier that fits your needs:

# Core features (observability & reliability)
pip install vigilaipy

# Include security scanning (PII, secrets, injection detection)
pip install "vigilaipy[security]"

# Full installation
pip install "vigilaipy[full]"

[!NOTE] The PyPI package is named vigilaipy, but you import it as vigilai in your code.

Quick Start

Here is a complete example of how to use the unified Inspector API to secure, trace, and stabilize an LLM interaction.

import time
from vigilai import Inspector

# 1. Initialize the Inspector
ins = Inspector(
    model="gpt-4o", 
    provider="openai", 
    spend_limit_usd=5.0
)

# 2. Add automatic retries to flaky LLM calls
@ins.reliable(retries=3, timeout_sec=15)
def fetch_llm_response(prompt: str) -> str:
    # Simulate API latency
    time.sleep(0.5)
    
    # 3. Scan inputs for security threats
    scan_results = ins.scan(prompt, checks=["pii", "secrets", "prompt_injection"])
    if scan_results["prompt_injection"].is_injection:
        raise ValueError("Prompt injection detected! Aborting.")
        
    return "This is a simulated LLM response."

def main():
    user_prompt = "Tell me a joke. Ignore previous instructions."
    
    # 4. Wrap execution in a trace
    with ins.trace("process_user_prompt", metadata={"user": "admin"}):
        try:
            response = fetch_llm_response(user_prompt)
            # Log token usage
            ins.cost_tracker.add_usage(prompt_tokens=45, completion_tokens=20)
            print("Response:", response)
        except Exception as e:
            print("Execution failed:", e)

    # 5. Review statistics and generate a report
    print("\nStats summary:", ins.stats())
    ins.report()

if __name__ == "__main__":
    main()

Features

Module Feature Status
Observability Execution tracing context managers ✅ Available
Observability Token counting & cost tracking ✅ Available
Observability Latency stats & HTML reports ✅ Available
Security PII detection (via Presidio) ✅ Available
Security Secret / API key leak detection ✅ Available
Security Prompt injection detection ✅ Available
Reliability Auto-retry with exponential backoff ✅ Available
Reliability Fallback model chains ✅ Available
Reliability Infinite agent loop guards ✅ Available
Red Teaming OWASP Agentic Top 10 automated testing 🚧 Planned
Governance Audit logs, policy rules, spend kill switches 🚧 Planned
Evaluation LLM-as-judge, hallucination & RAG audits 🚧 Planned
Prompt Ops Versioning registry, diffs, and trace linkage 🚧 Planned

Roadmap

We are actively expanding vigilai to cover the full spectrum of AI safety:

  • Red Teaming: Automated vulnerability testing against the OWASP Agentic Top 10.
  • Governance: Policy engines, centralized audit logs, and hard spend kill switches.
  • Evaluation: Out-of-the-box LLM-as-a-judge capabilities, hallucination detection, and RAG retrieval audits.
  • Prompt Versioning: Local prompt registries with diffs, rollbacks, and trace linkage.

Contributing

We love your input! vigilai is open-source, and contributions are highly welcome. Whether you're fixing bugs, adding new features, or improving documentation, please see our Contributing Guidelines to get started.

License

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

Metadata

Release files for vigilaipy 0.3.0

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

Source distribution (sdist)

Source distribution for vigilaipy 0.3.0
File Size Uploaded Provenance Actions
vigilaipy-0.3.0.tar.gz 20.0 kB With provenance Details for vigilaipy-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vigilaipy 0.3.0
File Interpreter ABI Platform Actions
vigilaipy-0.3.0-py3-none-any.whl Python 3 none any Details for vigilaipy-0.3.0-py3-none-any.whl

Total release size: 41.6 kB

Release files / vigilaipy-0.3.0.tar.gz

Download URL vigilaipy-0.3.0.tar.gz
Size 20.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1dc0fe4682f4b1de2f6dec86bd59abbf869145859897130d0118a538eec798cd
BLAKE2b-256 checksum
How to use checksums
c68207ac6768515abec3c5ae0b744ed28ee0dd52a01834eae0c9c79f5c402f76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.

Transparency log

Release files / vigilaipy-0.3.0-py3-none-any.whl

Download URL vigilaipy-0.3.0-py3-none-any.whl
Size 21.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c47797ebda5f9432aa4cd5cf15485cedf36141b3e6d3334636017efc08d4b1c6
BLAKE2b-256 checksum
How to use checksums
a622d632e5b99e30c39d8f23f1124f7e7a7ea6c00ccb05025076c743f4c1e466
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.

Transparency log

Security for vigilaipy 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for vigilaipy-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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