mirror of
				https://github.com/hwchase17/langchain.git
				synced 2025-10-24 20:20:50 +00:00 
			
		
		
		
	Moved the following modules to new package langchain-community in a backwards compatible fashion: ``` mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community ``` Moved the following to core ``` mv langchain/langchain/utils/json_schema.py core/langchain_core/utils mv langchain/langchain/utils/html.py core/langchain_core/utils mv langchain/langchain/utils/strings.py core/langchain_core/utils cat langchain/langchain/utils/env.py >> core/langchain_core/utils/env.py rm langchain/langchain/utils/env.py ``` See .scripts/community_split/script_integrations.sh for all changes
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import shutil
 | |
| import tempfile
 | |
| import unittest
 | |
| 
 | |
| from langchain_community.graphs import KuzuGraph
 | |
| 
 | |
| EXPECTED_SCHEMA = """
 | |
| Node properties: [{'properties': [('name', 'STRING')], 'label': 'Movie'}, {'properties': [('name', 'STRING'), ('birthDate', 'STRING')], 'label': 'Person'}]
 | |
| Relationships properties: [{'properties': [], 'label': 'ActedIn'}]
 | |
| Relationships: ['(:Person)-[:ActedIn]->(:Movie)']
 | |
| """  # noqa: E501
 | |
| 
 | |
| 
 | |
| class TestKuzu(unittest.TestCase):
 | |
|     def setUp(self) -> None:
 | |
|         try:
 | |
|             import kuzu
 | |
|         except ImportError as e:
 | |
|             raise ImportError(
 | |
|                 "Cannot import Python package kuzu. Please install it by running "
 | |
|                 "`pip install kuzu`."
 | |
|             ) from e
 | |
| 
 | |
|         self.tmpdir = tempfile.mkdtemp()
 | |
|         self.kuzu_database = kuzu.Database(self.tmpdir)
 | |
|         self.conn = kuzu.Connection(self.kuzu_database)
 | |
|         self.conn.execute("CREATE NODE TABLE Movie (name STRING, PRIMARY KEY(name))")
 | |
|         self.conn.execute("CREATE (:Movie {name: 'The Godfather'})")
 | |
|         self.conn.execute("CREATE (:Movie {name: 'The Godfather: Part II'})")
 | |
|         self.conn.execute(
 | |
|             "CREATE (:Movie {name: 'The Godfather Coda: The Death of Michael "
 | |
|             "Corleone'})"
 | |
|         )
 | |
|         self.kuzu_graph = KuzuGraph(self.kuzu_database)
 | |
| 
 | |
|     def tearDown(self) -> None:
 | |
|         shutil.rmtree(self.tmpdir, ignore_errors=True)
 | |
| 
 | |
|     def test_query(self) -> None:
 | |
|         result = self.kuzu_graph.query("MATCH (n:Movie) RETURN n.name ORDER BY n.name")
 | |
|         excepted_result = [
 | |
|             {"n.name": "The Godfather"},
 | |
|             {"n.name": "The Godfather Coda: The Death of Michael Corleone"},
 | |
|             {"n.name": "The Godfather: Part II"},
 | |
|         ]
 | |
|         self.assertEqual(result, excepted_result)
 | |
| 
 | |
|     def test_refresh_schema(self) -> None:
 | |
|         self.conn.execute(
 | |
|             "CREATE NODE TABLE Person (name STRING, birthDate STRING, PRIMARY "
 | |
|             "KEY(name))"
 | |
|         )
 | |
|         self.conn.execute("CREATE REL TABLE ActedIn (FROM Person TO Movie)")
 | |
|         self.kuzu_graph.refresh_schema()
 | |
|         schema = self.kuzu_graph.get_schema
 | |
|         self.assertEqual(schema, EXPECTED_SCHEMA)
 |