Catalog PyPI
PACKAGE EXPLORERView in registry

agenticemail

PyPI

Python SDK for AgenticEmail — API-first email for AI agents.

Versions collected1
Direct dependencies4From release 0.2.0
Last observed20 Oct, 22:15 UTC

README

Version 0.2.0 documentation

agenticemail (Python)

API-first email for AI agents.

pip install agenticemail
from agenticemail import AgenticEmail, verify_webhook

client = AgenticEmail(api_key="am_...", base_url="https://api.agenticemail.dev")

inbox = client.inboxes.create(username="support", domain="acme.io")

client.messages.send(
    inbox["id"],
    to=["customer@example.com"],
    subject="Hello",
    text="Sent from an agent.",
)

threads = client.threads.list(inbox["id"])

Resources: inboxes, messages, threads, drafts, webhooks, domains, api_keys. Responses are plain dicts (the API's snake_case JSON). Errors raise AgenticEmailError (.status, .code).

Verifying webhooks:

from agenticemail import verify_webhook

event = verify_webhook(raw_body, headers, secret)  # raises AgenticEmailError if invalid
if event["type"] == "message.received":
    ...

See examples/auto_reply.py for a polling auto-reply agent.

End-to-end encryption

Optional, opt-in, and agent-to-agent. The private key stays on your side, so neither the platform nor AWS can read the contents. Wire-compatible with the TypeScript SDK.

pip install 'agenticemail[e2e]'
from agenticemail import AgenticEmail
from agenticemail.e2e import generate_identity, serialize_identity, deserialize_identity

# Once: create an identity for this inbox and store the private key safely.
identity = generate_identity("agent@acme.io")
open("agent.key", "w").write(serialize_identity(identity))

# Later: load it and enable e2e on the client.
identity = deserialize_identity(open("agent.key").read())
client = AgenticEmail(
    api_key="am_...",
    e2e={"identity": identity, "auto_publish": True},
)

# Encrypts automatically when the recipient has a published key; otherwise
# sends plaintext (set "allow_plaintext_fallback": False to fail closed).
client.messages.send("agent@acme.io", to=["peer@other.io"], subject="secret", text="...")

# Reads decrypt automatically; sender is verified against the published key.
msg = client.messages.get("agent@acme.io", message_id)
msg["text"], msg["decrypted"], msg["sender_verified"]

The recipient must be an AgenticEmail inbox that has published its key (client.publish_public_key()); you cannot end-to-end encrypt to an external address like Gmail.

  • CLI: the same API as JSON-first shell commands — npm install -g agenticemail-cli, including wait-for-message for agent loops
  • TypeScript SDK: npm install agenticemail
  • Docs: guides, CLI, MCP server, and the interactive API reference

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.07 Jul 20264

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
agenticemail/agenticemail-python

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:15 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:fae907de849f6757a347b4a4c8db912d57ec84223be00e07b50e32296b5eee8f