Usage
Command Line Interface
Workflow 1: Basic Chunking
Install pykomodo:
pip install pykomodo==0.3.0
Chunk your directory into 5 equal parts:
komodo . --equal-chunks 5 --output-dir my_chunks/
Verify the output:
ls my_chunks/ # Lists chunk-0.txt, chunk-1.txt, ..., chunk-4.txt
Workflow 2: Advanced Chunking with Filtering
Chunk a project, ignoring logs and tests:
komodo /path/to/project --max-chunk-size 1000 \ --ignore "*.log" --ignore "**/tests/**" \ --output-dir project_chunks/
Add priority rules:
komodo /path/to/project --max-chunk-size 1000 \ --ignore "*.log" --ignore "**/tests/**" \ --priority "*.py,10" --priority "*.md,5" \ --output-dir prioritized_chunks/
Workflow 3: Semantic Chunking for Python
Use semantic chunking:
komodo src/ --max-chunk-size 200 --semantic-chunks --output-dir semantic_chunks/
Files are split by functions/classes, targeting 200 lines per chunk.
Python API
Basic API Usage
from pykomodo.multi_dirs_chunker import ParallelChunker
chunker = ParallelChunker(equal_chunks=5, output_dir="chunks")
chunker.process_directory("path/to/code")
Advanced API Usage
from pykomodo.enhanced_chunker import EnhancedParallelChunker
chunker = EnhancedParallelChunker(
max_chunk_size=1000,
extract_metadata=True,
remove_redundancy=True,
context_window=4096,
min_relevance_score=0.5,
output_dir="enhanced_chunks"
)
chunker.process_directory("src/")
Front-End
Web Interface
Pykomodo also offers a web interface for easy chunking, you can run it with:
komodo --dashboard