This is a minor release that fixes a critical import error in Google Colab and improves CI reliability.
Changes
Google Colab Compatibility Fix
- Fixed
ValueError/UnboundLocalErrorwhen importing hypertools in Google Colab - The issue occurred because
jupyter notebook --versionin Colab returns a path instead of a version number - Added robust version parsing with proper error handling for malformed output
Warning Suppression
- Suppressed
SyntaxWarningfrom hdbscan's unescaped LaTeX docstrings in Python 3.12+ - The warning was harmless but cluttered import output
CI Improvements
- Fixed Windows CI failures by using non-interactive matplotlib backend (
MPLBACKEND=Agg) - This avoids Tcl/Tk dependency issues on headless CI environments
New Tests
- Added
tests/test_backend.pywith regression tests for version parsing edge cases - Tests cover standard versions, pre-release versions, and Colab-specific path outputs
Bug Details
The original error when importing in Colab was:
ValueError: invalid literal for int() with base 10: '/usr/local/lib/python3'
UnboundLocalError: cannot access local variable 'working_backend' where it is not associated with a value
Platform Support
- All 136 tests pass across Ubuntu, Windows, and macOS
- Tested on Python 3.9, 3.10, 3.11, and 3.12
- Manually verified working in Google Colab
Credits
- @jeremymanning - Issue report and testing
- Claude Code (claude.ai/code) - Implementation and CI fixes
Fixes #268