test_base_tracer.py — langchain Source File
Architecture documentation for test_base_tracer.py, a python file in the langchain codebase. 15 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR f1e82fd5_1983_e6d8_530a_dd72a95126b8["test_base_tracer.py"] af34f08b_0ede_2b87_0db6_983d74ed0249["datetime"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> af34f08b_0ede_2b87_0db6_983d74ed0249 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 525a7d6f_f455_56e3_854a_c8a7da4a1417["unittest.mock"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 525a7d6f_f455_56e3_854a_c8a7da4a1417 8dfa0cac_d802_3ccd_f710_43a5e70da3a5["uuid"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 8dfa0cac_d802_3ccd_f710_43a5e70da3a5 023156c8_e306_6129_d953_9f1dac71e6fd["langsmith"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 023156c8_e306_6129_d953_9f1dac71e6fd 120e2591_3e15_b895_72b6_cb26195e40a6["pytest"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 120e2591_3e15_b895_72b6_cb26195e40a6 0a0b1957_08a9_6988_c388_b08d8a4c17ad["freezegun"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 0a0b1957_08a9_6988_c388_b08d8a4c17ad f3bc7443_c889_119d_0744_aacc3620d8d2["langchain_core.callbacks"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> f3bc7443_c889_119d_0744_aacc3620d8d2 75137834_4ba7_dc43_7ec5_182c05eceedf["langchain_core.exceptions"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 75137834_4ba7_dc43_7ec5_182c05eceedf d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> d758344f_537f_649e_f467_b9d7442e86df ac2a9b92_4484_491e_1b48_ec85e71e1d58["langchain_core.outputs"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> ac2a9b92_4484_491e_1b48_ec85e71e1d58 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c 707209ca_c3d6_f9c6_7ec7_2b2df92c9aa3["langchain_core.tracers._compat"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 707209ca_c3d6_f9c6_7ec7_2b2df92c9aa3 59d7001f_fb28_1819_31fc_7fb0380a8b32["langchain_core.tracers.base"] f1e82fd5_1983_e6d8_530a_dd72a95126b8 --> 59d7001f_fb28_1819_31fc_7fb0380a8b32 style f1e82fd5_1983_e6d8_530a_dd72a95126b8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Test Tracer classes."""
from __future__ import annotations
from datetime import datetime, timezone
from typing import Any
from unittest.mock import MagicMock
from uuid import uuid4
import langsmith
import pytest
from freezegun import freeze_time
from langsmith import Client, traceable
from langchain_core.callbacks import CallbackManager
from langchain_core.exceptions import TracerException
from langchain_core.messages import HumanMessage
from langchain_core.outputs import LLMResult
from langchain_core.runnables import chain as as_runnable
from langchain_core.tracers._compat import pydantic_to_dict
from langchain_core.tracers.base import BaseTracer
from langchain_core.tracers.schemas import Run
SERIALIZED = {"id": ["llm"]}
SERIALIZED_CHAT = {"id": ["chat_model"]}
class FakeTracer(BaseTracer):
"""Fake tracer that records LangChain execution."""
def __init__(self) -> None:
"""Initialize the tracer."""
super().__init__()
self.runs: list[Run] = []
def _persist_run(self, run: Run) -> None:
"""Persist a run."""
self.runs.append(run)
def _compare_run_with_error(run: Any, expected_run: Any) -> None:
if run.child_runs:
assert len(expected_run.child_runs) == len(run.child_runs)
for received, expected in zip(
run.child_runs, expected_run.child_runs, strict=False
):
_compare_run_with_error(received, expected)
received = pydantic_to_dict(run, exclude={"child_runs"})
received_err = received.pop("error")
expected = pydantic_to_dict(expected_run, exclude={"child_runs"})
expected_err = expected.pop("error")
assert received == expected
if expected_err is not None:
assert received_err is not None
assert expected_err in received_err
else:
assert received_err is None
// ... (586 more lines)
Domain
Subdomains
Functions
- _compare_run_with_error()
- _get_mock_client()
- test_traceable_to_tracing()
- test_tracer_chain_run()
- test_tracer_chain_run_on_error()
- test_tracer_chat_model_run()
- test_tracer_llm_run()
- test_tracer_llm_run_errors_no_start()
- test_tracer_llm_run_on_error()
- test_tracer_llm_run_on_error_callback()
- test_tracer_multiple_llm_runs()
- test_tracer_nested_run()
- test_tracer_nested_runs_on_error()
- test_tracer_tool_run()
- test_tracer_tool_run_on_error()
Dependencies
- datetime
- freezegun
- langchain_core.callbacks
- langchain_core.exceptions
- langchain_core.messages
- langchain_core.outputs
- langchain_core.runnables
- langchain_core.tracers._compat
- langchain_core.tracers.base
- langchain_core.tracers.schemas
- langsmith
- pytest
- typing
- unittest.mock
- uuid
Source
Frequently Asked Questions
What does test_base_tracer.py do?
test_base_tracer.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, RunnableInterface subdomain.
What functions are defined in test_base_tracer.py?
test_base_tracer.py defines 15 function(s): _compare_run_with_error, _get_mock_client, test_traceable_to_tracing, test_tracer_chain_run, test_tracer_chain_run_on_error, test_tracer_chat_model_run, test_tracer_llm_run, test_tracer_llm_run_errors_no_start, test_tracer_llm_run_on_error, test_tracer_llm_run_on_error_callback, and 5 more.
What does test_base_tracer.py depend on?
test_base_tracer.py imports 15 module(s): datetime, freezegun, langchain_core.callbacks, langchain_core.exceptions, langchain_core.messages, langchain_core.outputs, langchain_core.runnables, langchain_core.tracers._compat, and 7 more.
Where is test_base_tracer.py in the architecture?
test_base_tracer.py is located at libs/core/tests/unit_tests/tracers/test_base_tracer.py (domain: CoreAbstractions, subdomain: RunnableInterface, directory: libs/core/tests/unit_tests/tracers).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free