Skip to main content

A naming convention that lets AI agents understand your data without being told what it means, plus a CLI and library for reading and safely editing structured JSON, TOML, YAML, dotenv, and INI documents.

Project description

Agent-First Data for Python

pip install agent-first-data
from agent_first_data import json_result, render, OutputFormat

value = json_result(
    {
        "api_key_secret": "sk-123",
        "latency_ms": 1280,
        "db_url": "postgres://user:p@ss@db/app?token_secret=abc",
    }
).build()

print(render(value, OutputFormat.JSON))
print(render(value, OutputFormat.PLAIN))

Useful names use Python casing: render (the single value x format x options -> str entry point; takes an OutputFormat and an optional keyword-only options=), redacted_value, redact_url_secrets, redact_argv, normalize_utc_offset, is_valid_rfc3339_date, is_valid_rfc3339_time, is_valid_rfc3339, is_valid_bcp47, cli_parse_output, build_cli_error, build_cli_version, decode_protocol_event.

Behavior Notes

  • Default redaction replaces every _secret or configured secret-name subtree with ***, including objects and arrays.
  • _url fields scrub userinfo passwords and secret-named query parameters; surrounding whitespace is trimmed and internal whitespace redacts the whole field.
  • YAML keeps original keys and values (structure-preserving, like JSON), sorting keys by UTF-16 code unit order and quoting/escaping unsafe keys and string scalars. Plain strips formatting suffixes, formats values, sorts the same way, and renders nested objects/arrays as canonical JSON.
  • Logging records use kind:"log" with a nested log payload and a separate level field, so error-level logs are not terminal protocol errors.
  • build_cli_error(message, hint?) returns a strict-ready CLI error with error.retryable:false and trace:{}.
  • Do not add a raw version/help pre-parser. Until the Python CliSpec compiler lands, applications should keep lifecycle parsing in their own parser rather than claim AFDATA closed-world help compatibility.

Reference

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

agent_first_data-0.27.0.tar.gz (44.4 kB view details)

Uploaded Source

Built Distribution

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

agent_first_data-0.27.0-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file agent_first_data-0.27.0.tar.gz.

File metadata

  • Download URL: agent_first_data-0.27.0.tar.gz
  • Upload date:
  • Size: 44.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for agent_first_data-0.27.0.tar.gz
Algorithm Hash digest
SHA256 da6818254f52ad4a81a02352fe394ae983c5af77dbe687c340aa494177ec828c
MD5 cad8b1563f42b39f1ca5703396e94dff
BLAKE2b-256 c86d0e65c653ba5dae594a8c89e7ad1fed7a7fbad2498f778f19df3a3efaa8b8

See more details on using hashes here.

File details

Details for the file agent_first_data-0.27.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_first_data-0.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71adc12e5b7b985afc1114fe5f8891ac7e6fcead5514d7263091b1f3f653a1db
MD5 0d7e8a0842c6d5cdd47db84615bea5cb
BLAKE2b-256 0dcb875118a16a3afcf6c2b7db44adb70825d660d22ce79e1932aed348817b6f

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