Skip to content

[Feature-Request] Add support for Python Free-Threading builds. #1698

@mbechard

Description

@mbechard

Hey, I just tried installing this via pip for python3.14t
python3.14t.exe -m pip install depthai
And it fails.
As a first step, just getting the compilation/linking to work with python3.14t.exe/python3.14t.lib/python3.14t.dll would move things forward. Free-threading processes could still import depthai, but the GIL would be re-enabled.
Full support for free-threading could come as a second step.

        Generating Code...
      Traceback (most recent call last):
        File "C:\Python314\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "C:\Python314\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Python314\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 280, in build_wheel
          return _build_backend().build_wheel(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
              wheel_directory, config_settings, metadata_directory
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\build_meta.py", line 441, in build_wheel
          return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\build_meta.py", line 429, in _build
          return self._build_with_temp_dir(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~^
              cmd,
              ^^^^
          ...<3 lines>...
              self._arbitrary_args(config_settings),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\build_meta.py", line 410, in _build_with_temp_dir
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\build_meta.py", line 520, in run_setup
          super().run_setup(setup_script=setup_script)
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 213, in <module>
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\__init__.py", line 117, in setup
          return distutils.core.setup(**attrs)  # type: ignore[return-value]
                 ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 186, in setup
          return run_commands(dist)
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 202, in run_commands
          dist.run_commands()
          ~~~~~~~~~~~~~~~~~^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 1000, in run_commands
          self.run_command(cmd)
          ~~~~~~~~~~~~~~~~^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\dist.py", line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\command\bdist_wheel.py", line 370, in run
          self.run_command("build")
          ~~~~~~~~~~~~~~~~^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 341, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\dist.py", line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run
          self.run_command(cmd_name)
          ~~~~~~~~~~~~~~~~^^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 341, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\dist.py", line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "C:\Users\Malcolm\AppData\Local\Temp\pip-build-env-hl4qkswv\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "<string>", line 93, in run
        File "<string>", line 211, in build_extension
        File "C:\Python314\Lib\subprocess.py", line 419, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '/m']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for depthai
Failed to build depthai

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions