SDK + CLI prototype for disposable identity workflows in AI agent testing
Project description
burnd
burnd is a Python toolkit for creating disposable identities for AI agent workflows.
It provides:
- A typed Python SDK
- A CLI for identity lifecycle operations
- Framework helpers for LangChain, CrewAI, and AutoGen
Installation
From PyPI
pip install burnd
From source
git clone <your-repo-url>
cd Burner
python -m venv venv
# Windows PowerShell
.\venv\Scripts\Activate.ps1
# macOS/Linux
# source venv/bin/activate
pip install -e .
Optional framework extras
pip install "burnd[langchain]"
pip install "burnd[crewai]"
pip install "burnd[autogen]"
pip install "burnd[all-frameworks]"
Distribution name is
burnd; import package path isburner.
SDK Usage
Sync example
from burner.models import IdentityRequest
from burner.sdk import create_identity, poll_inbox, rotate_identity, dispose_identity
bundle = create_identity(
IdentityRequest(
task="signup verification flow",
provider="stub",
include_email=True,
include_browser_profile=True,
),
include_secrets=True,
)
identity_id = str(bundle.public.identity_id)
print(bundle.public.persona.full_name)
print(bundle.public.email.address if bundle.public.email else None)
messages = poll_inbox(identity_id, limit=5)
print([m.subject for m in messages])
rotated = rotate_identity(identity_id, reason="refresh")
dispose_identity(str(rotated.public.identity_id))
Async example
import asyncio
from burner.models import IdentityRequest
from burner.sdk import acreate_identity, apoll_inbox, adispose_identity
async def main() -> None:
bundle = await acreate_identity(
IdentityRequest(task="async smoke", provider="stub"),
include_secrets=True,
)
identity_id = str(bundle.public.identity_id)
_ = await apoll_inbox(identity_id, limit=3)
await adispose_identity(identity_id)
asyncio.run(main())
CLI Usage
Create identity
burnd create --task "signup verification flow" --provider stub -o identity.json
Create identity with secrets output
burnd create --task "email flow" --provider stub -o identity.json --secrets-output secrets.json
Get identity
burnd get <identity-id>
Poll inbox
burnd poll --identity-id <identity-id> --limit 10
or using exported files:
burnd poll --identity-file identity.json --secrets-file secrets.json --limit 10
Rotate and dispose
burnd rotate <identity-id> --reason "refresh identity"
burnd dispose <identity-id>
Show runtime config
burnd status
Framework Examples
LangChain
from burner.adapters.langchain import get_langchain_tools
tools = get_langchain_tools()
CrewAI
from burner.adapters.crewai import get_crewai_tools
tools = get_crewai_tools()
AutoGen
from burner.adapters.autogen import get_autogen_function_map, get_autogen_tool_specs
function_map = get_autogen_function_map()
tool_specs = get_autogen_tool_specs()
Config
Configuration is loaded from BURNER_ environment variables (or .env).
Common settings:
BURNER_DEFAULT_REGIONBURNER_DEFAULT_PROVIDERBURNER_DEFAULT_TTL_SECONDSBURNER_GUARDRAIL_MODEBURNER_ALLOWED_PURPOSESBURNER_ALLOWED_TARGET_DOMAINSBURNER_MAX_IDENTITY_TTL_SECONDSBURNER_MAX_ROTATIONS_PER_HOURBURNER_PROVIDER_FALLBACK_ORDERBURNER_ENCRYPTED_STORAGE_KEYBURNER_ENCRYPTED_STORAGE_PATH
Development
pip install -e .[dev]
python -m pytest
python -m ruff check .
python -m mypy burner
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file burnd-1.0.0.tar.gz.
File metadata
- Download URL: burnd-1.0.0.tar.gz
- Upload date:
- Size: 22.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f15140952abe596ec493a9e34b114231b22ea468e3186b8fa33c3e312f48b7b
|
|
| MD5 |
ec93a14bf6c16fecb0c24fa9465f7a40
|
|
| BLAKE2b-256 |
f5435c3e5637bac9a9d07877e395adecbdfe41ea1309280d2f95619a39602806
|
File details
Details for the file burnd-1.0.0-py3-none-any.whl.
File metadata
- Download URL: burnd-1.0.0-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1861db51fe1169a4054fb186b437130f000c7c37bb148c7efb745962c87833fd
|
|
| MD5 |
0b2a0c3814c8426235059c8dac56ab82
|
|
| BLAKE2b-256 |
7227e89e4dee9ec05918af120dff656ca45e83fa4cf5815ad11e2d6b6f06d71e
|