_compute_allowed_class_paths() — langchain Function Reference
Architecture documentation for the _compute_allowed_class_paths() function in load.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD c584d861_df02_97d8_4142_01d7bb085981["_compute_allowed_class_paths()"] 05e0e20a_4425_e962_37a4_c6c6f08a700d["load.py"] c584d861_df02_97d8_4142_01d7bb085981 -->|defined in| 05e0e20a_4425_e962_37a4_c6c6f08a700d b3f6aa7f_cc79_a63c_c7f8_32c14bbf6343["__init__()"] b3f6aa7f_cc79_a63c_c7f8_32c14bbf6343 -->|calls| c584d861_df02_97d8_4142_01d7bb085981 style c584d861_df02_97d8_4142_01d7bb085981 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/load/load.py lines 221–265
def _compute_allowed_class_paths(
allowed_objects: Iterable[AllowedObject],
import_mappings: dict[tuple[str, ...], tuple[str, ...]],
) -> set[tuple[str, ...]]:
"""Return allowed class paths from an explicit list of classes.
A class path is a tuple of strings identifying a serializable class, derived from
`Serializable.lc_id()`. For example: `('langchain_core', 'messages', 'AIMessage')`.
Args:
allowed_objects: Iterable of `Serializable` subclasses to allow.
import_mappings: Mapping of legacy class paths to current class paths.
Returns:
Set of allowed class paths.
Example:
```python
# Allow a specific class
_compute_allowed_class_paths([MyPrompt], {}) ->
{("langchain_core", "prompts", "MyPrompt")}
# Include legacy paths that map to the same class
import_mappings = {("old", "Prompt"): ("langchain_core", "prompts", "MyPrompt")}
_compute_allowed_class_paths([MyPrompt], import_mappings) ->
{("langchain_core", "prompts", "MyPrompt"), ("old", "Prompt")}
```
"""
allowed_objects_list = list(allowed_objects)
allowed_class_paths: set[tuple[str, ...]] = set()
for allowed_obj in allowed_objects_list:
if not isinstance(allowed_obj, type) or not issubclass(
allowed_obj, Serializable
):
msg = "allowed_objects must contain Serializable subclasses."
raise TypeError(msg)
class_path = tuple(allowed_obj.lc_id())
allowed_class_paths.add(class_path)
# Add legacy paths that map to the same class.
for mapping_key, mapping_value in import_mappings.items():
if tuple(mapping_value) == class_path:
allowed_class_paths.add(mapping_key)
return allowed_class_paths
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does _compute_allowed_class_paths() do?
_compute_allowed_class_paths() is a function in the langchain codebase, defined in libs/core/langchain_core/load/load.py.
Where is _compute_allowed_class_paths() defined?
_compute_allowed_class_paths() is defined in libs/core/langchain_core/load/load.py at line 221.
What calls _compute_allowed_class_paths()?
_compute_allowed_class_paths() is called by 1 function(s): __init__.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free