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, cli_handle_version_or_continue, 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:{}.
  • Use cli_handle_version_or_continue() before argument parsing so --version always answers with a structured protocol-v1 kind:"result" version event. An explicit --output wins; pass the command's normal output as default_format (JSON when omitted), plus its value-taking global flag names.

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.26.1.tar.gz (36.7 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.26.1-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_first_data-0.26.1.tar.gz
  • Upload date:
  • Size: 36.7 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.26.1.tar.gz
Algorithm Hash digest
SHA256 25778899bdec7595d3e4736673177793c43d4c4a95b63ec0fa2a35c9fda22a72
MD5 106abd9bdeb62a8d0c51c6b17002ac76
BLAKE2b-256 4605dc3b1b760650a7dea9f95ba468760bde92197779af8ecee34202ddd65510

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_first_data-0.26.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b6d3a94405c9a36ef08c17efba54154d944d99eb8871dfa81f5e141ed70b32a3
MD5 1f11e044baf06b15a73e07c6bf0ce5a2
BLAKE2b-256 eb7cb4d1b38b1f389a724f1bb44a06fed74af49296f76bf98392264c3fcd95e2

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