Skip to content

python_abi build 5: add free-threading track_features on t variants - #7

Open
skupr-anaconda wants to merge 11 commits into
mainfrom
add-free-threading-track-features
Open

python_abi build 5: add free-threading track_features on t variants#7
skupr-anaconda wants to merge 11 commits into
mainfrom
add-free-threading-track-features

Conversation

@skupr-anaconda

@skupr-anaconda skupr-anaconda commented Sep 2, 2026

Copy link
Copy Markdown

python_abi - add free-threading track_features on t variants

Destination channel: defaults

Links

Explanation of changes:

  • Bump build number 4 → 6
  • Drop the parent track_features skip on cpython so t tags can carry a feature
  • t python_abi track_features match the interpreter:
  • Mix mutex is unchanged (run_constrained on python … *_{abi_tag})

Bump build number to 5 so t variants carry free-threading
(same feature name as python 3.14t on main).
Drop dummy python/numpy from recipe CBC and ignore the
aggregate python zip group (is_freethreading, is_python_min).
@skupr-anaconda skupr-anaconda changed the title add free-threading track_features on t variants python_abi build 5: add free-threading track_features on t variants Sep 2, 2026
3.13/3.14 t stay free-threading (python 3.14t on main).
3.15+ t use py_freethreading (python-feedstock PR 256).
Bump build 5 -> 6 so 3.15t rebuilds instead of skip-existing.
py<315 or t tagged GIL 3.14 and both names on 3.15t.
Require cpython t and split on python_version (no python zip).
@skupr-anaconda

skupr-anaconda commented Sep 7, 2026

Copy link
Copy Markdown
Author

Solver check (conda 26.1.1, --override-channels).

Channels: this PR pr7/f41e6fc · flit#23 265729d · numpy#163 db890fa · defaults.

Staging python_abi looks right: 5_cp314 / 5_cp315 have no feature; 5_cp314t is free-threading; 5_cp315t is py_freethreading.

What we ran Result
conda create flit-core or numpy (or both) normal Python (5_cp314)
python=3.14 normal Python
python-freethreading plus flit or numpy stays free-threaded
pin GIL / pin t matching ABI
GIL Python + t-only flit unsatisfiable
osx-arm64 flit / numpy same as linux (GIL)

Takeaway: mix is blocked, opt-in works. Bare create flit-core/numpy is GIL here because those t leaves are tagged, not because python_abi alone fixes libmamba (#1042). This PR is the mutex + the right feature name per Python version.

Anaconda CBC has no 3.13t row; free-threading starts at 3.14.
3.13t python_abi must not carry that feature. 3.15t stays
py_freethreading.
Comment on lines -47 to -71

# to help PBP generate a proper build graph
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.13"
- "3.14"
- "3.14"
- "3.15"
- "3.15"
numpy:
- "2.1"
- "2.1"
- "2.1"
- "2.1"
- "2.1"
- "2.1"
- "2.1"
# TODO: numpy 2.6.0 is not released yet;
# upstream says py315 support starts with Python 3.15.0rc1 (~Jul 2026)
# keep 2.4 for now. Recheck when 2.6.0 is released.
- "2.5"
- "2.5"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If these were originally added to help with PBP generation, has something improved on the PBP side such that we can remove them?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was needed a long time ago, but now it's already in a global cbc.yaml. It was a bug on PBP. I don't recall when it was fixes

Comment thread recipe/meta.yaml Outdated
Comment thread recipe/meta.yaml Outdated
Comment thread recipe/meta.yaml Outdated
skupr-anaconda and others added 2 commits September 8, 2026 13:12
Co-authored-by: Ian Fitchet <123584373+ifitchet@users.noreply.github.com>
@skupr-anaconda

Copy link
Copy Markdown
Author

@kilocode-bot review this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants