Skip to main content

A naming convention that lets AI agents understand your data without being told what it means.

Project description

Agent-First Data for Python

pip install agent-first-data
from agent_first_data import output_json, output_plain

value = {
    "code": "ok",
    "result": {
        "api_key_secret": "sk-123",
        "latency_ms": 1280,
        "db_url": "postgres://user:p@ss@db/app?token_secret=abc",
    },
}

print(output_json(value))
print(output_plain(value))

Useful names use Python casing: output_json, output_yaml, output_plain, output_json_with_options, redacted_value, redact_secrets_in_place, redact_url_secrets, parse_size, normalize_utc_offset, is_valid_rfc3339_date, is_valid_rfc3339_time, cli_parse_output, cli_output, build_cli_error, build_cli_version, cli_handle_version_or_continue, stream_redirect_config_from_raw_args, and install_stream_redirect_from_raw_args.

Logging is available through init_logging_json, init_logging_plain, init_logging_yaml, span, and get_logger.

from agent_first_data import init_logging_json

init_logging_json("INFO", secret_names=("authorization",))

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/plain quote and escape keys as well as values, sort by UTF-16 code unit order, and render nested objects in arrays as canonical JSON.
  • Logging records use code: "log" plus a separate level field, so error-level logs are not terminal protocol errors.
  • build_cli_error(message, hint?) returns {code:"error", error: message, hint?} only.
  • Use cli_handle_version_or_continue() before argument parsing so bare --version stays conventional and --version --output json|yaml|plain stays structured.
  • Use install_stream_redirect_from_raw_args() before version/help handling if a CLI exposes --stdout-file or --stderr-file; stderr is redirected as native diagnostics, not JSON.

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.15.0.tar.gz (30.1 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.15.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_first_data-0.15.0.tar.gz
  • Upload date:
  • Size: 30.1 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.15.0.tar.gz
Algorithm Hash digest
SHA256 0eda15a7f445e087d0901f68090eff90039a74ec11a6b781a28f2566e41001dc
MD5 de81d82c65897cbd6d8a9e4472805ec6
BLAKE2b-256 0c00d2b1bde0a4e1f2d1de24496a3bfaee7797594baca27c7351c47736f1c37a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_first_data-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 73e99016d1d2b319cb444b6d6a0894c866ee11ba9a4ddf965e3f1287011e4739
MD5 5af288c7309a178fc60423ca069cfc72
BLAKE2b-256 5e14546eec6601ebb68374841b1cdd4330388accaa85ae955e3a3afbee782b86

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