Skip to content

[Pixi] Add a standard environment on the newest python (3.14) - #6349

Open
brentDSL wants to merge 4 commits into
sofa-framework:masterfrom
devstreamlabs:pixi-python-newest
Open

brentDSL wants to merge 4 commits into
sofa-framework:masterfrom
devstreamlabs:pixi-python-newest

Conversation

@brentDSL

@brentDSL brentDSL commented Oct 4, 2026

Copy link
Copy Markdown

Builds on #6348 (pybind11 < 3.1); the first two commits here are that PR's and will drop out once it is merged. The change in this PR is the last two commits.

pixi.toml already sketches a python-newest feature (python = "3.14.*") for testing the upper bound of supported Python versions. This enables it and adds a standard-python-newest environment (the standard environment with python-newest in place of python-supported), so the pixi CI can build and test SofaPython3 on 3.14 by passing that preset. Ubuntu 26.04 LTS ships Python 3.14 as its default.

The pixi.lock change only adds the new environment (+806 lines, nothing else moves); it was generated with pixi 0.67.2 so the lock file stays at format v6.

Tested on linux-64 from the committed lock (pixi install --locked -e standard-python-newest, then the standard preset with SofaPython3 and its tests enabled):

Python / pybind11 3.14.7 / 3.0.4
SOFA + SofaPython3 build 1818/1818
Bindings.Sofa.Tests 148/148
Bindings.Modules.Tests 11/11 (needs scipy, which the CI adds from python_extra_dependencies.txt)
Bindings.SofaRuntime.Tests 2/2
Bindings.SofaTypes.Tests 6/6

No SofaPython3 source changes are needed for 3.14. For reference, the released 26.06 SofaPython3 + BeamAdapter also build and run on 3.14 on linux-64, win-64 and osx-64 through conda-forge (conda-forge/sofa-python3-feedstock#4).


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

brent and others added 4 commits October 4, 2026 01:22
pybind11 3.1.0 runs keep_alive's postcall on the try-next-overload
sentinel, so bindings declared with keep_alive<0, N> -- Node.addObject --
segfault when called with arguments that match no overload instead of
raising TypeError. pixi.lock currently resolves 3.1.0 for every
environment. Fixed upstream by pybind/pybind11#6183.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Generated with pixi 0.67.2 to keep the lock file at format v6.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Enable the python-newest feature that pixi.toml already sketched and add a
standard-python-newest environment that uses it, so CI can build and test
SofaPython3 against 3.14 by passing that preset. Ubuntu 26.04 LTS defaults
to python 3.14.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Generated with pixi 0.67.2 to keep the lock file at format v6.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@bakpaul

bakpaul commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Hello ! Thank you for your commit, but this PR collides with the current work on our CI infrastructure. Bumping the version to python 3.14 is indeed wanted, but first the builder of the other os should follow. It will soon be the case and we will be able to merge this at that moment.

@bakpaul bakpaul added pr: status to review To notify reviewers to review this pull-request pr: project-ci-infrastructure labels Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: project-ci-infrastructure pr: status to review To notify reviewers to review this pull-request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants