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.4.tar.gz (498.3 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.4-cp311-abi3-win_amd64.whl (926.7 kB view details)

Uploaded CPython 3.11+Windows x86-64

shadow_diff-3.0.4-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.4-cp311-abi3-macosx_11_0_arm64.whl (988.9 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: shadow_diff-3.0.4.tar.gz
  • Upload date:
  • Size: 498.3 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.4.tar.gz
Algorithm Hash digest
SHA256 1b5ef3d16f6eb8ab5ae3da70cec743edcd5df82191e4118a70c554d75f431e68
MD5 4ca75ec9a06ec3016518711a09cbec7d
BLAKE2b-256 622e3fd87875129e37e775f5fb09df7ea2b4635ec7ae37f7a8db16719ae0d614

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.4.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.4-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: shadow_diff-3.0.4-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 926.7 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.4-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ecf168d507375ba7738fd4a741611912733e8cc13bee97eb20f9a50655e47ca8
MD5 6843e6caa1109d8fce68d56235906d13
BLAKE2b-256 805b671ab3478c5ef06c262d2b526f3d1672ac11b79f0271ce2a28012c68c020

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.4-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.4-cp311-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for shadow_diff-3.0.4-cp311-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7151eb522c1dd238e4c1b6e8a3b71e1cac18774528faa76ebf0151b5326e1b2c
MD5 d9efd8b5c572f82448b887f78c531968
BLAKE2b-256 ff67648c82f868e568a32449829020743f3ec50f4a3b2dc67fb624433dd424e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.4-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.4-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shadow_diff-3.0.4-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6685bf9cbb6914eac704b72d44144e6273f64f8f9b8ee166155ff6ce2baba019
MD5 496237f24b1a9f59cf2aae83a7ce9472
BLAKE2b-256 e0526c2f8187b477f87ffc727a5b7283430e871cbab26904b8691e3bc4031c0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadow_diff-3.0.4-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