Recently it seems like our CI builds on Python 3.14.4 are failing (only on Ubuntu, not Windows or OSX seemingly?) due to usage of Py_LIMITED_API, see logs below:
Collecting fast_histogram (from ImageD11)
Downloading fast_histogram-0.14.tar.gz (47 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [67 lines of output]
toml section missing PosixPath('pyproject.toml') does not contain any of the tool sections: ['setuptools_scm', 'vcs-versioning']
toml section missing PosixPath('pyproject.toml') does not contain any of the tool sections: ['setuptools_scm', 'vcs-versioning']
running dist_info
creating /tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info
writing /tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info/dependency_links.txt
writing requirements to /tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info/requires.txt
writing top-level names to /tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info/top_level.txt
writing manifest file '/tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info/SOURCES.txt'
/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/vcs_versioning/overrides.py:609: UserWarning: No GlobalOverrides context is active. Auto-creating one with SETUPTOOLS_SCM prefix for backwards compatibility. Consider using 'with GlobalOverrides.from_env("YOUR_TOOL"):' explicitly.
return get_active_overrides().subprocess_timeout
listing git files failed - pretending there aren't any
reading manifest file '/tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'CHANGES.rst'
adding license file 'LICENSE'
writing manifest file '/tmp/pip-modern-metadata-f8ctqo38/fast_histogram.egg-info/SOURCES.txt'
creating '/tmp/pip-modern-metadata-f8ctqo38/fast_histogram-0.14.dist-info'
Traceback (most recent call last):
File "/usr/share/miniconda/envs/anaconda-client-env/lib/python3.14t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
main()
~~~~^^
File "/usr/share/miniconda/envs/anaconda-client-env/lib/python3.14t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/miniconda/envs/anaconda-client-env/lib/python3.14t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 175, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/build_meta.py", line 380, in prepare_metadata_for_build_wheel
self.run_setup()
~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/build_meta.py", line 317, in run_setup
exec(code, locals())
~~~~^^^^^^^^^^^^^^^^
File "<string>", line 10, in <module>
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/__init__.py", line 117, in setup
return distutils.core.setup(**attrs) # type: ignore[return-value]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/_distutils/core.py", line 186, in setup
return run_commands(dist)
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
dist.run_commands()
~~~~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/_distutils/dist.py", line 1000, in run_commands
self.run_command(cmd)
~~~~~~~~~~~~~~~~^^^^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/dist.py", line 1107, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/_distutils/dist.py", line 1019, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/command/dist_info.py", line 99, in run
bdist_wheel = self.get_finalized_command('bdist_wheel')
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/_distutils/cmd.py", line 318, in get_finalized_command
cmd_obj.ensure_finalized()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/_distutils/cmd.py", line 119, in ensure_finalized
self.finalize_options()
~~~~~~~~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/command/bdist_wheel.py", line 250, in finalize_options
self._validate_py_limited_api()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-p7uizhvm/overlay/lib/python3.14t/site-packages/setuptools/command/bdist_wheel.py", line 285, in _validate_py_limited_api
raise ValueError(
...<4 lines>...
)
ValueError: `py_limited_api='cp39'` not supported. `Py_LIMITED_API` is currently incompatible with `Py_GIL_DISABLED`. See https://github.com/python/cpython/issues/111506.
[end of output]
We have
fast_histogramas a dependency of one of our packages (https://github.com/FABLE-3DXRD/ImageD11) which is used as part of https://github.com/jadball/anriRecently it seems like our CI builds on Python 3.14.4 are failing (only on Ubuntu, not Windows or OSX seemingly?) due to usage of
Py_LIMITED_API, see logs below: