roboflow / roboflow/roboflow-python

Python 3.14t + roboflow 1.2.11 is broken

Open
#433 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
629
Forks
140
Avg merge
2d 2h
Merged PRs (30d)
5

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

Contributor guide

Open the contributing guide

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.

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.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.