test_dump.py — langchain Source File
Architecture documentation for test_dump.py, a python file in the langchain codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR fa1913ed_53d8_ed72_5806_c4cd35bee49c["test_dump.py"] 9d14ea65_8b2e_6721_a947_acc89905651f["json"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> 9d14ea65_8b2e_6721_a947_acc89905651f 0029f612_c503_ebcf_a452_a0fae8c9f2c3["os"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> 0029f612_c503_ebcf_a452_a0fae8c9f2c3 feec1ec4_6917_867b_d228_b134d0ff8099["typing"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> feec1ec4_6917_867b_d228_b134d0ff8099 23cb242e_1754_041d_200a_553fcb8abe1b["unittest.mock"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> 23cb242e_1754_041d_200a_553fcb8abe1b f69d6389_263d_68a4_7fbf_f14c0602a9ba["pytest"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> f69d6389_263d_68a4_7fbf_f14c0602a9ba f4426504_dae2_8ae3_99a7_67cc4d1997ba["langchain_core.load.dump"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> f4426504_dae2_8ae3_99a7_67cc4d1997ba e082ede2_868f_7149_8977_a2af7e5aeb38["langchain_core.load.serializable"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> e082ede2_868f_7149_8977_a2af7e5aeb38 dd5e7909_a646_84f1_497b_cae69735550e["pydantic"] fa1913ed_53d8_ed72_5806_c4cd35bee49c --> dd5e7909_a646_84f1_497b_cae69735550e style fa1913ed_53d8_ed72_5806_c4cd35bee49c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Test for Serializable base class."""
import json
import os
from typing import Any
from unittest.mock import patch
import pytest
from langchain_core.load.dump import dumps
from langchain_core.load.serializable import Serializable
from pydantic import ConfigDict, Field, model_validator
class Person(Serializable):
secret: str
you_can_see_me: str = "hello"
@classmethod
def is_lc_serializable(cls) -> bool:
return True
@property
def lc_secrets(self) -> dict[str, str]:
return {"secret": "SECRET"}
@property
def lc_attributes(self) -> dict[str, str]:
return {"you_can_see_me": self.you_can_see_me}
class SpecialPerson(Person):
another_secret: str
another_visible: str = "bye"
@classmethod
def get_lc_namespace(cls) -> list[str]:
return ["my", "special", "namespace"]
# Gets merged with parent class's secrets
@property
def lc_secrets(self) -> dict[str, str]:
return {"another_secret": "ANOTHER_SECRET"}
# Gets merged with parent class's attributes
@property
def lc_attributes(self) -> dict[str, str]:
return {"another_visible": self.another_visible}
class NotSerializable:
pass
def test_person(snapshot: Any) -> None:
p = Person(secret="parrot party") # noqa: S106
assert dumps(p, pretty=True) == snapshot
sp = SpecialPerson(another_secret="Wooo", secret="Hmm") # noqa: S106
assert dumps(sp, pretty=True) == snapshot
// ... (109 more lines)
Domain
Subdomains
Functions
Dependencies
- json
- langchain_core.load.dump
- langchain_core.load.serializable
- os
- pydantic
- pytest
- typing
- unittest.mock
Source
Frequently Asked Questions
What does test_dump.py do?
test_dump.py is a source file in the langchain codebase, written in python. It belongs to the LangChainCore domain, MessageInterface subdomain.
What functions are defined in test_dump.py?
test_dump.py defines 5 function(s): test_aliases_hidden, test_person, test_person_with_invalid_kwargs, test_person_with_kwargs, test_typeerror.
What does test_dump.py depend on?
test_dump.py imports 8 module(s): json, langchain_core.load.dump, langchain_core.load.serializable, os, pydantic, pytest, typing, unittest.mock.
Where is test_dump.py in the architecture?
test_dump.py is located at libs/langchain/tests/unit_tests/load/test_dump.py (domain: LangChainCore, subdomain: MessageInterface, directory: libs/langchain/tests/unit_tests/load).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free