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.1.tar.gz (498.2 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.1-cp311-abi3-win_amd64.whl (926.4 kB view details)

Uploaded CPython 3.11+Windows x86-64

shadow_diff-3.0.1-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.1-cp311-abi3-macosx_11_0_arm64.whl (988.5 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: shadow_diff-3.0.1.tar.gz
  • Upload date:
  • Size: 498.2 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.1.tar.gz
Algorithm Hash digest
SHA256 d84b4d9ee64e4feaabe874d9f88b55fdacd691b00e73d4a3769933a78af4e811
MD5 ecf889a6fa7369d1c7565361a441ccac
BLAKE2b-256 acc736ac1d97b456e9a311640cc97e8a90059f1c83a0bfb19604679c6e63bfda

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: shadow_diff-3.0.1-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.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 91d2e2afa5ada6de601d1e988691a25c1bf28ff15b2cde91682362a1a8b60408
MD5 9e84bf59f1a922f6070365b73564132f
BLAKE2b-256 a7977c99edd3e6d5e89fcfcf418d0e4b9e4bcdac948fd434bbc9f21bf57cff38

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for shadow_diff-3.0.1-cp311-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4b21590ac0f6b4e7c19e7d9624c01f5b246ed3e257cd28d9f485485619a2022e
MD5 a0937455ab05068da309e43e525b9aee
BLAKE2b-256 13576198b06ada1b3cae2b790c8ab12a440f6de6cec5565552e2bbc7b3bcc393

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for shadow_diff-3.0.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8ee0ddcc3f7427b3c6fcef5ae0f28b07d0c09b317340d49c6d0221f471fa06e
MD5 20250e5d0edf6fbbdcc704e6b7b41efb
BLAKE2b-256 c4ce508b5b4d7612487adeee32790a7c4269812d65537838e2fc3d0194eafcde

See more details on using hashes here.

Provenance

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