Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentpress_core-1.0.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

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

Hashes for agentpress_core-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7ac74827698ce496ce0632a3dfe0e63212cb7db4de1953e584a0232ba0a0a915
MD5 a52d29d69ad416a39e79836d1b777a99
BLAKE2b-256 6386f62f2d1f7a9bb661bc50da985cfee5a9b476ff54d598b3dea6183ac955ca

See more details on using hashes here.

File details

Details for the file agentpress_core-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentpress_core-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d62602a2f972ed02827a42a5002be3e33552805ffd2ea055f2485b9c6a4aa2c4
MD5 3e64a3dbf578858a2462111bee533c9b
BLAKE2b-256 2f9ad71022ce8af0aa54cf3622518e423dc8c47889c4803c552439d31a4c29b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page