Skip to content

Releases: bolu61/python-atif

ATIF v1.7 stable

Choose a tag to compare

@bolu61 bolu61 released this 16 May 05:22
v1.7.0
ae2ebbb

First stable release of atif, a Pydantic-based implementation of the Agent Trajectory Interchange Format (ATIF) v1.7.

Highlights

  • Full ATIF v1.7 schema as Pydantic v2 models: Trajectory, Step, Agent, ToolCall, Observation, ObservationResult, Metrics, FinalMetrics, ContentPart, ImageSource, SubagentTrajectoryRef.
  • Cross-field validators: sequential step_ids, ISO 8601 timestamps, agent-only fields gated on source == "agent", tool-call / observation correlation, embedded-subagent trajectory_id uniqueness, ContentPart text/image XOR, llm_call_count == 0 deterministic-dispatch constraints.
  • Multimodal content (text + image ContentParts) on both Step.message and ObservationResult.content.
  • Embedded subagent trajectories via subagent_trajectories and SubagentTrajectoryRef (with the v1.7 trajectory_id resolution rules).
  • Strict-by-default: unknown fields are rejected (extra = "forbid").
  • PEP 561 py.typed marker so downstream type-checkers pick up the annotations.
  • 100% line and branch coverage.
  • Python 3.11+.

Install

pip install atif
from atif import Trajectory

trajectory = Trajectory.model_validate(payload)

Versioning

atif's MAJOR.MINOR tracks the ATIF RFC version it implements (1.7.x ⇔ ATIF v1.7); PATCH is reserved for library-only fixes. Pin to atif~=1.7.0 to stay on a single ATIF version.

First Release: ATIF v1.7

Pre-release

Choose a tag to compare

@bolu61 bolu61 released this 16 May 05:04
v1.7.0-alpha
d4ed230