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.8.0.tar.gz (438.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-2.8.0-cp311-abi3-win_amd64.whl (859.0 kB view details)

Uploaded CPython 3.11+Windows x86-64

shadow_diff-2.8.0-cp311-abi3-manylinux_2_34_x86_64.whl (989.2 kB view details)

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

shadow_diff-2.8.0-cp311-abi3-macosx_11_0_arm64.whl (922.3 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: shadow_diff-2.8.0.tar.gz
  • Upload date:
  • Size: 438.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-2.8.0.tar.gz
Algorithm Hash digest
SHA256 698f543c72068697db6928342c3e6b331b29176797ca998d286011f7026a7f65
MD5 afbc1317dfc2d2d8e1584c80dfa05869
BLAKE2b-256 b55dcfd58142e845973e074447ae1637f3c3d5839897ce36126c90907f51479e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: shadow_diff-2.8.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 859.0 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.8.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d86c66b6fd4dae4491c4995efc208a672b876158f9b88328a6801e142fc28ae8
MD5 b82051dd7177593f93bfad52db5b84d9
BLAKE2b-256 6def7421f96c0d241fe5cd61172684b70733cf560f42ec87bc6fdc1a6674fade

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for shadow_diff-2.8.0-cp311-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f539357f67d4662ad95a9f16f561e3ba77b6fd259309edcb81cf172fb518effe
MD5 b5fcf383879b07494da0c1c8c5e73d61
BLAKE2b-256 2980cebdaa91f66e063c05161150f4ce853c8cb99592d123de48539f4ef79f1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for shadow_diff-2.8.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 571171146f8b3b196a19ea1082f78c7b2998ca8d6fbdd991705f2877bfa9f9cf
MD5 47408bafcc34e5d557dd17393cb021ce
BLAKE2b-256 2f5b9e021e86595d8884568c4e72b962d9e9e83e8ed47aa1e6f6b4e6b372770d

See more details on using hashes here.

Provenance

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