lance-format / lance-format/lance

Publish free-threaded (cp314t) wheels alongside the existing abi3 wheels

Open
#8,500 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
7.1k
Forks
852
Avg merge
3d 18h
Merged PRs (30d)
272

Description

Problem

pylance ships abi3-only wheels, which free-threaded CPython (3.13t/3.14t) can't load, so it can't be installed there.

Proposal

Keep the abi3 wheels as they are and additionally publish a cp314t wheel. Purely additive, nothing changes for regular CPython users.

This looks low-lift: pyo3 0.28 (already in tree) supports free-threaded builds and handles the abi3 flag automatically, so current main already builds a working cp314t wheel with no code changes. A quick spike confirmed it builds, imports with the GIL off, and holds up under a 16-thread mixed scan/search stress test. pyarrow, numpy, and pydantic-core already publish cp314t wheels.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing abi3 wheel publishing workflow and the pyo3 0.28 build configuration; no specific files are named in the issue. Done means an additional cp314t wheel is published while abi3 wheels remain unchanged, and the wheel builds, imports with the GIL off, and passes the described mixed scan/search stress test.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
build-system, release
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
67/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.