Skip to content

Relax pyarrow upper bound (< 19.0.0) — blocks pyarrow 19–24 and Python 3.14 wheels #245

Description

@licensedtroubleshooter

Summary

pathway pins pyarrow >= 10.0.0, < 19.0.0 (still the case on main and in the latest release 0.31.1). This upper bound was introduced on 2025-01-16 and hasn't changed since — ~17 months — while pyarrow has shipped 19 through 24. Could the ceiling be relaxed to allow newer pyarrow (ideally up to the current 24.x)?

Why this matters

The < 19.0.0 cap has a few user-facing costs that have grown over time:

  1. No wheels for newer Python. pyarrow < 19 publishes no wheels for Python 3.14, so pip install pathway on 3.14 falls back to building pyarrow from source and fails. This is what [QUESTION] Pyarrow dependency cant be installed #188 reported — the only resolution offered was to downgrade to Python 3.12.

  2. Hard conflicts with other Arrow-using libraries. The cap excludes the entire pyarrow 19+ line, so pathway cannot share an environment with any package that requires pyarrow >= 19. As more of the data/ML ecosystem moves its floor onto pyarrow 19+, this increasingly forces users to isolate pathway in a separate virtualenv, with the associated maintenance overhead.

  3. Held back from pyarrow fixes/performance. Users on a shared environment are kept two+ major pyarrow versions behind.

Ask

Could the upper bound be relaxed to admit pyarrow 19–24 (e.g. >= 10.0.0, < 25.0.0, or dropping the upper cap)?

If the < 19 cap reflects a real incompatibility — the timing lines up with the pyarrow 19.0.0 release — it would be very helpful to document what breaks. Even a "we can't, because X" answer is useful for downstream planning.

Environment

  • pathway: 0.31.1 (and main)
  • pyarrow latest: 24.0.0 (supports Python >= 3.10)
  • Python: 3.13

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions