Home / Function/ _remove_additionalproperties() — langchain Function Reference

_remove_additionalproperties() — langchain Function Reference

Architecture documentation for the _remove_additionalproperties() function in pydantic_utils.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  ffb01e2b_2f23_d6e1_f1e0_57d9068238b3["_remove_additionalproperties()"]
  b22df862_b52d_14dc_cb85_6573258dd27c["pydantic_utils.py"]
  ffb01e2b_2f23_d6e1_f1e0_57d9068238b3 -->|defined in| b22df862_b52d_14dc_cb85_6573258dd27c
  231942ec_e6ee_db67_4aa9_62b78c60b2f1["_schema()"]
  231942ec_e6ee_db67_4aa9_62b78c60b2f1 -->|calls| ffb01e2b_2f23_d6e1_f1e0_57d9068238b3
  31a96103_4c69_062c_4133_8d54d03d7cea["_normalize_schema()"]
  31a96103_4c69_062c_4133_8d54d03d7cea -->|calls| ffb01e2b_2f23_d6e1_f1e0_57d9068238b3
  style ffb01e2b_2f23_d6e1_f1e0_57d9068238b3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/pydantic_utils.py lines 102–126

def _remove_additionalproperties(schema: dict) -> dict[str, Any]:
    """Remove `"additionalProperties": True` from dicts in the schema.

    Pydantic 2.11 and later versions include `"additionalProperties": True` when
    generating JSON schemas for dict properties with `Any` or `object` values.

    Pydantic 2.12 and later versions include `"additionalProperties": True` when
    generating JSON schemas for `TypedDict`.
    """
    if isinstance(schema, dict):
        if (
            schema.get("type") == "object"
            and schema.get("additionalProperties") is True
        ):
            schema.pop("additionalProperties", None)

        # Recursively scan children
        for value in schema.values():
            _remove_additionalproperties(value)

    elif isinstance(schema, list):
        for item in schema:
            _remove_additionalproperties(item)

    return schema

Subdomains

Frequently Asked Questions

What does _remove_additionalproperties() do?
_remove_additionalproperties() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/pydantic_utils.py.
Where is _remove_additionalproperties() defined?
_remove_additionalproperties() is defined in libs/core/tests/unit_tests/pydantic_utils.py at line 102.
What calls _remove_additionalproperties()?
_remove_additionalproperties() 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