Skip to content

Add Python 3.14 to CI test matrix #7349

Description

@wjones127

Once #7344 lands (Python 3.10 minimum, max tested version 3.13), we should add Python 3.14 to the python.yml test matrix. Bumping the matrix to 3.14 was attempted in #7345 but reverted because two test dependencies don't work on 3.14 yet.

The matrix change itself is small (in .github/workflows/python.yml):

  • python-minor-version: ["10", "13"]["10", "14"]
  • the artifact-upload condition matrix.python-minor-version == '13''14' (this job produces the linux-wheels artifact the compat/compat-sequence jobs consume, so it must track the max version).

The blockers are in the test dependencies installed by run_tests (pip install <wheel>[tests] + pip install torch):

1. tensorflow — no Python 3.14 wheels

tensorflow publishes no cp314 wheels (latest is 2.21.0), so installing the tests extra fails:

ERROR: Could not find a version that satisfies the requirement tensorflow; sys_platform == "linux" and extra == "tests"
ERROR: No matching distribution found for tensorflow

Options: gate the tensorflow test dep to python_version < '3.14', or wait for upstream tensorflow 3.14 support. (tensorflow is already slated for deprecation per the comment in pyproject.toml.)

2. torch — jit.script_method DeprecationWarning becomes an error on 3.14

torch's cp314 wheel installs fine (2.12.1), but our @torch.compile in python/lance/torch/distance.py triggers torch's inductor → torch/utils/mkldnn.py import chain, which uses torch.jit.script_method. On 3.14 torch emits:

DeprecationWarning: `torch.jit.script_method` is not supported in Python 3.14+ and may break. Please switch to `torch.compile` or `torch.export`.

Our filterwarnings = ['error::DeprecationWarning', ...] in pyproject.toml turns this into a collection error for the torch tests (test_distance.py, test_torch_kmeans.py, test_bench_utils.py). There's an existing ignore for the older ...is deprecated... wording, but it doesn't match the new ...is not supported in Python 3.14+... message.

Options: add an ignore filter matching the 3.14 message, or address the underlying script_method usage upstream/in torch's version.

Both need resolving before the 3.14 matrix entry can be green.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ciCI / build workflows

    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