Skip to content

v0.1.3 - Triton Dependency Fix & Public API Update

Choose a tag to compare

@Mattral Mattral released this 14 Jun 04:19

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.0 from core dependencies.
    • Added optional extra gpu with platform marker (Linux only).
    • Result: pip install flashspec works everywhere; pip install flashspec[gpu] installs Triton on Linux.
  • Graceful degradation:

    • Triton kernels wrapped in try/except.
    • Stub functions raise clear ImportError only when called.
    • Added TRITON_AVAILABLE: bool flag.
  • Public API:

    • TRITON_AVAILABLE exported from flashspec/__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 install steps to request [dev,gpu] / [bench,gpu] where Triton kernels are tested.
    • Ensures GPU tests run only on Linux.
  • Docs & metadata:

    • README.md quickstart updated with platform‑specific install notes.
    • CHANGELOG.md documents the fix under [0.1.3].
    • CITATION.cff version bumped to 0.1.3.

⚠️ Important

  • Versions 0.1.0–0.1.2 are yanked on PyPI due to broken Triton dependency.
  • Please upgrade to 0.1.3 immediately.

📦 Installation

  • Cross‑platform (no GPU):
    pip install flashspec
  • Linux + CUDA (GPU kernels):
    pip install flashspec[gpu]