Python 3.14t + roboflow 1.2.11 is broken

Open
#433 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
python

Research direction

Start with pyproject.toml and reproduce uv sync --extra gpu using the reported Windows, uv 0.9.25, and Python 3.14t setup. Trace the roboflow 1.2.11 dependency path to pillow-avif-plugin 1.5.2 and determine whether the project can install successfully with Python 3.14t; the issue is done when the compatibility outcome is fixed or clearly documented.

Written by the indexing model from the issue text.

Description

 ~#@❯ uv venv --python 3.14t
Using CPython 3.14.0+freethreaded interpreter at: D:\Users\Sergey\AppData\Local\Python\pythoncore-3.14t-64\python3.14t.exe
Creating virtual environment at: .venv
✔ A virtual environment already exists at `.venv`. Do you want to replace it? · yes
Activate with: .venv\Scripts\activate
 ~#@❯ uv sync --extra gpu
Resolved 213 packages in 2ms
  × Failed to build `pillow-avif-plugin==1.5.2`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit code: 1)

      [stderr]
      Traceback (most recent call last):
        File "<string>", line 14, in <module>
          requires = get_requires_for_build({})
        File "D:\Users\Sergey\AppData\Local\uv\cache\builds-v0\.tmpCh7CGi\Lib\site-packages\setuptools\build_meta.py",
      line 331, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "D:\Users\Sergey\AppData\Local\uv\cache\builds-v0\.tmpCh7CGi\Lib\site-packages\setuptools\build_meta.py",
      line 301, in _get_build_requires
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "D:\Users\Sergey\AppData\Local\uv\cache\builds-v0\.tmpCh7CGi\Lib\site-packages\setuptools\build_meta.py",
      line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 57, in <module>
        File "<string>", line 17, in version
      AttributeError: 'Constant' object has no attribute 's'

      hint: This usually indicates a problem with the package or the build environment.
  help: `pillow-avif-plugin` (v1.5.2) was included because `yolofingers` (v0.1.0) depends on `roboflow` (v1.2.11)
        which depends on `pillow-avif-plugin`

pyproject.toml

[project]
name = "project"
version = "0.1.0"
requires-python = ">=3.13"
dependencies = [
    "notebook~=7.0",
    "pycocotools~=2.0",
    "roboflow~=1.0",
    "torch~=2.0",
    "ultralytics~=8.0",
    "torchvision~=0.0",
    "opencv-python-headless~=4.0",
    "plotly~=6.0",
    "scikit-learn~=1.0",
    "rfdetr~=1.0",
    "tensorboard~=2.0",
    "albumentations~=2.0",
    "lightning~=2.0",
    "loguru~=0.7",
    "transformers>=4.57.3",
]

[dependency-groups]
dev = [
    "pandas-stubs~=2.0",
]

[project.optional-dependencies]
gpu = [
    "torch",
    "torchvision",
]
cpu = [
    "torch",
    "torchvision",
]

[tool.uv]
package = false
conflicts = [
    [
        { extra = "cpu" },
        { extra = "gpu" },
    ],
]

[tool.uv.sources]
torch = [
    { index = "torch_cuda", extra = "gpu" },
    { index = "torch_cpu", extra = "cpu" },
]
torchvision = [
    { index = "torch_cuda", extra = "gpu" },
    { index = "torch_cpu", extra = "cpu" },
]

[[tool.uv.index]]
name = "torch_cuda"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

[[tool.uv.index]]
name = "torch_cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

Specs:

Windows 11 25H2
uv 0.9.25
Python 3.14.0t free-threading build
Dominant language
Python
Stars
642
Forks
146
Avg merge
1d 10h
Merged PRs (30d)
13

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from roboflow/roboflow-python

All issues in roboflow/roboflow-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.