graphiti-core 0.18.5__tar.gz → 0.18.6__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.
Potentially problematic release.
This version of graphiti-core might be problematic. Click here for more details.
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/PKG-INFO +1 -1
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/graphiti.py +1 -1
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/search/search_filters.py +47 -8
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/pyproject.toml +1 -1
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/test_graphiti_int.py +5 -1
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/uv.lock +2 -2
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.env.example +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/dependabot.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/pull_request_template.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/secret_scanning.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/cla.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/claude-code-review.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/claude.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/codeql.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/lint.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/mcp-server-docker.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/release-graphiti-core.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/typecheck.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.github/workflows/unit_tests.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/.gitignore +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/CLAUDE.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/CODE_OF_CONDUCT.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/CONTRIBUTING.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/Dockerfile +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/LICENSE +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/Makefile +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/README.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/SECURITY.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/Zep-CLA.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/conftest.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/depot.json +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/docker-compose.test.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/docker-compose.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/ellipsis.yaml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/data/manybirds_products.json +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/ecommerce/runner.ipynb +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/ecommerce/runner.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/langgraph-agent/agent.ipynb +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/langgraph-agent/tinybirds-jess.png +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/podcast/podcast_runner.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/podcast/podcast_transcript.txt +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/podcast/transcript_parser.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/quickstart/README.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/quickstart/quickstart_falkordb.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/quickstart/quickstart_neo4j.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/quickstart/requirements.txt +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/wizard_of_oz/parser.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/wizard_of_oz/runner.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/examples/wizard_of_oz/woo.txt +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/gemini_reranker_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/driver/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/driver/driver.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/driver/falkordb_driver.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/driver/neo4j_driver.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/edges.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/embedder/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/embedder/azure_openai.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/embedder/client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/embedder/gemini.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/embedder/openai.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/embedder/voyage.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/errors.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/graph_queries.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/graphiti_types.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/helpers.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/anthropic_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/azure_openai_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/config.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/errors.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/gemini_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/groq_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/openai_base_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/openai_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/openai_generic_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/utils.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/models/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/models/edges/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/models/edges/edge_db_queries.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/models/nodes/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/models/nodes/node_db_queries.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/nodes.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/dedupe_edges.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/dedupe_nodes.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/eval.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/extract_edge_dates.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/extract_edges.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/extract_nodes.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/invalidate_edges.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/lib.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/models.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/prompt_helpers.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/prompts/summarize_nodes.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/py.typed +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/search/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/search/search.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/search/search_config.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/search/search_config_recipes.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/search/search_helpers.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/search/search_utils.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/telemetry/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/telemetry/telemetry.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/bulk_utils.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/datetime_utils.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/community_operations.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/node_operations.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/utils.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/images/arxiv-screenshot.png +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/images/graphiti-graph-intro.gif +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/images/graphiti-intro-slides-stock-2.gif +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/images/simple_graph.svg +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/.env.example +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/.python-version +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/Dockerfile +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/README.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/cursor_rules.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/docker-compose.yml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/graphiti_mcp_server.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/mcp_config_sse_example.json +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/mcp_config_stdio_example.json +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/pyproject.toml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/mcp_server/uv.lock +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/poetry.lock +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/py.typed +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/pytest.ini +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/.env.example +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/Makefile +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/README.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/config.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/dto/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/dto/common.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/dto/ingest.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/dto/retrieve.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/main.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/routers/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/routers/ingest.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/routers/retrieve.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/graph_service/zep_graphiti.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/pyproject.toml +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/server/uv.lock +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/signatures/version1/cla.json +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/cross_encoder/test_bge_reranker_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/cross_encoder/test_gemini_reranker_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/driver/__init__.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/driver/test_falkordb_driver.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/embedder/embedder_fixtures.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/embedder/test_gemini.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/embedder/test_openai.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/embedder/test_voyage.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/evals/data/longmemeval_data/README.md +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/evals/data/longmemeval_data/longmemeval_oracle.json +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/evals/eval_cli.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/evals/eval_e2e_graph_building.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/evals/pytest.ini +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/evals/utils.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/helpers_test.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/llm_client/test_anthropic_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/llm_client/test_anthropic_client_int.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/llm_client/test_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/llm_client/test_errors.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/llm_client/test_gemini_client.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/test_edge_int.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/test_entity_exclusion_int.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/test_node_int.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/utils/maintenance/test_edge_operations.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/utils/maintenance/test_temporal_operations_int.py +0 -0
- {graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/utils/search/search_utils_test.py +0 -0
|
@@ -158,7 +158,7 @@ class Graphiti:
|
|
|
158
158
|
If not set, the Graphiti default is used.
|
|
159
159
|
ensure_ascii : bool, optional
|
|
160
160
|
Whether to escape non-ASCII characters in JSON serialization for prompts. Defaults to False.
|
|
161
|
-
Set
|
|
161
|
+
Set as False to preserve non-ASCII characters (e.g., Korean, Japanese, Chinese) in their
|
|
162
162
|
original form, making them readable in LLM logs and improving model understanding.
|
|
163
163
|
|
|
164
164
|
Returns
|
|
@@ -28,6 +28,8 @@ class ComparisonOperator(Enum):
|
|
|
28
28
|
less_than = '<'
|
|
29
29
|
greater_than_equal = '>='
|
|
30
30
|
less_than_equal = '<='
|
|
31
|
+
is_null = 'IS NULL'
|
|
32
|
+
is_not_null = 'IS NOT NULL'
|
|
31
33
|
|
|
32
34
|
|
|
33
35
|
class DateFilter(BaseModel):
|
|
@@ -64,6 +66,19 @@ def node_search_filter_query_constructor(
|
|
|
64
66
|
return filter_query, filter_params
|
|
65
67
|
|
|
66
68
|
|
|
69
|
+
def date_filter_query_constructor(
|
|
70
|
+
value_name: str, param_name: str, operator: ComparisonOperator
|
|
71
|
+
) -> str:
|
|
72
|
+
query = '(' + value_name + ' '
|
|
73
|
+
|
|
74
|
+
if operator == ComparisonOperator.is_null or operator == ComparisonOperator.is_not_null:
|
|
75
|
+
query += operator.value + ')'
|
|
76
|
+
else:
|
|
77
|
+
query += operator.value + ' ' + param_name + ')'
|
|
78
|
+
|
|
79
|
+
return query
|
|
80
|
+
|
|
81
|
+
|
|
67
82
|
def edge_search_filter_query_constructor(
|
|
68
83
|
filters: SearchFilters,
|
|
69
84
|
) -> tuple[str, dict[str, Any]]:
|
|
@@ -85,10 +100,16 @@ def edge_search_filter_query_constructor(
|
|
|
85
100
|
valid_at_filter = '\nAND ('
|
|
86
101
|
for i, or_list in enumerate(filters.valid_at):
|
|
87
102
|
for j, date_filter in enumerate(or_list):
|
|
88
|
-
|
|
103
|
+
if date_filter.comparison_operator not in [
|
|
104
|
+
ComparisonOperator.is_null,
|
|
105
|
+
ComparisonOperator.is_not_null,
|
|
106
|
+
]:
|
|
107
|
+
filter_params['valid_at_' + str(j)] = date_filter.date
|
|
89
108
|
|
|
90
109
|
and_filters = [
|
|
91
|
-
|
|
110
|
+
date_filter_query_constructor(
|
|
111
|
+
'e.valid_at', f'$valid_at_{j}', date_filter.comparison_operator
|
|
112
|
+
)
|
|
92
113
|
for j, date_filter in enumerate(or_list)
|
|
93
114
|
]
|
|
94
115
|
and_filter_query = ''
|
|
@@ -110,10 +131,16 @@ def edge_search_filter_query_constructor(
|
|
|
110
131
|
invalid_at_filter = ' AND ('
|
|
111
132
|
for i, or_list in enumerate(filters.invalid_at):
|
|
112
133
|
for j, date_filter in enumerate(or_list):
|
|
113
|
-
|
|
134
|
+
if date_filter.comparison_operator not in [
|
|
135
|
+
ComparisonOperator.is_null,
|
|
136
|
+
ComparisonOperator.is_not_null,
|
|
137
|
+
]:
|
|
138
|
+
filter_params['invalid_at_' + str(j)] = date_filter.date
|
|
114
139
|
|
|
115
140
|
and_filters = [
|
|
116
|
-
|
|
141
|
+
date_filter_query_constructor(
|
|
142
|
+
'e.invalid_at', f'$invalid_at_{j}', date_filter.comparison_operator
|
|
143
|
+
)
|
|
117
144
|
for j, date_filter in enumerate(or_list)
|
|
118
145
|
]
|
|
119
146
|
and_filter_query = ''
|
|
@@ -135,10 +162,16 @@ def edge_search_filter_query_constructor(
|
|
|
135
162
|
created_at_filter = ' AND ('
|
|
136
163
|
for i, or_list in enumerate(filters.created_at):
|
|
137
164
|
for j, date_filter in enumerate(or_list):
|
|
138
|
-
|
|
165
|
+
if date_filter.comparison_operator not in [
|
|
166
|
+
ComparisonOperator.is_null,
|
|
167
|
+
ComparisonOperator.is_not_null,
|
|
168
|
+
]:
|
|
169
|
+
filter_params['created_at_' + str(j)] = date_filter.date
|
|
139
170
|
|
|
140
171
|
and_filters = [
|
|
141
|
-
|
|
172
|
+
date_filter_query_constructor(
|
|
173
|
+
'e.created_at', f'$created_at_{j}', date_filter.comparison_operator
|
|
174
|
+
)
|
|
142
175
|
for j, date_filter in enumerate(or_list)
|
|
143
176
|
]
|
|
144
177
|
and_filter_query = ''
|
|
@@ -160,10 +193,16 @@ def edge_search_filter_query_constructor(
|
|
|
160
193
|
expired_at_filter = ' AND ('
|
|
161
194
|
for i, or_list in enumerate(filters.expired_at):
|
|
162
195
|
for j, date_filter in enumerate(or_list):
|
|
163
|
-
|
|
196
|
+
if date_filter.comparison_operator not in [
|
|
197
|
+
ComparisonOperator.is_null,
|
|
198
|
+
ComparisonOperator.is_not_null,
|
|
199
|
+
]:
|
|
200
|
+
filter_params['expired_at_' + str(j)] = date_filter.date
|
|
164
201
|
|
|
165
202
|
and_filters = [
|
|
166
|
-
|
|
203
|
+
date_filter_query_constructor(
|
|
204
|
+
'e.expired_at', f'$expired_at_{j}', date_filter.comparison_operator
|
|
205
|
+
)
|
|
167
206
|
for j, date_filter in enumerate(or_list)
|
|
168
207
|
]
|
|
169
208
|
and_filter_query = ''
|
|
@@ -65,7 +65,11 @@ async def test_graphiti_init(driver):
|
|
|
65
65
|
|
|
66
66
|
search_filter = SearchFilters(
|
|
67
67
|
node_labels=['Person', 'City'],
|
|
68
|
-
created_at=[
|
|
68
|
+
created_at=[
|
|
69
|
+
[DateFilter(date=None, comparison_operator=ComparisonOperator.is_null)],
|
|
70
|
+
[DateFilter(date=utc_now(), comparison_operator=ComparisonOperator.less_than)],
|
|
71
|
+
[DateFilter(date=None, comparison_operator=ComparisonOperator.is_not_null)],
|
|
72
|
+
],
|
|
69
73
|
)
|
|
70
74
|
|
|
71
75
|
results = await graphiti.search_(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
-
revision =
|
|
2
|
+
revision = 2
|
|
3
3
|
requires-python = ">=3.10, <4"
|
|
4
4
|
resolution-markers = [
|
|
5
5
|
"python_full_version >= '3.14'",
|
|
@@ -746,7 +746,7 @@ wheels = [
|
|
|
746
746
|
|
|
747
747
|
[[package]]
|
|
748
748
|
name = "graphiti-core"
|
|
749
|
-
version = "0.18.
|
|
749
|
+
version = "0.18.6"
|
|
750
750
|
source = { editable = "." }
|
|
751
751
|
dependencies = [
|
|
752
752
|
{ name = "diskcache" },
|
|
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
|
|
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
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/bge_reranker_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/gemini_reranker_client.py
RENAMED
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/cross_encoder/openai_reranker_client.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
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/azure_openai_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/openai_base_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/llm_client/openai_generic_client.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
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/edge_operations.py
RENAMED
|
File without changes
|
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/node_operations.py
RENAMED
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/graphiti_core/utils/maintenance/temporal_operations.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
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/cross_encoder/test_bge_reranker_client.py
RENAMED
|
File without changes
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/cross_encoder/test_gemini_reranker_client.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
|
{graphiti_core-0.18.5 → graphiti_core-0.18.6}/tests/utils/maintenance/test_edge_operations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|