Install & Compatibility
Where this runs
tested against v0.4.41 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.10
✕ build_error
✓ 32.93s
py 3.11
✕ build_error
✓ 30.1s
py 3.12
✕ build_error
✓ 25.78s
py 3.13
✕ build_error
✓ 25.85s
py 3.9
✕ build_error
✕ build_error
611MB installed
● package 611MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Answer
✓ from inspect_scout import Answer
✗ from inspect_scout import inspect
Loader
✓ from inspect_scout import Loader
✗ from inspect_scout import inspect
ObserveEmit
✓ from inspect_scout import ObserveEmit
✗ from inspect_scout import inspect
This quickstart demonstrates how to use `inspect-scout` to automatically capture transcripts of an AI agent's interactions using the `@inspect` decorator. It also shows the `transcript_session` context manager for manual tracing of code blocks and how to configure the output directory.
import inspect_scout
import os
import tempfile
import shutil
# Configure inspect-scout to save transcripts to a temporary directory
temp_dir = tempfile.mkdtemp()
inspect_scout.configure(output_dir=temp_dir, print_transcript_on_exit=False)
print(f"Transcripts will be saved to: {temp_dir}")
# Define a simple agent function
def my_agent_logic(input_text: str):
if "hello" in input_text.lower():
return "Hello there! How can I help you?"
elif "tool" in input_text.lower():
return "Simulating tool use..."
return "I am a generic agent."
# Use the @inspect decorator to capture the agent's transcript
@inspect_scout.inspect(name="MyTestAgent")
def my_inspected_agent(input_text: str):
print(f"Agent received: {input_text}")
response = my_agent_logic(input_text)
print(f"Agent responded: {response}")
return response
if __name__ == "__main__":
print("\n--- Running inspected agent ---")
result1 = my_inspected_agent("Hello agent!")
print(f"First call result: {result1}")
result2 = my_inspected_agent("Tell me about tool use.")
print(f"Second call result: {result2}")
print("\n--- Running inspected block ---")
with inspect_scout.transcript_session(name="ManualBlockSession"):
print("Inside a manually traced block.")
block_result = my_agent_logic("What's up?")
print(f"Block agent result: {block_result}")
# Clean up the temporary directory
shutil.rmtree(temp_dir)
print(f"\nCleaned up temporary directory: {temp_dir}")
Upgrade
Version history
0.4.41latest on PyPI · released Jun 12, 2026
Audit
Dependencies
litellmrequiredProvides simplified LLM API calls, routing, and cost management, essential for agent introspection.