Skip to main content

Lelu · Python SDK

Python client for Lelu — the confidence-aware authorization engine for autonomous AI agents.

Author: Abenezer Getachew
Maintainer: Abenezer Getachew

Installation

pip install lelu-agent-auth-sdk

Quick start

Run the local engine once — it self-generates its key and policy in ~/.lelu, no account needed:

npx -y lelu-mcp start

Then create one shared instance and import it everywhere. With no arguments, lelu() discovers that engine automatically:

import asyncio
from lelu import lelu

auth = lelu(actor="invoice_bot")   # zero-config: finds the local engine

async def main():
    result = await auth.authorize(tool="invoice:create")
    if result.decision == "allow":
        ...  # proceed
    elif result.decision == "human_review":
        # Queued for a human. Don't just wait for "approved" and then act —
        # an approval is bound to the request it approved, so pass the same
        # request back and let the engine confirm nothing changed.
        outcome = await auth.wait_and_redeem(result, tool="invoice:create")
        if not outcome.allowed:
            raise PermissionError(outcome.reason)
        ...  # proceed
    else:
        raise PermissionError(result.reason)

asyncio.run(main())

The instance exposes the full client as auth.api (tokens, review queue, audit, policies): await auth.api.mint_token(...).

Option 2: Self-hosted or cloud engine

Point the same factory at any engine with explicit config — or set LELU_BASE_URL / LELU_API_KEY and keep calling lelu() with no arguments:

auth = lelu(
    base_url="https://your-engine.example.com",
    api_key=os.environ["LELU_API_KEY"],
    actor="invoice_bot",
)

LeluClient(...) from earlier versions keeps working unchanged — auth.api is that same client.

API

Method Description
agent_authorize(req) Confidence-aware agent authorization
authorize(req) Human RBAC authorization
mint_token(req) Mint a JIT-scoped JWT
revoke_token(token_id) Revoke a token immediately
is_healthy() Health-check the engine

License

MIT

Metadata

Release files for lelu-agent-auth-sdk 0.4.41

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

Source distribution (sdist)

Source distribution for lelu-agent-auth-sdk 0.4.41
File Size Uploaded Provenance
lelu_agent_auth_sdk-0.4.41.tar.gz 65.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for lelu-agent-auth-sdk 0.4.41
File Interpreter ABI Platform
lelu_agent_auth_sdk-0.4.41-py3-none-any.whl Python 3 none any Details

Total release size: 116.6 kB

Release files / lelu_agent_auth_sdk-0.4.41.tar.gz

Download URL lelu_agent_auth_sdk-0.4.41.tar.gz
Size 65.6 kB
Tags Source
SHA-256 checksum
How to use checksums
bfff74a63fd759017fe5530517dce4dbb4d9fc62bd3511bfd7d561ca6cc8d7ad
BLAKE2b-256 checksum
How to use checksums
7089ec5a6b5a512c4fe4fa19037328600e8fa06ee6405d3b1e662e02018d8ad8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / lelu_agent_auth_sdk-0.4.41-py3-none-any.whl

Download URL lelu_agent_auth_sdk-0.4.41-py3-none-any.whl
Size 51.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b80cb103e40daed5315773c5270718d441ba322e7977610ed590789fad267d9c
BLAKE2b-256 checksum
How to use checksums
a39ec62d225699269ff7f8748e44b4b57e2cd62fb30d5146a1f6fe71c9c9ad49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for lelu-agent-auth-sdk 0.4.41

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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