Add examples, tests, documentation, and CI/CD pipeline#1
Merged
Conversation
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
…sistency Signed-off-by: craftsangjae <craftsangjae@gmail.com>
Signed-off-by: craftsangjae <craftsangjae@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add examples, tests, documentation, and CI/CD pipeline
Summary
This PR adds comprehensive examples, real-world testing, documentation, and CI/CD infrastructure to the muvera-python project.
🎯 Major Changes
1. Examples & Benchmarks
examples/basic_usage.py: Demonstrates core API with random data and Recall@N evaluationexamples/colbert_nanobeir.py: Full ColBERT + NanoBEIR benchmark comparing native MaxSim vs FDE2. Real-World Testing
tests/test_real_colbert.py: 6 tests using actual ColBERT embeddings from NanoBEIR3. Code Refactoring
np.ndarray (N, D)list[np.ndarray](variable-length, recommended)_compute_sketches()- SimHash projection_compute_projection()- Identity or AMS sketch_aggregate_single/batch()- Partition aggregation4. Documentation
CLAUDE.md: Comprehensive guide for Claude Code5. CI/CD Pipeline
.github/workflows/test.yml: Test on Python 3.9-3.13, run ruff/mypy/pytest.github/workflows/publish.yml: Tag-based PyPI publishing with OIDC6. Comprehensive Testing
test_helper.py: Low-level utilities (24 tests)test_muvera.py: Core class functionality (25 tests)test_reference.py: Validation vs reference impl (15 tests)test_real_colbert.py: Real-world ColBERT data (6 tests) ✨ NEW📊 Test Results
pytest tests/ -q # 70 passed in 2.86s ✓Real ColBERT Test Results:
🐛 Bug Fixes
Critical: ColBERT NanoBEIR qrels loading (
examples/colbert_nanobeir.py:154)Impact: Native Recall@10 improved from 0.52 → 0.72, FDE from 0.32 → 0.50
📝 Files Changed
🚀 Deployment
Ready for PyPI release via tag-based workflow:
git tag v0.1.0 git push origin v0.1.0 # → Automatically tests, builds, and publishes to PyPI✅ Checklist
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com