The changes include: - Moved the `Edge` class to a new `edge` package - Moved the `Graph` class to a new `graph` package - Moved the `Node` class to a new `node` package - Moved the `VectorStoreNode` class to the `node/types.py` module - Moved the `Edge`, `Graph`, and `Node` classes to their respective `base.py` modules - Added an `__init__.py` file to each package to allow for importing of classes - Added a `constants.py` module to the `graph` package to store constants used in the `Graph` class - Refactored the `Graph` class to use the new `Node` and `Edge` classes - Refactored the `Graph` class to use a dictionary to map node types to their respective classes - Refactored the `Graph` class to remove invalid nodes from the graph - Refactored the `Graph` class to handle the LLM node within the graph - Refactored the `Graph` class to build the nodes before building the edges - Refactored the `Graph` class to use the `get_node` method to find nodes by id - Refactored the `Graph` class to use the `get_node_neighbors` method to find the neighbors of a node - Refactored the `Graph` class to use the `get_children_by_node_type` method to find the children of a node based on the node type These changes improve the modularity and maintainability of the `langflow` package by separating the classes into their respective packages and modules. The changes also make it easier to add new node types to the `Graph` class by using a dictionary to map node types to their respective classes. 🚀 feat(node): add Node class to represent a node in the graph 🚀 feat(constants.py): add DIRECT_TYPES constant to represent direct types in a node's template The Node class represents a node in the graph and is responsible for parsing the data and building the module. The DIRECT_TYPES constant is a list of direct types in a node's template. 🚧 chore(types.py): add import statements for typing and Node classes This commit adds import statements for the typing module and the Node class to the types.py file. This is necessary for the code to run properly as it uses these classes and modules. 🚧 chore(loading.py): remove unnecessary import statement This commit removes an unnecessary import statement from the loading.py file. The import statement was causing a circular import error and was not needed for the code to run properly. 🚧 chore(run.py): update import statement for Graph class This commit updates the import statement for the Graph class in the run.py file. The import statement was outdated and was causing an import error. 🚧 chore(conftest.py): update import statement for Graph class This commit updates the import statement for the Graph class in the conftest.py file. The import statement was outdated and was causing an import error. 🚧 chore(test_graph.py): update import statements for Node and Edge classes This commit updates the import statements for the Node and Edge classes in the test_graph.py file. The import statements were outdated and were causing import errors. |
||
|---|---|---|
| .. | ||
| data | ||
| conftest.py | ||
| test_agents_template.py | ||
| test_cache.py | ||
| test_cache_manager.py | ||
| test_chains_template.py | ||
| test_creators.py | ||
| test_custom_types.py | ||
| test_embeddings_template.py | ||
| test_endpoints.py | ||
| test_frontend_nodes.py | ||
| test_graph.py | ||
| test_llms_template.py | ||
| test_loading.py | ||
| test_prompts_template.py | ||
| test_template.py | ||
| test_validate_code.py | ||
| test_vectorstore_template.py | ||
| test_websocket.py | ||