Skip to content

Conversation

@loganpowell
Copy link

KuzuDB Integration

  • Adds kuzu as a graph store (embeddable graph db)
  • Fix import paths in conftest.py (lightrag.kg.* module structure)
  • Add comprehensive KuzuDB integration tests
  • Enhance kuzu_impl.py with better error handling and edge case management
  • Update init.py exports for proper module access

Test Infrastructure Overhaul

Core Test Framework

  • Add pytest asyncio configuration in pyproject.toml with auto mode
  • Create comprehensive tests/conftest.py with dynamic storage fixture
  • Implement robust test environment setup and cleanup for KuzuDB
  • Add mock embedding function for consistent testing

Test Suite Enhancements

  • Fix all async test compatibility issues (18 tests now passing)
  • Resolve missing storage fixture errors across all test files
  • Add conditional server availability checks for Ollama tests
  • Implement @requires_server decorator to gracefully skip tests when external dependencies unavailable

Test Coverage Expansion

  • Add new translation implementation tests and utilities
  • Create demo translation examples for testing multilingual support
  • Add comprehensive documentation for KuzuDB implementation
  • Include translation status tracking and implementation summaries

Robustness Improvements

  • All storage tests (graph + KuzuDB) now pass consistently
  • External server dependencies gracefully handled via skip markers
  • Proper resource cleanup after test execution
  • Better error messages and debugging support

Results

  • ✅ 18 tests passing (graph storage, KuzuDB, translations)
  • ⏭️ 10 tests skipped (Ollama server not available)
  • 🔧 Async test execution fully supported
  • 📚 Comprehensive test documentation added

@danielaskdd
Copy link
Collaborator

Thank you for your congratulations and efforts. As LightRAG evolves, each storage implementation necessitates corresponding upgrades. Currently, we lack the resources to consistently track and maintain the advancements and performance optimizations for every storage type. To avoid impeding the overall progress of the LightRAG system, LightRAG will temporarily discontinue the integration of new storage implementations.

@voycey
Copy link

voycey commented Aug 27, 2025

@loganpowell - is this currently working? I want to integrate KuzuDB into my project too!

@loganpowell
Copy link
Author

@voycey, it passes all the graph operation tests, so it should work. However I haven't tested it e2e.

@voycey
Copy link

voycey commented Aug 28, 2025

Ive merged it into my project to test - Ive also asked the maintainers of LightRAG to merge this for their next release so fingers crossed!
Excellent work :)

@danielaskdd danielaskdd added the enhancement New feature or request label Sep 16, 2025
@danielaskdd
Copy link
Collaborator

You may keep this PR open and frequently rebase it against the main branch to ensure it remains current. This allows developers who wish to use Kuzu to pull this branch for testing and evaluation as needed. Once sufficient user adoption of Kuzu is observed, we will then consider merging this PR into the main branch.

@loganpowell loganpowell reopened this Sep 16, 2025
@voycey
Copy link

voycey commented Sep 17, 2025

I am actively using this, I'll report back as I go deeper with it but so far it looks good! Would appreciate this being merged into the main branch @danielaskdd, the networkx option isn't the best approach!

@danielaskdd
Copy link
Collaborator

v1.4.9rc1 has been released. All graph databases must implement the following two new functions:

  • get_popular_labels
  • search_labels

@loganpowell could you please update the KuzuDB implementation to align with the new requirements?

loganpowell and others added 17 commits September 22, 2025 10:14
…port)

- Add pytest asyncio configuration in pyproject.toml with auto mode
- Create comprehensive tests/conftest.py with dynamic storage fixture
- Implement robust test environment setup and cleanup for KuzuDB
- Add mock embedding function for consistent testing

- Fix all async test compatibility issues (18 tests now passing)
- Resolve missing storage fixture errors across all test files
- Add conditional server availability checks for Ollama tests
- Implement @requires_server decorator to gracefully skip tests when external dependencies unavailable

- Fix import paths in conftest.py (lightrag.kg.* module structure)
- Add comprehensive KuzuDB integration tests
- Enhance kuzu_impl.py with better error handling and edge case management
- Update __init__.py exports for proper module access

- Add new translation implementation tests and utilities
- Create demo translation examples for testing multilingual support
- Add comprehensive documentation for KuzuDB implementation
- Include translation status tracking and implementation summaries

- All storage tests (graph + KuzuDB) now pass consistently
- External server dependencies gracefully handled via skip markers
- Proper resource cleanup after test execution
- Better error messages and debugging support

- ✅ 18 tests passing (graph storage, KuzuDB, translations)
- ⏭️ 10 tests skipped (Ollama server not available)
- 🔧 Async test execution fully supported
- 📚 Comprehensive test documentation added
@loganpowell
Copy link
Author

@danielaskdd

  • rebased (caught up)
  • added missing methods
  • added new tests for kuzu for new methods

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants