feat: Expose checkIntegrity() method to Python bindings #644
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Add
check_integrity()method to Python Index class that validates HNSW graph structure.Changes
check_integrity()method to the Python bindings inpython_bindings/bindings.cppReturn Value
Returns a dictionary with:
valid: Boolean indicating if graph passed all checksconnections_checked: Total number of connections validatedelement_count: Number of elements in the indexmin_inbound: Minimum inbound connections for any nodemax_inbound: Maximum inbound connections for any nodeerrors: List of error messages if any issues foundUse Case
This enables applications using hnswlib to perform health checks on HNSW indexes, detecting corruption or structural issues that could affect search quality.
Testing
The method has been tested with real HNSW indexes in the CIDX (Code Indexer) project.
🤖 Generated with Claude Code