|
|
@ -122,8 +122,7 @@ def _merge_module_members(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _load_package_modules(
|
|
|
|
def _load_package_modules(
|
|
|
|
package_directory: Union[str, Path],
|
|
|
|
package_directory: Union[str, Path], submodule: Optional[str] = None
|
|
|
|
submodule: Optional[str] = None
|
|
|
|
|
|
|
|
) -> Dict[str, ModuleMembers]:
|
|
|
|
) -> Dict[str, ModuleMembers]:
|
|
|
|
"""Recursively load modules of a package based on the file system.
|
|
|
|
"""Recursively load modules of a package based on the file system.
|
|
|
|
|
|
|
|
|
|
|
@ -171,7 +170,8 @@ def _load_package_modules(
|
|
|
|
# different way
|
|
|
|
# different way
|
|
|
|
if submodule is not None:
|
|
|
|
if submodule is not None:
|
|
|
|
module_members = _load_module_members(
|
|
|
|
module_members = _load_module_members(
|
|
|
|
f"{package_name}.{submodule}.{namespace}", f"{submodule}.{namespace}"
|
|
|
|
f"{package_name}.{submodule}.{namespace}",
|
|
|
|
|
|
|
|
f"{submodule}.{namespace}",
|
|
|
|
)
|
|
|
|
)
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
module_members = _load_module_members(
|
|
|
|
module_members = _load_module_members(
|
|
|
@ -280,18 +280,9 @@ Functions
|
|
|
|
return full_doc
|
|
|
|
return full_doc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main() -> None:
|
|
|
|
def _document_langchain_experimental() -> None:
|
|
|
|
"""Generate the reference.rst file for each package."""
|
|
|
|
"""Document the langchain_experimental package."""
|
|
|
|
lc_members = _load_package_modules(PKG_DIR)
|
|
|
|
# Generate experimental_api_reference.rst
|
|
|
|
# Put some packages at top level
|
|
|
|
|
|
|
|
tools = _load_package_modules(PKG_DIR, "tools")
|
|
|
|
|
|
|
|
lc_members['tools.render'] = tools['render']
|
|
|
|
|
|
|
|
agents = _load_package_modules(PKG_DIR, "agents")
|
|
|
|
|
|
|
|
lc_members['agents.output_parsers'] = agents['output_parsers']
|
|
|
|
|
|
|
|
lc_members['agents.format_scratchpad'] = agents['format_scratchpad']
|
|
|
|
|
|
|
|
lc_doc = ".. _api_reference:\n\n" + _construct_doc("langchain", lc_members)
|
|
|
|
|
|
|
|
with open(WRITE_FILE, "w") as f:
|
|
|
|
|
|
|
|
f.write(lc_doc)
|
|
|
|
|
|
|
|
exp_members = _load_package_modules(EXP_DIR)
|
|
|
|
exp_members = _load_package_modules(EXP_DIR)
|
|
|
|
exp_doc = ".. _experimental_api_reference:\n\n" + _construct_doc(
|
|
|
|
exp_doc = ".. _experimental_api_reference:\n\n" + _construct_doc(
|
|
|
|
"langchain_experimental", exp_members
|
|
|
|
"langchain_experimental", exp_members
|
|
|
@ -300,5 +291,36 @@ def main() -> None:
|
|
|
|
f.write(exp_doc)
|
|
|
|
f.write(exp_doc)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _document_langchain_core() -> None:
|
|
|
|
|
|
|
|
"""Document the main langchain package."""
|
|
|
|
|
|
|
|
# load top level module members
|
|
|
|
|
|
|
|
lc_members = _load_package_modules(PKG_DIR)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Add additional packages
|
|
|
|
|
|
|
|
tools = _load_package_modules(PKG_DIR, "tools")
|
|
|
|
|
|
|
|
agents = _load_package_modules(PKG_DIR, "agents")
|
|
|
|
|
|
|
|
schema = _load_package_modules(PKG_DIR, "schema")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lc_members.update(
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"agents.output_parsers": agents["output_parsers"],
|
|
|
|
|
|
|
|
"agents.format_scratchpad": agents["format_scratchpad"],
|
|
|
|
|
|
|
|
"tools.render": tools["render"],
|
|
|
|
|
|
|
|
"schema.runnable": schema["runnable"],
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lc_doc = ".. _api_reference:\n\n" + _construct_doc("langchain", lc_members)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with open(WRITE_FILE, "w") as f:
|
|
|
|
|
|
|
|
f.write(lc_doc)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main() -> None:
|
|
|
|
|
|
|
|
"""Generate the reference.rst file for each package."""
|
|
|
|
|
|
|
|
_document_langchain_core()
|
|
|
|
|
|
|
|
_document_langchain_experimental()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|
|
|
|
main()
|
|
|
|