Python 和 NumPy 版本支持策略#

对于 NumPy 和 SciPy 的版本支持,JAX 遵循 Python 科学界的 SPEC 0

对于 Python 的版本支持,我们收到用户的反馈,认为 36 个月的支持窗口可能太短,例如,这是因为 CPython 新版本传播到 Linux 发行版会存在延迟。因此,JAX 支持的 Python 版本比 SPEC-0 推荐的至少延长九个月。

这意味着我们至少支持

  • 每个 JAX 版本发布前 45 个月内的所有 Python 功能版本。例如

    • Python 3.11 发布于 2022 年 10 月,将在新的 JAX 版本中至少支持到 2026 年 7 月

    • Python 3.12 发布于 2023 年 10 月,将在新的 JAX 版本中至少支持到 2027 年 7 月

    • Python 3.13 发布于 2024 年 10 月,将在新的 JAX 版本中至少支持到 2028 年 7 月

  • 每个 JAX 版本发布前 24 个月内的所有 NumPy 功能版本。例如

    • NumPy 1.26 发布于 2023 年 9 月,将在新的 JAX 版本中至少支持到 2025 年 9 月

    • NumPy 2.0 发布于 2024 年 6 月,将在新的 JAX 版本中至少支持到 2026 年 6 月

    • NumPy 2.1 发布于 2024 年 8 月,将在新的 JAX 版本中至少支持到 2026 年 8 月

    • NumPy 2.2 发布于 2024 年 12 月,将在新的 JAX 版本中至少支持到 2026 年 12 月

  • 每个 JAX 版本发布前 24 个月内的所有 SciPy 功能版本。例如

    • Scipy 1.12 发布于 2024 年 1 月,通常将在新的 JAX 版本中至少支持到 2026 年 1 月。然而,我们在 2025 年 9 月停止了对 SciPy 1.12 的支持,因为 NumPy 2.0 的支持需要 SciPy 1.13。

    • Scipy 1.13 发布于 2024 年 4 月,将在新的 JAX 版本中至少支持到 2026 年 4 月

    • Scipy 1.14 发布于 2024 年 6 月,将在新的 JAX 版本中至少支持到 2026 年 6 月

    • Scipy 1.15 发布于 2025 年 1 月,将在新的 JAX 版本中至少支持到 2027 年 1 月

JAX 版本可能会支持比此策略严格要求更旧的 Python、NumPy 和 SciPy 版本,但对旧版本的支持可能在列出日期之后随时终止。