Zero-dependency parser for agents.txt v1.0. The reference Python implementation.
Project description
agentpress-core
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.
Install
pip install agentpress-core
Quick start
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")
API
| 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. |
Why stdlib only
- Auditable in 30 minutes.
- Zero supply-chain risk.
- Pinnable in any Python project from 3.10 onwards.
License
MIT.
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
agentpress_core-1.0.0.tar.gz
(8.2 kB
view details)
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 agentpress_core-1.0.0.tar.gz.
File metadata
- Download URL: agentpress_core-1.0.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ac74827698ce496ce0632a3dfe0e63212cb7db4de1953e584a0232ba0a0a915
|
|
| MD5 |
a52d29d69ad416a39e79836d1b777a99
|
|
| BLAKE2b-256 |
6386f62f2d1f7a9bb661bc50da985cfee5a9b476ff54d598b3dea6183ac955ca
|
File details
Details for the file agentpress_core-1.0.0-py3-none-any.whl.
File metadata
- Download URL: agentpress_core-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d62602a2f972ed02827a42a5002be3e33552805ffd2ea055f2485b9c6a4aa2c4
|
|
| MD5 |
3e64a3dbf578858a2462111bee533c9b
|
|
| BLAKE2b-256 |
2f9ad71022ce8af0aa54cf3622518e423dc8c47889c4803c552439d31a4c29b3
|