inputlayer-client-dev 0.1.0.dev921__tar.gz → 0.1.0.dev924__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/PKG-INFO +1 -1
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/pyproject.toml +1 -1
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/knowledge_graph.py +16 -5
- inputlayer_client_dev-0.1.0.dev924/tests/test_kg_load.py +51 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/.gitignore +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/LICENSE +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/README.md +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/01_quickstart.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/02_social_network.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/03_rag_pipeline.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/04_ecommerce.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/05_rbac.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/06_realtime_dashboard.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/07_dataframe_etl.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/08_session_rules.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/09_access_control.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/10_migrations.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/_common.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex01_retriever.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex02_vector.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex03_tool.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex04_lcel_chain.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex05_kg_building.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex06_explainable_rag.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex07_multihop.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex08_memory.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex09_access_control.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex10_multi_agent.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex11_anomaly.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex12_hallucination.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex13_guardrails.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex14_graphrag.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex15_caching.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex16_recommendation.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/ex17_lineage.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langchain/runner.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/_common.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex01_reasoning_loop.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex02_investigation.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex03_human_in_loop.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex04_branching_pipeline.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex05_self_correcting.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex06_collaborative_planning.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex07_event_correlation.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex08_tool_selection.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex09_streaming_aggregation.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex10_resumable_graph.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex11_memory.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/ex12_resumable_chat.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/langgraph/runner.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_ast.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_naming.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_protocol.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_proxy.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_sync.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/aggregations.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/auth.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/client.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/client_sync.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/compiler.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/connection.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/derived.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/exceptions.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/functions.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/index.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langchain/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langchain/params.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langchain/retriever.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langchain/tool.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langchain/vector_store.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/_checkpoint_serde.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/_checkpointer_mixin.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/_memory_helpers.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/_memory_mixin.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/_utils.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/checkpointer.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/memory.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/nodes.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/router.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/integrations/langgraph/state.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/autodetector.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/cli.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/errors.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/executor.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/loader.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/operations.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/recorder.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/state.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/migrations/writer.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/notifications.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/py.typed +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/relation.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/result.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/session.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/types.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/__init__.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/_mock_checkpoint_kg.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/_mock_memory_kg.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/conftest.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_aggregations.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_ast.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_autodetector.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_checkpointer_core.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_checkpointer_lifecycle.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_checkpointer_list.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_checkpointer_validation.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_cli.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_compiler.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_connection.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_derived.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_escape_iql.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_executor.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_functions.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_integration.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_kg_node.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_kg_router.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_langchain.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_langgraph_integration.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_loader.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_memory_core.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_memory_edge_cases.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_memory_helpers.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_migration_safety.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_naming.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_operations.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_protocol.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_proxy.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_relation.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_result.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_serde.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_state.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_sync.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_types.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_writer.py +0 -0
- {inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/uv.lock +0 -0
|
@@ -963,11 +963,22 @@ class KnowledgeGraph:
|
|
|
963
963
|
)
|
|
964
964
|
|
|
965
965
|
async def load(self, path: str, *, mode: str | None = None) -> None:
|
|
966
|
-
"""Load
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
966
|
+
"""Load an IQL file into this knowledge graph.
|
|
967
|
+
|
|
968
|
+
The file is read locally and sent to the server as a single
|
|
969
|
+
multi-statement program, so the load is atomic: the server parses
|
|
970
|
+
every statement before executing any, and rejects the whole
|
|
971
|
+
program on the first error.
|
|
972
|
+
|
|
973
|
+
(Sending ``.load`` over the wire does not work: the server treats
|
|
974
|
+
it as a client-only REPL command and silently ignores it.)
|
|
975
|
+
"""
|
|
976
|
+
if mode is not None:
|
|
977
|
+
msg = "load(mode=...) is not supported; --replace/--merge are unimplemented server-side"
|
|
978
|
+
raise NotImplementedError(msg)
|
|
979
|
+
with open(path, encoding="utf-8") as f:
|
|
980
|
+
program = f.read()
|
|
981
|
+
await self._execute(program)
|
|
971
982
|
|
|
972
983
|
async def clear_prefix(self, prefix: str) -> ClearResult:
|
|
973
984
|
"""Clear all relations matching a prefix."""
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"""Tests for KnowledgeGraph.load: local file read, sent as one atomic program."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from unittest.mock import AsyncMock
|
|
6
|
+
|
|
7
|
+
import pytest
|
|
8
|
+
|
|
9
|
+
from inputlayer.knowledge_graph import KnowledgeGraph
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def _kg_with_mocked_execute() -> KnowledgeGraph:
|
|
13
|
+
kg = KnowledgeGraph.__new__(KnowledgeGraph)
|
|
14
|
+
kg._execute = AsyncMock() # type: ignore[method-assign]
|
|
15
|
+
return kg
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class TestLoad:
|
|
19
|
+
async def test_sends_file_contents_as_one_program(self, tmp_path) -> None:
|
|
20
|
+
pack = tmp_path / "pack.iql"
|
|
21
|
+
pack.write_text(
|
|
22
|
+
"// a comment the server strips\n"
|
|
23
|
+
'+claim(id: string, val: string)\n'
|
|
24
|
+
'+claim[("c1", "v1")]\n'
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
kg = _kg_with_mocked_execute()
|
|
28
|
+
await kg.load(str(pack))
|
|
29
|
+
|
|
30
|
+
kg._execute.assert_awaited_once()
|
|
31
|
+
program = kg._execute.await_args.args[0]
|
|
32
|
+
# The whole file goes over in a single execute, comments included
|
|
33
|
+
# (the server strips them), never as a `.load` meta command.
|
|
34
|
+
assert '+claim[("c1", "v1")]' in program
|
|
35
|
+
assert "// a comment" in program
|
|
36
|
+
assert not program.lstrip().startswith(".load")
|
|
37
|
+
|
|
38
|
+
async def test_mode_is_rejected(self, tmp_path) -> None:
|
|
39
|
+
pack = tmp_path / "pack.iql"
|
|
40
|
+
pack.write_text("+r(x: string)\n")
|
|
41
|
+
|
|
42
|
+
kg = _kg_with_mocked_execute()
|
|
43
|
+
with pytest.raises(NotImplementedError):
|
|
44
|
+
await kg.load(str(pack), mode="--replace")
|
|
45
|
+
kg._execute.assert_not_awaited()
|
|
46
|
+
|
|
47
|
+
async def test_missing_file_raises(self) -> None:
|
|
48
|
+
kg = _kg_with_mocked_execute()
|
|
49
|
+
with pytest.raises(FileNotFoundError):
|
|
50
|
+
await kg.load("/nonexistent/pack.iql")
|
|
51
|
+
kg._execute.assert_not_awaited()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/01_quickstart.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/04_ecommerce.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/05_rbac.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/examples/10_migrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/__init__.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_ast.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_naming.py
RENAMED
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_proxy.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/auth.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/compiler.py
RENAMED
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/derived.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/index.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/py.typed
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/relation.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/result.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/session.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/src/inputlayer/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/_mock_memory_kg.py
RENAMED
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_aggregations.py
RENAMED
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_autodetector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_compiler.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_connection.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_derived.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_escape_iql.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_executor.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_functions.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_integration.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_kg_node.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_kg_router.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_langchain.py
RENAMED
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_loader.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_memory_core.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_naming.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_operations.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_protocol.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_proxy.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_relation.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_result.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_serde.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_state.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_sync.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_types.py
RENAMED
|
File without changes
|
{inputlayer_client_dev-0.1.0.dev921 → inputlayer_client_dev-0.1.0.dev924}/tests/test_writer.py
RENAMED
|
File without changes
|
|
File without changes
|