Skip to content

Cannot install Harlequin on Python 3.14 due to pyarrow dependency #852

Closed

Description

@smartinussen

Before Proceeding, please acknowledge:

  • I have consulted the Troubleshooting guide.
  • I have searched Issues and Discussions in this repo.
  • Feature requests should be initiated as Discussions. This is a bug report.

Describe the bug
It seems to be an error with the Pyarrow package included in the install, and it till halt the installation from both UV and PIP

To Reproduce
pip install harlequin

or

uv tool install harlequin

Expected behavior
Packages and wheel downloaded / created / built.

Actual behavior
Pyarrow package breaks installation process.

Contributing
Are you interested in contributing a fix?

  • Yes
  • Maybe
  • No

Additional context
Please provide as much as you can, but don't waste your time if it's definitely not relevant or you don't know.

Error message:
/Users//.cache/uv/builds-v0/.tmpQyKeDg/lib/python3.14/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'pyarrow.tests.interchange' is absent from the
packages configuration.
!!

          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'pyarrow.vendored' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.

          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'pyarrow.vendored' is explicitly added
          to the `packages` configuration field.

          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" on setuptools documentation page:

          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

          If you don't want 'pyarrow.vendored' to be distributed and are
          already explicitly excluding 'pyarrow.vendored' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.

          You can read more about "package data files" on setuptools documentation page:

          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************

  !!
    check.warn(importable)
  error: command 'cmake' failed: No such file or directory

  hint: This usually indicates a problem with the package or the build environment.

help: pyarrow (v21.0.0) was included because harlequin (v2.1.3) depends on pyarrow

This repeats for several Pyarrow packages:

_Warning: Package 'pyarrow.tests' is absent from the `packages`
      configuration.

_Warning: Package 'pyarrow.src.arrow.python.vendored' is absent
      from the `packages` configuration.

_Warning: Package 'pyarrow.src.arrow.python' is absent from the
      `packages` configuration.

....and so on

Using UV, there is an error message at the start:

Resolved 43 packages in 127ms
      Built tree-sitter==0.24.0                                                                                                                                                               × Failed to build `pyarrow==21.0.0`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)

      [stdout]
      running bdist_wheel

and using pip it states this at the end:

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyarrow
Successfully built duckdb
Failed to build pyarrow
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> pyarrow

So, all faults seem to point to the Pyarrow packages.
Trying to 'pip install pyarrow' also returns the same error

Can you tell us more about your system?

  • Shell: zsh
  • Terminal: Ghostty
  • OS of the shell: macOS
  • OS of the terminal (if different from the shell):
  • Default locale / language for your OS/Terminal/Shell: en_US

How did you install Harlequin?

  • pipx
  • conda/mamba
  • pip (global install)
  • pip + venv/virtualenv or pipenv
  • Poetry
  • uv/Rye
  • other: _____________

Activity

  1. tconbeer commented on Oct 9, 2025

    @tconbeer
    Owner

    Thanks for the report.

    Took me a minute to reproduce; the cause is that pyarrow doesn't build wheels for Python 3.14 yet (it's 2 days old); you can fix this by downgrading your python:

    uv tool install --python 3.13 harlequin
  2. changed the title [-]Cannot install Harlequin from UV or PIP due to Pyarrow package errors[/-] [+]Cannot install Harlequin on Python 3.14 due to pyarrow dependency[/+] on Oct 9, 2025
  3. tconbeer commented on Oct 21, 2025

    @tconbeer
    Owner

    Upstream issue: apache/arrow#47438

    Looks like the new PyArrow release is imminent (48 hours or so). Will be interesting to see if that's the last blocker...

  4. smartinussen commented on Oct 21, 2025

    @smartinussen
    Author

    Thanks for replying, I got the same error as before trying your suggestion for the uv command. I saw the comment regarding Python 3.14 afterwards :)

    I could however manage to install with brew instead. Will re-try with uv to see if that works after new PyArrow is released, as uv would be my preferred method.

    My sincere thanks for your effort testing this and responding here.

  5. branchv commented on Oct 25, 2025

    @branchv
    Contributor

    FYI, created tconbeer/textual-fastdatatable#146 which will need to be released first to allow latest pyarrow and then #879 adds support here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingupstream

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions