SDK for Identa - Agent Evaluation
Project description
Identa SDK 🚀
The user-facing toolkit for evaluating and migrating LLM-based agents. Identa provides a zero-friction experience for LangGraph, PydanticAI, and LangChain agents.
Getting Started
1. Installation
pip install identa-sdk
Features
1. Evaluation Engine
The evaluate function executes your agent against test suites and computes metrics across your agent's graph/flow.
import identa
# Define a test suite
suite = [
{"input": {"query": "Fly to Paris"}, "expected": {"destination": "CDG"}}
]
# Run evaluation with node-level resolution
results = identa.evaluate(
agent=my_agent,
suite=suite,
metrics=["accuracy", "latency"],
resolution="node"
)
print(results.report())
2. Tracing Service
Use the context-aware span collector to debug agent execution in real-time.
import identa
# Start a trace session
with identa.trace("flight-booking-flow") as tracer:
# Any agent calls within this block are automatically spanned
response = my_agent.run("Book a flight to Tokyo")
# Retrieve trace data
spans = tracer.get_spans()
3. Migration Engine
Validate and apply model-binding swaps (e.g., swapping gpt-4o for claude-3-5-sonnet) safely.
from identa.core.domain.migration import MigrationEngine, MigrationPlan
# Validate if a model swap is safe based on structural drift
plan = MigrationPlan(id="swap-to-claude", source_structure_hash="...", changes=[])
plan.replace_model(node="llm_1", to="claude-3-5-sonnet")
results = identa.evaluate(agent=my_agent, suite=suite)
report = MigrationEngine.validate(plan, agent=my_agent, current_structure=results.structure)
if report.ok:
print("Migration is safe!")
4. Reproduction Engine
Replay previous experiments and detect structural drift between the original run and the current state.
# Replay a previous run with structural parity checks
results = identa.reproduce(
run_id="run_123",
agent=my_agent,
suite=suite
)
CLI
Identa comes with a CLI to manage your runs and view results.
# List all runs in a workspace
identa runs list --workspace travel_agent
# Show details of a specific run
identa runs show <run_id>
Framework Support
| Feature | LangGraph | PydanticAI | LangChain |
|---|---|---|---|
| Boundary Eval | ✅ | ✅ | ✅ |
| Node Tracing | ✅ | ✅ | ✅ |
| Structural Inspection | ✅ | ✅ | 🚧 |
| Model Migration | ✅ | 🚧 | 🚧 |
Architecture & Contributing Guidelines
To maintain clean architectural boundaries, all contributions must follow these rules:
- The Adapter Rule: If you are integrating a new third-party framework (e.g., LlamaIndex, LangChain), it goes in
identa/sdk/adapters/. If you are adding a new internal domain concept, metric, or tracing algorithm, it goes inidenta-core. - The Import Rule: Application code (end-users) should only import from
identa.sdk. Internal tools (likeidenta-cli) are permitted to instantiateidenta.corecommands directly, provided they use thesdk.api.execute()bus for execution. - Strict Public API: Only functions explicitly listed in
identa/__init__.py's__all__are considered part of the stable public API.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file identa_sdk-0.4.9b14.tar.gz.
File metadata
- Download URL: identa_sdk-0.4.9b14.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06a7943b353e6193edf79113d2e55cf01db5976313b0f4c81cc02b4b884dc073
|
|
| MD5 |
ee00d1e61daf916fd345a1b5cf76b2ec
|
|
| BLAKE2b-256 |
30f032eadad13739d48fa4f92a9f179ea7af0fece6cb38180c356f4e6bfd8249
|
Provenance
The following attestation bundles were made for identa_sdk-0.4.9b14.tar.gz:
Publisher:
beta-release.yml on Identa-agent/Identa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
identa_sdk-0.4.9b14.tar.gz -
Subject digest:
06a7943b353e6193edf79113d2e55cf01db5976313b0f4c81cc02b4b884dc073 - Sigstore transparency entry: 1465975142
- Sigstore integration time:
-
Permalink:
Identa-agent/Identa@e8be5158a1687a8aa392976e53f5cff274ba5d39 -
Branch / Tag:
refs/tags/v0.4.9b14 - Owner: https://github.com/Identa-agent
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
beta-release.yml@e8be5158a1687a8aa392976e53f5cff274ba5d39 -
Trigger Event:
push
-
Statement type:
File details
Details for the file identa_sdk-0.4.9b14-py3-none-any.whl.
File metadata
- Download URL: identa_sdk-0.4.9b14-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2135337457ace5da4cea69cb6d3166f2c385ffaa68c64d84b83f9456aafe2509
|
|
| MD5 |
07bdb64c07e8ca1ca55d021afc43ba3f
|
|
| BLAKE2b-256 |
14e4ba28d371e29c4ad1f97571d6022615645ed757b32ef7db0c4909edeb7c94
|
Provenance
The following attestation bundles were made for identa_sdk-0.4.9b14-py3-none-any.whl:
Publisher:
beta-release.yml on Identa-agent/Identa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
identa_sdk-0.4.9b14-py3-none-any.whl -
Subject digest:
2135337457ace5da4cea69cb6d3166f2c385ffaa68c64d84b83f9456aafe2509 - Sigstore transparency entry: 1465975248
- Sigstore integration time:
-
Permalink:
Identa-agent/Identa@e8be5158a1687a8aa392976e53f5cff274ba5d39 -
Branch / Tag:
refs/tags/v0.4.9b14 - Owner: https://github.com/Identa-agent
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
beta-release.yml@e8be5158a1687a8aa392976e53f5cff274ba5d39 -
Trigger Event:
push
-
Statement type: