All notable changes to the GraphRAG Toolkit will be documented in this file.
Major Release: This release introduces a complete reader provider system, migrates all examples to Jupyter Lab environments, and adds revolutionary development mode capabilities.
- REMOVED FalkorDB Support: FalkorDB has been completely removed and replaced with Neo4j as the primary graph database
- All connection strings now use Neo4j format:
neo4j://neo4j:password@host:7687 - Updated all examples and documentation to use Neo4j
- Migration guide provided in example READMEs
- All connection strings now use Neo4j format:
All reader providers are completely new additions to the GraphRAG Toolkit
-
StructuredDataReaderProvider: Comprehensive reader for CSV, Excel, JSON, and JSONL files
- File-type-specific pandas configuration filtering
- S3 streaming support for large files (configurable threshold)
- Universal S3 URL support alongside local files
- Enhanced metadata extraction with file type detection
-
PDFReaderProvider: PDF document processing with S3 streaming capabilities
-
DocxReaderProvider: Word document processing with S3 integration
-
PPTXReaderProvider: PowerPoint presentation processing with S3 support
-
MarkdownReaderProvider: Markdown file processing with S3 compatibility
-
CSVReaderProvider: CSV processing with S3 streaming
-
JSONReaderProvider: JSON/JSONL processing with S3 support
-
WebReaderProvider: Web page scraping and processing
-
YouTubeReaderProvider: YouTube transcript extraction
-
WikipediaReaderProvider: Wikipedia article processing
-
GitHubReaderProvider: GitHub repository and file processing
-
S3DirectoryReaderProvider: Direct S3 bucket and object processing
-
DirectoryReaderProvider: Local directory traversal and processing
-
DatabaseReaderProvider: SQL database integration
-
DocumentGraphReaderProvider: Document graph processing
- S3FileMixin: Universal S3 integration for all file-based readers
- Automatic S3 URL detection and temporary file handling
- Streaming support for large files to avoid local storage issues
- Presigned URL generation for secure streaming access
- File size-based streaming decisions (configurable threshold)
- Seamless local/S3 file mixing in single operations
- File-type-specific metadata extraction: Tailored metadata for each document type
- S3 metadata detection: Automatic source type identification
- Advanced file metadata: File size, timestamps, and processing metadata
- YouTube metadata extraction: Video ID and platform information
- Universal metadata patterns: Consistent metadata across all readers
- Custom metadata functions: User-defined metadata extraction
Complete redesign of example environments from scratch
-
Jupyter Lab Integration: All examples now run in containerized Jupyter Lab environments
- Interactive notebook-based development
- Pre-installed dependencies and configurations
- Seamless integration with graph and vector stores
- No password authentication for development ease
-
Development Mode (
--dev) (NEW): Hot-code-injection for live lexical-graph development- Mounts local lexical-graph source code into containers
- Automatic module reloading on code changes
- Editable package installation for immediate testing
- No container rebuilds needed for code modifications
- Perfect for contributing to lexical-graph development
- Multi-architecture support: Native ARM (Apple Silicon) and x86 container images
- Port conflict resolution: Separate port ranges for local-dev vs hybrid-dev
- Enhanced startup scripts: Comprehensive options with user guidance
- Container orchestration: Coordinated Neo4j, PostgreSQL, and Jupyter services
-
lexical-graph-local-dev (REDESIGNED): Complete local development environment
- Jupyter Lab with hot-code-injection support
- Neo4j 5.25-community with APOC plugin
- PostgreSQL with pgvector for embeddings
- Development mode for live coding
- Comprehensive setup and reader examples
-
lexical-graph-hybrid-dev (NEW): Hybrid local/cloud development environment
- Local Jupyter development with AWS cloud integration
- AWS Bedrock batch processing capabilities
- S3-based document storage and processing
- Cloud-native prompt management
- Comprehensive AWS setup automation
- Reader documentation: Complete guide to all reader providers with S3 support
- Setup notebooks: Enhanced 00-Setup.ipynb with development mode detection
- Migration guides: Detailed FalkorDB to Neo4j migration instructions
- Troubleshooting sections: Common issues and solutions for both environments
- Pandas configuration filtering: Prevents CSV-specific parameters from being passed to Excel readers
- Path object conversion: Fixed StructuredDataReader compatibility with pathlib.Path objects
- Import error handling: Better error messages for missing dependencies
- File extension detection: Improved file type detection for S3 URLs
- Container networking: Fixed connection strings to use Docker internal names
- Port conflicts: Resolved conflicts between local-dev and hybrid-dev environments
- Neo4j warnings suppression: Added configuration to reduce verbose logging
- Environment variable handling: Proper defaults and validation
- docs/lexical-graph/readers.md: Comprehensive reader provider documentation
- Universal S3 support explanation
- Configuration examples for all readers
- Installation requirements and dependencies
- Custom reader development guide
- examples/lexical-graph-local-dev/README.md: Complete rewrite with current features
- examples/lexical-graph-hybrid-dev/README.md: New comprehensive hybrid environment guide
- Migration guides: FalkorDB to Neo4j migration instructions
- Neo4j Integration: Complete replacement of FalkorDB with Neo4j
- Neo4j 5.25-community with APOC plugin
- Updated connection strings and factory registrations
- Enhanced graph store capabilities
- Hot-code-injection (
--devflag): Revolutionary live development experience- Mount local lexical-graph source directly into Jupyter containers
- Immediate reflection of code changes without restarts
- Automatic module reloading and dependency management
- Perfect for lexical-graph contributors and advanced users
- Multi-platform support: Native ARM and x86 Docker images
- Enhanced debugging: Better error messages and logging configuration
- Jupyter-first approach: All development happens in interactive notebooks
-
Update connection strings:
# Old GRAPH_STORE="falkordb://localhost:6379" # New GRAPH_STORE="neo4j://neo4j:password@neo4j:7687"
-
Update imports:
# Replace FalkorDB imports from graphrag_toolkit.lexical_graph.storage.graph.neo4j_graph_store_factory import Neo4jGraphStoreFactory GraphStoreFactory.register(Neo4jGraphStoreFactory)
-
Update Docker configurations: Use new Neo4j-based compose files
Note: Reader providers are entirely new - no migration needed from previous versions
- Replace direct LlamaIndex usage: Use GraphRAG reader providers for better integration
- Adopt S3 support: Utilize both local and S3 URLs in file paths
- Use configuration classes: Implement reader-specific configuration patterns
- Leverage universal metadata: Take advantage of consistent metadata across readers
- llama-index-readers-structured-data: For enhanced structured data processing
- llama-index-readers-s3: For S3 directory reading capabilities
- pandas: Enhanced structured data processing
- openpyxl: Excel file processing support
- Neo4j: Updated to version 5.25-community
- Docker base images: Multi-architecture support
- Breaking Change: This release contains breaking changes due to FalkorDB removal
- Migration Required: Existing FalkorDB configurations must be migrated to Neo4j
- All Readers Are New: The entire reader provider system is a new addition to GraphRAG Toolkit
- Environment Redesign: Example environments completely redesigned around Jupyter Lab
- Development Revolution:
--devmode enables unprecedented live development experience - Enhanced Capabilities: S3 streaming and universal file support significantly improves scalability
- Developer Experience: Hot-code-injection and Jupyter-first approach dramatically improves productivity
For detailed setup instructions and development mode usage, see the README files in the respective example directories.