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.0rc1.tar.gz (7.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.0rc1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file agentpress_core-1.0.0rc1.tar.gz.

File metadata

  • Download URL: agentpress_core-1.0.0rc1.tar.gz
  • Upload date:
  • Size: 7.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.0rc1.tar.gz
Algorithm Hash digest
SHA256 56234413fafae8858bb733072a7d0f2ad1329e18cc5d09b08fb667604f0b4cab
MD5 51da9c969ba7bed36fcddc2b8c2c5ab4
BLAKE2b-256 63d15b8e504284d0467709688d27f3ab0280bab9a722df0633ed76189e908990

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agentpress_core-1.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 be1d13535aa39f04ee5daa8381d2675a1e8d587bcb9633e274635000656c3cbc
MD5 81a48871b98e2b87e6aec208dc65044e
BLAKE2b-256 e70fea63fae7f402be0a0507a4e4592fb6f4c6309510b632dfd2cd2099d388f1

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