Current collected state Current
Observed since 20 Oct, 22:59 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Zero-dependency parser for agents.txt v1.0. The reference Python implementation.
Zero-dependency reference parser for
agents.txt v1.0. Python.
Mirror of @agent_press/core (TypeScript). Use this from Python agent runtimes, CI scripts, and analysis tools.
pip install agentpress-core
from pathlib import Path
from agentpress_core import parse, validate, is_action_allowed, check_rate_limit, fetch_and_parse
# Parse a local file
text = Path("agents.txt").read_text(encoding="utf-8")
data = parse(text)
# Validate against the spec
result = validate(data)
if not result.ok:
for issue in result.issues:
print(issue.severity, issue.message)
# Decide what an agent may do
decision = is_action_allowed(data, "merge_to_main")
# "allow" | "deny" | "requires_approval" | "unknown"
# Respect rate limits
if not check_rate_limit(data, "pr", current_daily_pr_count):
raise RuntimeError("agents.txt rate limit reached for this repo")
# Or fetch directly
remote = fetch_and_parse("https://github.com/barneywohl/agentpress/raw/main/agents.txt")
| Function | Description |
|---|---|
parse(text) | Parse a raw agents.txt string into a typed AgentsTxt object. Tolerant — never raises. |
validate(data) | Returns ValidationResult(ok, issues). Errors fail validation; warnings don't. |
is_action_allowed(data, action) | Returns "allow" | "deny" | "requires_approval" | "unknown". |
check_rate_limit(data, kind, count) | kind in {"pr", "issue", "comment", "branch"}. |
fetch_and_parse(url, timeout=10.0) | Fetch + parse. Standard library only (urllib). |
load(url, timeout=10.0) | fetch_and_parse + validate — convenience. |
MIT.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.0.0 | 13 May 2026 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 22:59 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:ed6e11d2b3adc1b9c0f195e656733ae6111b74629be6f56be9ea766e6cd098eb