Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
9fe6b0e
POC: [Python] Testing scikit-build-core as build backend for PyArrow
raulcd Feb 12, 2026
234043f
Add scikit-build-core to requirements-build.txt
raulcd Feb 12, 2026
8c6b44a
Try fixing source test tests on dev PR
raulcd Feb 12, 2026
c391495
Update some more dependencies
raulcd Feb 12, 2026
d2e5d29
Try creating a wrapper backend to just copy licenses before anything …
raulcd Feb 12, 2026
416478a
Remove custom build backend and just use links
raulcd Feb 12, 2026
1f53770
Fix populating UPPERCASE_PYBUILD_TYPE for multi-config generators whe…
raulcd Feb 13, 2026
79b2b63
Add some logging
raulcd Feb 13, 2026
9646fc8
Remove unnecessary logging
raulcd Feb 16, 2026
d8999bb
Fix sdist
raulcd Feb 16, 2026
23ffa93
Add tiny build backend wrapper on top of scikit-build-core to manage …
raulcd Feb 17, 2026
ce6e4c3
Import all scikit_build_core.build hooks to be available like build_w…
raulcd Feb 17, 2026
5c96a75
Try to solve Windows license problems with links
raulcd Feb 17, 2026
b44b5bb
Some fixes on documentation, remove remnant setup.py executions and r…
raulcd Feb 18, 2026
677f4ca
Ooops unsaved files
raulcd Feb 18, 2026
d4b9055
Remove obsolete PYARROW_BUILD_TYPE. Use and document new --config-set…
raulcd Feb 18, 2026
f0ccac0
Remove obsolete PYARROW_CMAKE_OPTIONS and document new --config-setti…
raulcd Feb 18, 2026
1110dbe
Remove PYARROW_BUILD_VERBOSE and PYARROW_PARALLEL, document new usage…
raulcd Feb 18, 2026
75d2f7f
--config-settings or --config-setting depending on pip or build
raulcd Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@ VCPKG="66c0373dc7fca549e5803087b9487edfe3aca0a1" # 2026.01.16 Release
# ci/docker/python-*-windows-*.dockerfile or the vcpkg config.
# This is a workaround for our CI problem that "archery docker build" doesn't
# use pulled built images in dev/tasks/python-wheels/github.windows.yml.
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-02-07
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-02-07
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-02-13
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-02-13

# Use conanio/${CONAN_BASE}:{CONAN_VERSION} for "docker compose run --rm conan".
# See https://github.com/conan-io/conan-docker-tools#readme and
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
shell: bash
run: |
gem install test-unit openssl
pip install "cython>=3.1" setuptools pytest requests setuptools-scm
pip install build "cython>=3.1" pytest requests scikit-build-core setuptools-scm
- name: Run Release Test
shell: bash
run: |
Expand Down
2 changes: 1 addition & 1 deletion ci/conda_env_python.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ numpy>=1.16.6
pytest
pytest-faulthandler
s3fs>=2023.10.0
setuptools>=77
scikit-build-core
setuptools_scm>=8
5 changes: 1 addition & 4 deletions ci/scripts/python_build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,7 @@ echo "=== CCACHE Stats after build ==="
ccache -sv

echo "=== Building Python ==="
set PYARROW_BUILD_TYPE=%CMAKE_BUILD_TYPE%
set PYARROW_BUILD_VERBOSE=1
set PYARROW_BUNDLE_ARROW_CPP=ON
set PYARROW_CMAKE_GENERATOR=%CMAKE_GENERATOR%
set PYARROW_WITH_ACERO=%ARROW_ACERO%
set PYARROW_WITH_AZURE=%ARROW_AZURE%
set PYARROW_WITH_DATASET=%ARROW_DATASET%
Expand All @@ -137,6 +134,6 @@ pushd %SOURCE_DIR%\python
%PYTHON_CMD% -m pip install -r requirements-build.txt || exit /B 1

@REM Build PyArrow
%PYTHON_CMD% -m pip install --no-deps --no-build-isolation -vv . || exit /B 1
%PYTHON_CMD% -m pip install --no-deps --no-build-isolation -vv --config-settings build.verbose=true . || exit /B 1

popd
11 changes: 3 additions & 8 deletions ci/scripts/python_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,8 @@ if [ -n "${CONDA_PREFIX}" ]; then
conda list
fi

export PYARROW_CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja}
export PYARROW_BUILD_TYPE=${CMAKE_BUILD_TYPE:-debug}

export CMAKE_BUILD_PARALLEL_LEVEL=${n_jobs}
export CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja}
export PYARROW_WITH_ACERO=${ARROW_ACERO:-OFF}
export PYARROW_WITH_AZURE=${ARROW_AZURE:-OFF}
export PYARROW_WITH_CUDA=${ARROW_CUDA:-OFF}
Expand All @@ -76,8 +75,6 @@ export PYARROW_WITH_PARQUET_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION:-ON}
export PYARROW_WITH_S3=${ARROW_S3:-OFF}
export PYARROW_WITH_SUBSTRAIT=${ARROW_SUBSTRAIT:-OFF}

export PYARROW_PARALLEL=${n_jobs}

: "${CMAKE_PREFIX_PATH:=${ARROW_HOME}}"
export CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=${ARROW_HOME}/lib:${LD_LIBRARY_PATH}
Expand All @@ -90,11 +87,9 @@ export DYLD_LIBRARY_PATH=${ARROW_HOME}/lib${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_P
rm -rf "${python_build_dir}"
cp -aL "${source_dir}" "${python_build_dir}"
pushd "${python_build_dir}"
# - Cannot call setup.py as it may install in the wrong directory
# on Debian/Ubuntu (ARROW-15243).
# - Cannot use build isolation as we want to use specific dependency versions
# (e.g. Numpy, Pandas) on some CI jobs.
${PYTHON:-python} -m pip install --no-deps --no-build-isolation -vv .
${PYTHON:-python} -m pip install --no-deps --no-build-isolation -vv --config-settings cmake.build-type="${CMAKE_BUILD_TYPE:-Debug}" .
popd

if [ "${BUILD_DOCS_PYTHON}" == "ON" ]; then
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/python_sdist_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ source_dir=${1}/python

pushd "${source_dir}"
export SETUPTOOLS_SCM_PRETEND_VERSION=${PYARROW_VERSION:-}
${PYTHON:-python} setup.py sdist
${PYTHON:-python} -m build --sdist
popd
5 changes: 2 additions & 3 deletions ci/scripts/python_sdist_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ export ARROW_SOURCE_DIR=${arrow_dir}
export ARROW_TEST_DATA=${arrow_dir}/testing/data
export PARQUET_TEST_DATA=${arrow_dir}/cpp/submodules/parquet-testing/data

export PYARROW_CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja}
export PYARROW_BUILD_TYPE=${CMAKE_BUILD_TYPE:-debug}
export CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja}
export PYARROW_WITH_ACERO=${ARROW_ACERO:-ON}
export PYARROW_WITH_AZURE=${ARROW_AZURE:-OFF}
export PYARROW_WITH_S3=${ARROW_S3:-OFF}
Expand Down Expand Up @@ -64,7 +63,7 @@ if [ -n "${ARROW_PYTHON_VENV:-}" ]; then
. "${ARROW_PYTHON_VENV}/bin/activate"
fi

${PYTHON:-python} -m pip install "${sdist}"
${PYTHON:-python} -m pip install --config-settings cmake.build-type="${CMAKE_BUILD_TYPE:-Debug}" "${sdist}"

# shellcheck disable=SC2086
pytest -r s ${PYTEST_ARGS:-} --pyargs pyarrow
11 changes: 6 additions & 5 deletions ci/scripts/python_wheel_macos_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,7 @@ cmake --build . --target install
popd

echo "=== (${PYTHON_VERSION}) Building wheel ==="
export PYARROW_BUILD_TYPE=${CMAKE_BUILD_TYPE}
export PYARROW_BUNDLE_ARROW_CPP=1
export PYARROW_CMAKE_GENERATOR=${CMAKE_GENERATOR}
export PYARROW_BUNDLE_ARROW_CPP=ON
export PYARROW_WITH_ACERO=${ARROW_ACERO}
export PYARROW_WITH_AZURE=${ARROW_AZURE}
export PYARROW_WITH_DATASET=${ARROW_DATASET}
Expand All @@ -159,15 +157,18 @@ export PYARROW_WITH_PARQUET=${ARROW_PARQUET}
export PYARROW_WITH_PARQUET_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION}
export PYARROW_WITH_SUBSTRAIT=${ARROW_SUBSTRAIT}
export PYARROW_WITH_S3=${ARROW_S3}
export PYARROW_CMAKE_OPTIONS="-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} -DARROW_SIMD_LEVEL=${ARROW_SIMD_LEVEL}"
export ARROW_HOME=${build_dir}/install
# PyArrow build configuration
export CMAKE_PREFIX_PATH=${build_dir}/install
# Set PyArrow version explicitly
export SETUPTOOLS_SCM_PRETEND_VERSION=${PYARROW_VERSION}

pushd ${source_dir}/python
python -m build --sdist --wheel . --no-isolation
python -m build --sdist --wheel . --no-isolation \
--config-setting build.verbose=true \
--config-setting cmake.build-type=${CMAKE_BUILD_TYPE:-Debug} \
--config-setting cmake.args="-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}" \
--config-setting cmake.args="-DARROW_SIMD_LEVEL=${ARROW_SIMD_LEVEL}"
popd

echo "=== (${PYTHON_VERSION}) Show dynamic libraries the wheel depend on ==="
Expand Down
9 changes: 4 additions & 5 deletions ci/scripts/python_wheel_windows_build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,7 @@ cmake --build . --config %CMAKE_BUILD_TYPE% --target install || exit /B 1
popd

echo "=== (%PYTHON%) Building wheel ==="
set PYARROW_BUILD_TYPE=%CMAKE_BUILD_TYPE%
set PYARROW_BUILD_VERBOSE=1
set PYARROW_BUNDLE_ARROW_CPP=ON
set PYARROW_CMAKE_GENERATOR=%CMAKE_GENERATOR%
set PYARROW_CMAKE_OPTIONS="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=%CMAKE_INTERPROCEDURAL_OPTIMIZATION%"
set PYARROW_WITH_ACERO=%ARROW_ACERO%
set PYARROW_WITH_AZURE=%ARROW_AZURE%
set PYARROW_WITH_DATASET=%ARROW_DATASET%
Expand All @@ -136,7 +132,10 @@ set CMAKE_PREFIX_PATH=C:\arrow-dist
pushd C:\arrow\python

@REM Build wheel
%PYTHON_CMD% -m build --sdist --wheel . --no-isolation || exit /B 1
%PYTHON_CMD% -m build --sdist --wheel . --no-isolation -vv ^
--config-setting build.verbose=true ^
--config-setting cmake.build-type=%CMAKE_BUILD_TYPE% ^
--config-setting cmake.args="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=%CMAKE_INTERPROCEDURAL_OPTIMIZATION%" || exit /B 1

@REM Repair the wheel with delvewheel
@REM
Expand Down
10 changes: 5 additions & 5 deletions ci/scripts/python_wheel_xlinux_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,7 @@ popd
check_arrow_visibility

echo "=== (${PYTHON_VERSION}) Building wheel ==="
export PYARROW_BUILD_TYPE=${CMAKE_BUILD_TYPE}
export PYARROW_BUNDLE_ARROW_CPP=1
export PYARROW_CMAKE_GENERATOR=${CMAKE_GENERATOR}
export PYARROW_CMAKE_OPTIONS="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}"
export PYARROW_BUNDLE_ARROW_CPP=ON
export PYARROW_WITH_ACERO=${ARROW_ACERO}
export PYARROW_WITH_AZURE=${ARROW_AZURE}
export PYARROW_WITH_DATASET=${ARROW_DATASET}
Expand All @@ -167,7 +164,10 @@ export ARROW_HOME=/tmp/arrow-dist
export CMAKE_PREFIX_PATH=/tmp/arrow-dist

pushd /arrow/python
python -m build --sdist --wheel . --no-isolation
python -m build --sdist --wheel . --no-isolation \
--config-setting build.verbose=true \
--config-setting cmake.build-type=${CMAKE_BUILD_TYPE:-Debug} \
--config-setting cmake.args="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}"

echo "=== Strip symbols from wheel ==="
mkdir -p dist/temp-fix-wheel
Expand Down
2 changes: 1 addition & 1 deletion dev/release/02-source-test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def test_symbolic_links
def test_python_version
source
Dir.chdir("#{@tag_name_no_rc}/python") do
sh("python3", "setup.py", "sdist")
sh("python", "-m", "build", "--sdist")
if on_release_branch?
pyarrow_source_archive = "dist/pyarrow-#{@release_version}.tar.gz"
else
Expand Down
6 changes: 4 additions & 2 deletions dev/release/verify-release-candidate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -132,15 +132,17 @@ popd
@rem Build and import pyarrow
pushd !ARROW_SOURCE!\python

pip install build || exit /B 1
pip install -r requirements-test.txt || exit /B 1

set PYARROW_CMAKE_GENERATOR=%GENERATOR%
set CMAKE_GENERATOR=%GENERATOR%
set PYARROW_WITH_FLIGHT=1
set PYARROW_WITH_PARQUET=1
set PYARROW_WITH_PARQUET_ENCRYPTION=1
set PYARROW_WITH_DATASET=1
set PYARROW_TEST_CYTHON=OFF
python setup.py build_ext --inplace --bundle-arrow-cpp bdist_wheel || exit /B 1
set PYARROW_BUNDLE_ARROW_CPP=ON
python -m build --sdist --wheel . --no-isolation || exit /B 1
pytest pyarrow -v -s --enable-parquet || exit /B 1

popd
Expand Down
2 changes: 1 addition & 1 deletion dev/release/verify-release-candidate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -543,7 +543,7 @@ test_python() {
CMAKE_PREFIX_PATH="${CONDA_BACKUP_CMAKE_PREFIX_PATH}:${CMAKE_PREFIX_PATH}"
fi

export PYARROW_PARALLEL=$NPROC
export CMAKE_BUILD_PARALLEL_LEVEL=$NPROC
export PYARROW_WITH_DATASET=1
export PYARROW_WITH_HDFS=1
export PYARROW_WITH_ORC=1
Expand Down
1 change: 0 additions & 1 deletion dev/tasks/python-wheels/github.osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
CMAKE_BUILD_TYPE: release
CXX: "clang++"
MACOSX_DEPLOYMENT_TARGET: "{{ macos_deployment_target }}"
PYARROW_BUILD_VERBOSE: 1
PYARROW_VERSION: "{{ arrow.no_rc_version }}"
PYTHON_VERSION: "{{ python_version }}"
PYTHON_ABI_TAG: "{{ python_abi_tag }}"
Expand Down
3 changes: 2 additions & 1 deletion docs/source/developers/documentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,9 @@ These two steps are mandatory and must be executed in order.
this step requires that ``pyarrow`` library is installed
in your python environment. One way to accomplish
this is to follow the build instructions at :ref:`python-development`
and then run ``python setup.py install`` in arrow/python
and then run ``pip install --no-build-isolation .`` in arrow/python
(it is best to do this in a dedicated conda/virtual environment).
Add ``-vv`` to the pip command to get output of the build process.

You can still build the documentation without ``pyarrow``
library installed but note that Python part of the documentation
Expand Down
2 changes: 1 addition & 1 deletion docs/source/developers/guide/step_by_step/building.rst
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ Building other Arrow libraries

.. code:: console

$ python setup.py build_ext --inplace
$ pip install --no-build-isolation -vv .

**Recompiling C++**

Expand Down
69 changes: 40 additions & 29 deletions docs/source/developers/python/building.rst
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ Optional build components

There are several optional components that can be enabled or disabled by setting
specific flags to ``ON`` or ``OFF``, respectively. See the list of
:ref:`python-dev-env-variables` below.
:ref:`python-dev-components` below.

You may choose between different kinds of C++ build types:

Expand Down Expand Up @@ -378,7 +378,7 @@ Build PyArrow
If you did build one of the optional components in C++, the equivalent components
will be enabled by default for building pyarrow. This default can be overridden
by setting the corresponding ``PYARROW_WITH_$COMPONENT`` environment variable
to 0 or 1, see :ref:`python-dev-env-variables` below.
to 0 or 1, see :ref:`python-dev-components` below.

To build PyArrow run:

Expand All @@ -391,7 +391,7 @@ To build PyArrow run:
.. code-block::

$ pushd arrow/python
$ python setup.py build_ext --inplace
$ pip install --no-build-isolation -vv .
$ popd

.. tab-item:: Windows
Expand All @@ -400,7 +400,7 @@ To build PyArrow run:
.. code-block::

$ pushd arrow\python
$ python setup.py build_ext --inplace
$ pip install --no-build-isolation -vv .
$ popd

.. note::
Expand Down Expand Up @@ -428,14 +428,14 @@ To build PyArrow run:

.. code-block::

$ set PYARROW_BUNDLE_ARROW_CPP=1
$ python setup.py build_ext --inplace
$ set PYARROW_BUNDLE_ARROW_CPP=ON
$ pip install --no-build-isolation -vv .

Note that bundled Arrow C++ libraries will not be automatically
updated when rebuilding Arrow C++.

To set the number of threads used to compile PyArrow's C++/Cython components,
set the ``PYARROW_PARALLEL`` environment variable.
set the ``CMAKE_BUILD_PARALLEL_LEVEL`` environment variable.

If you build PyArrow but then make changes to the Arrow C++ or PyArrow code,
you can end up with stale build artifacts. This can lead to
Expand All @@ -444,9 +444,8 @@ artifacts before rebuilding. See :ref:`python-dev-env-variables`.

By default, PyArrow will be built in release mode even if Arrow C++ has been
built in debug mode. To create a debug build of PyArrow, run
``export PYARROW_BUILD_TYPE=debug`` prior to running ``python setup.py
build_ext --inplace`` above. A ``relwithdebinfo`` build can be created
similarly.
``pip install --no-build-isolation -vv --config-settings cmake.build-type=Debug .``.
A ``relwithdebinfo`` build can be created similarly.

Self-Contained Wheel
^^^^^^^^^^^^^^^^^^^^
Expand All @@ -457,13 +456,13 @@ libraries). This ensures that all necessary native libraries are bundled inside
the wheel, so users can install it without needing to have Arrow or Parquet
installed separately on their system.

To do this, pass the ``--bundle-arrow-cpp`` option to the build command:
To do this, set the ``PYARROW_BUNDLE_ARROW_CPP`` environment variable before building ``pyarrow``:

.. code-block::

$ pip install wheel # if not installed
$ python setup.py build_ext --build-type=$ARROW_BUILD_TYPE \
--bundle-arrow-cpp bdist_wheel
$ export PYARROW_BUNDLE_ARROW_CPP=ON
$ pip install build wheel # if not installed
$ python -m build --sdist --wheel . --no-isolation

This option is typically only needed for releases or distribution scenarios,
not for local development.
Expand Down Expand Up @@ -542,8 +541,8 @@ described in development section.

.. _python-dev-env-variables:

Relevant components and environment variables
=============================================
Relevant environment variables and build options
================================================

List of relevant environment variables that can be used to build
PyArrow are:
Expand All @@ -555,14 +554,11 @@ PyArrow are:
* - PyArrow environment variable
- Description
- Default value
* - ``PYARROW_BUILD_TYPE``
- Build type for PyArrow (release, debug or relwithdebinfo), sets ``CMAKE_BUILD_TYPE``
- ``release``
* - ``PYARROW_CMAKE_GENERATOR``
- Example: ``'Visual Studio 17 2022 Win64'``
* - ``CMAKE_BUILD_PARALLEL_LEVEL``
- Number of processes used to compile PyArrow’s C++/Cython components
- ``''``
* - ``PYARROW_CMAKE_OPTIONS``
- Extra CMake and Arrow options (ex. ``"-DARROW_SIMD_LEVEL=NONE -DCMAKE_OSX_ARCHITECTURES=x86_64;arm64"``)
* - ``CMAKE_GENERATOR``
- Example: ``'Visual Studio 17 2022 Win64'``
- ``''``
* - ``PYARROW_CXXFLAGS``
- Extra C++ compiler flags
Expand All @@ -576,12 +572,27 @@ PyArrow are:
* - ``PYARROW_BUNDLE_CYTHON_CPP``
- Bundle the C++ files generated by Cython
- ``0`` (``OFF``)
* - ``PYARROW_BUILD_VERBOSE``
- Enable verbose output from Makefile builds
- ``0`` (``OFF``)
* - ``PYARROW_PARALLEL``
- Number of processes used to compile PyArrow’s C++/Cython components
- ``''``

Note that ``pip install`` uses ``--config-settings`` (plural) while
``python -m build`` uses ``--config-setting`` (singular).

To set the build type (e.g. ``Debug``, ``Release``, ``RelWithDebInfo``), pass
``--config-settings cmake.build-type=Debug`` to ``pip install`` or
``--config-setting cmake.build-type=Debug`` to ``python -m build``.

For extra CMake arguments you can use the ``--config-settings cmake.args=``
argument when building PyArrow. For example, to build a version of PyArrow
with ``ARROW_SIMD_LEVEL=NONE``, you can run
``pip install --no-build-isolation -vv --config-settings cmake.args="-DARROW_SIMD_LEVEL=NONE" .``.

To enable verbose output from the build tool, pass
``--config-settings build.verbose=true`` to ``pip install`` or
``--config-setting build.verbose=true`` to ``python -m build``.

.. _python-dev-components:

Relevant components
===================

The components being disabled or enabled when building PyArrow is by default
based on how Arrow C++ is build (i.e. it follows the ``ARROW_$COMPONENT`` flags).
Expand Down
Loading
Loading