Skip to content

Conversation

@GeorgePearse
Copy link
Owner

Summary

  • Removes the pure-Python UMAP backend and makes squeeze.UMAP a thin wrapper over the Rust implementation.
  • Adds a Rust UMAP implementation (UMAPRust) to the extension module and updates the shipped extension binary.

Notes

  • Features that depended on the Python backend (e.g. aligned/composite UMAP helpers and their tests) are currently skipped/guarded until equivalent Rust graph state/ops are exposed.

Testing

  • python3 -m pytest squeeze/tests -q

Remove the pure-Python UMAP implementation and expose squeeze.UMAP as a thin wrapper over the Rust backend.

- Add Rust UMAP implementation (UMAPRust)
- Add Python wrapper squeeze/umap.py
- Remove legacy squeeze/umap_.py and mark dependent features/tests unsupported for now
@openhands-ai
Copy link

openhands-ai bot commented Dec 26, 2025

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • Performance Benchmarks

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #12 at branch `refactor/rust-only-umap`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants