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-2.4.3.tar.gz (360.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-2.4.3-cp311-abi3-win_amd64.whl (764.4 kB view details)

Uploaded CPython 3.11+Windows x86-64

shadow_diff-2.4.3-cp311-abi3-manylinux_2_34_x86_64.whl (896.2 kB view details)

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

shadow_diff-2.4.3-cp311-abi3-macosx_11_0_arm64.whl (829.9 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: shadow_diff-2.4.3.tar.gz
  • Upload date:
  • Size: 360.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-2.4.3.tar.gz
Algorithm Hash digest
SHA256 0ea70ac59dfffa2d16d5e8c7848632f5fdec955cf90393b9e73594c692dea2ff
MD5 fc1e77ecb98d0ebdc75feb83e6d5d8a2
BLAKE2b-256 c3506efcc243bc8e7d29e7652166af782647372a4c7f5d8f7681e56bb109e1ca

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: shadow_diff-2.4.3-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 764.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-2.4.3-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cee8397b4696a6c7e664bad0ab2703142abbb1d578b5b40c61304703431754ee
MD5 90488fd4baaa9171165b4e382a816be7
BLAKE2b-256 12d6e5eccc20d950f23e5d9adfe4edd67c59e62fe66d6008b2315ed15dcc065f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for shadow_diff-2.4.3-cp311-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b0d7b530aa6a3351bdf26fe764aa04e76169e311996c04820fb1c89d88dea768
MD5 520051ba59d27fc22741758a8c834600
BLAKE2b-256 48476179c708bebd6499562f1b7cd3606d0ed39507a7e6d94dccf4dca9feb3e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for shadow_diff-2.4.3-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 faf9d948452ed8fe009c3637b4806e8f4ad0c1dd225b9ccb5a7407ba81ebb316
MD5 58a3fe3bbf7d2f61636b0801aede1345
BLAKE2b-256 b6fd319fbaaceffedea5cab0f782ddce12755be4ff832983724369c05989fd09

See more details on using hashes here.

Provenance

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