v0.1.3 - Triton Dependency Fix & Public API Update
v0.1.3 - Triton Dependency Fix & Public API Update
🚀 Summary
This release resolves a critical installation issue on non‑Linux platforms caused by Triton being a hard dependency. It also improves the developer experience by exposing TRITON_AVAILABLE at the package root and updating documentation.
🔧 Changes
-
Dependency fix:
- Removed
triton>=3.0.0from core dependencies. - Added optional extra
gpuwith platform marker (Linuxonly). - Result:
pip install flashspecworks everywhere;pip install flashspec[gpu]installs Triton on Linux.
- Removed
-
Graceful degradation:
- Triton kernels wrapped in
try/except. - Stub functions raise clear
ImportErroronly when called. - Added
TRITON_AVAILABLE: boolflag.
- Triton kernels wrapped in
-
Public API:
TRITON_AVAILABLEexported fromflashspec/__init__.py.- Users can check runtime capability directly.
-
Tests:
- Added CPU‑only tests verifying import success, stub behavior, and error messages when Triton is absent.
-
CI workflows:
- Updated
pip installsteps to request[dev,gpu]/[bench,gpu]where Triton kernels are tested. - Ensures GPU tests run only on Linux.
- Updated
-
Docs & metadata:
README.mdquickstart updated with platform‑specific install notes.CHANGELOG.mddocuments the fix under[0.1.3].CITATION.cffversion bumped to0.1.3.
⚠️ Important
- Versions
0.1.0–0.1.2are yanked on PyPI due to broken Triton dependency. - Please upgrade to
0.1.3immediately.
📦 Installation
- Cross‑platform (no GPU):
pip install flashspec
- Linux + CUDA (GPU kernels):
pip install flashspec[gpu]