The agent awareness layer
Project description
agentenna
The agent awareness layer.
The whole API on one page: docs/cheatsheet.md.
Quickstart
pip install agentenna
python examples/passive_quickstart.py
Run A Station
pip install "agentenna[station]"
agentenna serve --db .agentenna/agentenna.db --port 1234 --token dev-token
Passive Awareness
from agentenna import Antenna, State
ant = Antenna.connect("http://localhost:1234", token="dev-token", entity="billing-service")
ch = ant.channel("prod.errors")
# Events are the ticker — what happened.
ch.emit("checkout latency elevated", severity="med", kind="metric", source="checkout_api")
# States are the gauges — what is true right now. `kind` is the cell, `message`
# is the current value; re-emitting overwrites it (latest-per-kind, no history noise).
ch.emit(State(kind="deploy.prod", message="rolled_back"))
# One read verb: listen() gathers the events delta and the latest states into one
# awareness surface, and render() composes the <agentenna-awareness> block.
awareness = ch.listen(window="30m", limit=5)
print(awareness.render())
Producers
Anything can transmit:
import logging
from agentenna import Antenna, AgentennaLogHandler
ant = Antenna.local(".agentenna/agentenna.db", entity="billing-service")
logging.getLogger().addHandler(AgentennaLogHandler(ant.channel("app.logs")))
tail -f app.log | agentenna pipe app.logs # tee stdin onto the surface
agentenna run ci.builds -- pytest -q # emit a command's outcome
# Any webhook → the surface, one URL (no per-source code):
curl -X POST "http://localhost:1234/v1/ingest/ci.builds?message_path=workflow_run.name&token=dev-token" \
-H "Content-Type: application/json" -d '{"workflow_run": {"name": "deploy failed"}}'
Hosts
Per-host guides with each host's delivery tier and guarantee: docs/hosts — raw message lists, Pydantic AI, LangGraph, Cursor, Codex CLI.
Triggers
See examples/trigger_receiver.py for the active
awareness loop: emit an event with a Trigger, then run a receiver that wakes on it
and acks it.
MCP
See examples/mcp_cursor.md for connecting an MCP client
to a running Station.
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 agentenna-0.1.2.tar.gz.
File metadata
- Download URL: agentenna-0.1.2.tar.gz
- Upload date:
- Size: 236.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08df73850a5d0800ea8ed0b72fc459449d48329b0a0ac41730988a45b301d791
|
|
| MD5 |
3e2e93ddf07066e3f330d14a23c996b5
|
|
| BLAKE2b-256 |
a4f429615bb866cdb307f73564a985b2903c976bb33d7b102a41ab97cfddab58
|
Provenance
The following attestation bundles were made for agentenna-0.1.2.tar.gz:
Publisher:
release.yml on agentenna/agentenna
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentenna-0.1.2.tar.gz -
Subject digest:
08df73850a5d0800ea8ed0b72fc459449d48329b0a0ac41730988a45b301d791 - Sigstore transparency entry: 2233036162
- Sigstore integration time:
-
Permalink:
agentenna/agentenna@56f456204468d92a67b54308b32c04f76ac622d9 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/agentenna
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@56f456204468d92a67b54308b32c04f76ac622d9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentenna-0.1.2-py3-none-any.whl.
File metadata
- Download URL: agentenna-0.1.2-py3-none-any.whl
- Upload date:
- Size: 61.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
733f40931ca98f235d6892aa7d3e4e892f5068f4551ebf6891e1c38fe590925d
|
|
| MD5 |
5b9e725076b443a19c30b51e0dc91ccd
|
|
| BLAKE2b-256 |
02f8272a27ead4dc5f9658446c8e4476490682b43b622dd08c7bde00c6cc60fd
|
Provenance
The following attestation bundles were made for agentenna-0.1.2-py3-none-any.whl:
Publisher:
release.yml on agentenna/agentenna
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentenna-0.1.2-py3-none-any.whl -
Subject digest:
733f40931ca98f235d6892aa7d3e4e892f5068f4551ebf6891e1c38fe590925d - Sigstore transparency entry: 2233037182
- Sigstore integration time:
-
Permalink:
agentenna/agentenna@56f456204468d92a67b54308b32c04f76ac622d9 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/agentenna
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@56f456204468d92a67b54308b32c04f76ac622d9 -
Trigger Event:
push
-
Statement type: