Metadata-Version: 2.4
Name: aegis-smart-accounts
Version: 0.1.0
Summary: Python SDK and resumable onboarding CLI for Aegis Smart Accounts
License: MIT
Requires-Python: >=3.10
Requires-Dist: eth-abi>=5.1
Requires-Dist: eth-account>=0.13
Requires-Dist: requests>=2.31
Requires-Dist: web3>=7.0
Description-Content-Type: text/markdown

# Aegis Python SDK

Install locally with `pip install -e sdk/python`. The SDK never stores a private
key. `aegis init` records only public identifiers and addresses in a mode-0600
state file so an interrupted setup can resume.

```bash
export AEGIS_API_KEY=aegis_...
aegis init --name my-agent --owner 0x... --signer 0x... \
  --chain-id 11155111 --policy-file sdk/python/examples/minimal-sepolia-policy.json
aegis doctor AGENT_UUID --permission-id PERMISSION_UUID
```

Use `permission_calldata(permission_id, calldata)` to create the exact Aegis
permission envelope. Never select a permission by “newest”; pass the permission
UUID or on-chain bytes32 ID explicitly and run doctor immediately before use.

`build_execute` and `build_execute_batch` encode policy-only account calls.
`estimate_userop` preserves the bundler's raw `RpcError.data` for diagnosis;
`sign_userop` uses the EIP-191 encoding expected by the account; and
`submit_userop` sends the fully estimated and signed v0.6 operation.
