Skip to content

Python 3.14.4 builds failing #104

@jadball

Description

@jadball

We have fast_histogram as a dependency of one of our packages (https://github.com/FABLE-3DXRD/ImageD11) which is used as part of https://github.com/jadball/anri

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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions