remove_all_none_default() — langchain Function Reference
Architecture documentation for the remove_all_none_default() function in pydantic_utils.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 80bb1e8b_2eb4_f11f_8739_d03f6bd4a5c3["remove_all_none_default()"] b22df862_b52d_14dc_cb85_6573258dd27c["pydantic_utils.py"] 80bb1e8b_2eb4_f11f_8739_d03f6bd4a5c3 -->|defined in| b22df862_b52d_14dc_cb85_6573258dd27c 231942ec_e6ee_db67_4aa9_62b78c60b2f1["_schema()"] 231942ec_e6ee_db67_4aa9_62b78c60b2f1 -->|calls| 80bb1e8b_2eb4_f11f_8739_d03f6bd4a5c3 31a96103_4c69_062c_4133_8d54d03d7cea["_normalize_schema()"] 31a96103_4c69_062c_4133_8d54d03d7cea -->|calls| 80bb1e8b_2eb4_f11f_8739_d03f6bd4a5c3 style 80bb1e8b_2eb4_f11f_8739_d03f6bd4a5c3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/tests/unit_tests/pydantic_utils.py lines 31–57
def remove_all_none_default(schema: Any) -> None:
"""Removing all none defaults.
Pydantic v1 did not generate these, but Pydantic v2 does.
The None defaults usually represent **NotRequired** fields, and the None value
is actually **incorrect** as a value since the fields do not allow a None value.
See difference between Optional and NotRequired types in python.
"""
if isinstance(schema, dict):
for value in schema.values():
if isinstance(value, dict):
if "default" in value and value["default"] is None:
any_of = value.get("anyOf", [])
for type_ in any_of:
if "type" in type_ and type_["type"] == "null":
break # Null type explicitly defined
else:
del value["default"]
remove_all_none_default(value)
elif isinstance(value, list):
for item in value:
remove_all_none_default(item)
elif isinstance(schema, list):
for item in schema:
remove_all_none_default(item)
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does remove_all_none_default() do?
remove_all_none_default() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/pydantic_utils.py.
Where is remove_all_none_default() defined?
remove_all_none_default() is defined in libs/core/tests/unit_tests/pydantic_utils.py at line 31.
What calls remove_all_none_default()?
remove_all_none_default() is called by 2 function(s): _normalize_schema, _schema.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free