* Prepare code * Fix tests * As -> AS, remove trailing spaces * Enable more tests for FalkorDB * Fix more cypher queries * Return all created nodes and edges * Add Neo4j service to unit tests workflow - Introduced Neo4j as a service in the GitHub Actions workflow for unit tests. - Configured Neo4j with appropriate ports, authentication, and health checks. - Updated test steps to include waiting for Neo4j and running integration tests against it. - Set environment variables for Neo4j connection in both non-integration and integration test steps. * Update Neo4j authentication in unit tests workflow - Changed Neo4j authentication password from 'test' to 'testpass' in the GitHub Actions workflow. - Updated health check command to reflect the new password. - Ensured consistency across all test steps that utilize Neo4j credentials. * fix health check * Fix Neo4j integration tests in CI workflow Remove reference to non-existent test_neo4j_driver.py file from test command. Integration tests now run via parametrized tests using the drivers list. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Add OPENAI_API_KEY to Neo4j integration tests Neo4j integration tests require OpenAI API access for LLM functionality. Add the secret environment variable to enable these tests to run properly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix Neo4j Cypher syntax error in BFS search queries Replace parameter substitution in relationship pattern ranges (*1..$depth) with direct string interpolation (*1..{bfs_max_depth}). Neo4j doesn't allow parameter maps in MATCH pattern ranges - they must be literal values. Fixed in both node_bfs_search and edge_bfs_search functions. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix variable name mismatch in edge_bfs_search query Change relationship variable from 'r' to 'e' to match ENTITY_EDGE_RETURN constant expectations. The ENTITY_EDGE_RETURN constant references variable 'e' for relationships, but the query was using 'r', causing "Variable e not defined" errors. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Isolate database tests in CI workflow - FalkorDB tests: Add DISABLE_NEO4J=1 and remove Neo4j env vars - Neo4j tests: Keep current setup without DISABLE_NEO4J flag This ensures proper test isolation where each test suite only runs against its intended database backend. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Siddhartha Sahu <sid@kuzudb.com> Co-authored-by: Claude <noreply@anthropic.com>
96 lines
2.1 KiB
TOML
96 lines
2.1 KiB
TOML
[project]
|
|
name = "graphiti-core"
|
|
description = "A temporal graph building library"
|
|
version = "0.18.0"
|
|
authors = [
|
|
{ name = "Paul Paliychuk", email = "paul@getzep.com" },
|
|
{ name = "Preston Rasmussen", email = "preston@getzep.com" },
|
|
{ name = "Daniel Chalef", email = "daniel@getzep.com" },
|
|
]
|
|
readme = "README.md"
|
|
license = "Apache-2.0"
|
|
requires-python = ">=3.10,<4"
|
|
dependencies = [
|
|
"pydantic>=2.11.5",
|
|
"neo4j>=5.26.0",
|
|
"diskcache>=5.6.3",
|
|
"openai>=1.91.0",
|
|
"tenacity>=9.0.0",
|
|
"numpy>=1.0.0",
|
|
"python-dotenv>=1.0.1",
|
|
"posthog>=3.0.0",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://help.getzep.com/graphiti/graphiti/overview"
|
|
Repository = "https://github.com/getzep/graphiti"
|
|
|
|
[project.optional-dependencies]
|
|
anthropic = ["anthropic>=0.49.0"]
|
|
groq = ["groq>=0.2.0"]
|
|
google-genai = ["google-genai>=1.8.0"]
|
|
falkordb = ["falkordb>=1.1.2,<2.0.0"]
|
|
voyageai = ["voyageai>=0.2.3"]
|
|
sentence-transformers = ["sentence-transformers>=3.2.1"]
|
|
dev = [
|
|
"pyright>=1.1.380",
|
|
"groq>=0.2.0",
|
|
"anthropic>=0.49.0",
|
|
"google-genai>=1.8.0",
|
|
"falkordb>=1.1.2,<2.0.0",
|
|
"ipykernel>=6.29.5",
|
|
"jupyterlab>=4.2.4",
|
|
"diskcache-stubs>=5.6.3.6.20240818",
|
|
"langgraph>=0.2.15",
|
|
"langchain-anthropic>=0.2.4",
|
|
"langsmith>=0.1.108",
|
|
"langchain-openai>=0.2.6",
|
|
"sentence-transformers>=3.2.1",
|
|
"transformers>=4.45.2",
|
|
"voyageai>=0.2.3",
|
|
"pytest>=8.3.3",
|
|
"pytest-asyncio>=0.24.0",
|
|
"pytest-xdist>=3.6.1",
|
|
"ruff>=0.7.1",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.pytest.ini_options]
|
|
pythonpath = ["."]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
# pycodestyle
|
|
"E",
|
|
# Pyflakes
|
|
"F",
|
|
# pyupgrade
|
|
"UP",
|
|
# flake8-bugbear
|
|
"B",
|
|
# flake8-simplify
|
|
"SIM",
|
|
# isort
|
|
"I",
|
|
]
|
|
ignore = ["E501"]
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "single"
|
|
indent-style = "space"
|
|
docstring-code-format = true
|
|
|
|
[tool.pyright]
|
|
include = ["graphiti_core"]
|
|
pythonVersion = "3.10"
|
|
typeCheckingMode = "basic"
|
|
|
|
[[tool.pyright.overrides]]
|
|
include = ["**/falkordb*"]
|
|
reportMissingImports = false
|