Skip to main content

Git-native behavioral diff and shadow deployment for LLM agents.

Project description

shadow

Catch AI-agent regressions before they hit production.

Shadow is a PR-native diff tool for LLM agents, it records your agent's calls, replays them under a new config, and tells you what changed across nine behavioural dimensions.

Install

pip install shadow

# With Anthropic support:
pip install 'shadow[anthropic]'

# With OpenAI support:
pip install 'shadow[openai]'

# With both + embeddings:
pip install 'shadow[anthropic,openai,embeddings]'

Requires Python 3.11 or newer.

Quickstart

from shadow.sdk import Session

with Session(output_path="trace.agentlog"):
    # Your existing Anthropic / OpenAI code, unchanged.
    client.messages.create(model="claude-sonnet-4-6", messages=[...])

Shadow automatically patches the Anthropic and OpenAI SDKs to capture every request/response. Secrets are redacted by default.

Then in CI:

shadow replay new-config.yaml --baseline trace.agentlog
shadow diff trace.agentlog candidate.agentlog
shadow bisect old-config.yaml new-config.yaml --traces trace.agentlog

Full docs

The canonical README, examples, the .agentlog spec, and the project roadmap live at https://github.com/manav8498/Shadow.

License

Dual-licensed under MIT OR Apache-2.0. See LICENSE-MIT and LICENSE-APACHE in this distribution, or the project repository.

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

shadow_diff-3.0.2.tar.gz (497.8 kB view details)

Uploaded Source

Built Distributions

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

shadow_diff-3.0.2-cp311-abi3-win_amd64.whl (926.4 kB view details)

Uploaded CPython 3.11+Windows x86-64

shadow_diff-3.0.2-cp311-abi3-manylinux_2_34_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.34+ x86-64

shadow_diff-3.0.2-cp311-abi3-macosx_11_0_arm64.whl (988.4 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

Details for the file shadow_diff-3.0.2.tar.gz.

File metadata

  • Download URL: shadow_diff-3.0.2.tar.gz
  • Upload date:
  • Size: 497.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shadow_diff-3.0.2.tar.gz
Algorithm Hash digest
SHA256 9ebaea1e0de8a6eb7349f457a3542d50bb5446ebb590c3b69167af4574354581
MD5 fd752fc37ad58bfe65d9c1a769e86c88
BLAKE2b-256 60bc666e0b8beed42132ca54863ccde57acfb3ee91a43ad3bc35b6b4d927dece

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.2.tar.gz:

Publisher: release.yml on manav8498/Shadow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shadow_diff-3.0.2-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: shadow_diff-3.0.2-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 926.4 kB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shadow_diff-3.0.2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fc379fd8be62e3e915307a9e0e54ffc3e062b03b73d07c616bf411a48d1a7425
MD5 e96fa9883b4b80f7a01b5db5012d50ff
BLAKE2b-256 7c37528a0485cf12dc1e3e9a69f41a2255fff2d3f321d2ed3efbcbc5f887426d

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.2-cp311-abi3-win_amd64.whl:

Publisher: release.yml on manav8498/Shadow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shadow_diff-3.0.2-cp311-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for shadow_diff-3.0.2-cp311-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4728bac11fa3675c93d868fd3c68dadd4a9bf8a82ae7c321d9b0adfc0492e86e
MD5 a26c0eb35aa3d8a5c5d7146fbec6f0a7
BLAKE2b-256 0f152200b129a607a0c7085ec3fd46dbc5cdf041dbb155df71512ffa30338973

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.2-cp311-abi3-manylinux_2_34_x86_64.whl:

Publisher: release.yml on manav8498/Shadow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shadow_diff-3.0.2-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shadow_diff-3.0.2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77914dd0c55c7bbe3e649b2cadff3c9695ac0e60d3a57117f15b49a73db90d71
MD5 6926bdba91eaa87db01fb05f8efdbb07
BLAKE2b-256 cedb2976b62004de49b7d0f2c0add1880a36a689f422c42861e1e136582949da

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.2-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on manav8498/Shadow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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